diff --git a/hns-address.py b/hns-address.py index 9ca9c08..355c7b2 100644 --- a/hns-address.py +++ b/hns-address.py @@ -21,19 +21,16 @@ functions = { "description": "Generate HNS addresses", "params": { "count": { - "name": "Count", - "type": "number", - "description": "Number of addresses to generate (default 1000)" + "name": "Number of Addresses to generate (default 1000)", + "type": "number" }, "startIndex": { - "name": "Start Index", - "type": "number", - "description": "Start index for the generated addresses (default 0)" + "name": "Start Index of Addresses to generate (default 0)", + "type": "number" }, "xpub": { - "name": "XPUB", - "type": "text", - "description": "Extended public key to use for generating addresses (default account xpub)" + "name": "xPub of the account to generate addresses for (defaults to current account)", + "type": "text" } }, "returns": { @@ -43,6 +40,28 @@ functions = { "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]} +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__": print(generate({ "count": 1000,