feat: Add validate address

This commit is contained in:
Nathan Woodburn 2025-01-29 12:38:15 +11:00
parent 4caf148095
commit 67ee2e0ba6
Signed by: nathanwoodburn
GPG Key ID: 203B000478AD0EF1

View File

@ -21,19 +21,16 @@ functions = {
"description": "Generate HNS addresses", "description": "Generate HNS addresses",
"params": { "params": {
"count": { "count": {
"name": "Count", "name": "Number of Addresses to generate (default 1000)",
"type": "number", "type": "number"
"description": "Number of addresses to generate (default 1000)"
}, },
"startIndex": { "startIndex": {
"name": "Start Index", "name": "Start Index of Addresses to generate (default 0)",
"type": "number", "type": "number"
"description": "Start index for the generated addresses (default 0)"
}, },
"xpub": { "xpub": {
"name": "XPUB", "name": "xPub of the account to generate addresses for (defaults to current account)",
"type": "text", "type": "text"
"description": "Extended public key to use for generating addresses (default account xpub)"
} }
}, },
"returns": { "returns": {
@ -43,6 +40,28 @@ functions = {
"type": "list" "type": "list"
} }
} }
},
"validate": {
"name": "Validate HNS Addresses",
"type": "default",
"description": "Validates if an addresses belongs to an xPub",
"params": {
"address": {
"name": "Address to validate",
"type": "text"
},
"xpub": {
"name": "xPub of the account to generate addresses for (defaults to current account)",
"type": "text"
}
},
"returns": {
"result":
{
"name": "Result",
"type": "text"
}
}
} }
} }
@ -95,6 +114,24 @@ def generate(params, authentication):
return {"result": result.stdout.split("\n")[2:-1]} return {"result": result.stdout.split("\n")[2:-1]}
def validate(params, authentication):
# Check if hns-address is installed
if (initialize() != 0):
return {"result": ["Failed to initialize hns-address"]}
xpub = params["xpub"]
address = params["address"]
if (xpub == None):
xpub = account.getxPub(authentication)
if (address == None):
return {"result": "Address is required"}
result = subprocess.run(["node", "find-address.js", "--xpub", xpub, "--address", address, "--end", "10000"], capture_output=True, text=True, cwd=os.path.realpath("hns-address"))
return {"result": result.stdout}
if __name__ == "__main__": if __name__ == "__main__":
print(generate({ print(generate({
"count": 1000, "count": 1000,