Changeset View
Changeset View
Standalone View
Standalone View
test/functional/test_framework/wallet_util.py
Show First 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | def get_multisig(node): | ||||
return Multisig(privkeys=[node.dumpprivkey(addr) for addr in addrs], | return Multisig(privkeys=[node.dumpprivkey(addr) for addr in addrs], | ||||
pubkeys=pubkeys, | pubkeys=pubkeys, | ||||
p2sh_script=CScript( | p2sh_script=CScript( | ||||
[OP_HASH160, hash160(script_code), OP_EQUAL]).hex(), | [OP_HASH160, hash160(script_code), OP_EQUAL]).hex(), | ||||
p2sh_addr=script_to_p2sh(script_code), | p2sh_addr=script_to_p2sh(script_code), | ||||
redeem_script=script_code.hex()) | redeem_script=script_code.hex()) | ||||
def labels_value(name="", purpose="receive"): | |||||
"""Generate a getaddressinfo labels array from a name and purpose. | |||||
Often used as the value of a labels kwarg for calling test_address below.""" | |||||
return [{"name": name, "purpose": purpose}] | |||||
def test_address(node, address, **kwargs): | def test_address(node, address, **kwargs): | ||||
"""Get address info for `address` and test whether the returned values are as expected.""" | """Get address info for `address` and test whether the returned values are as expected.""" | ||||
addr_info = node.getaddressinfo(address) | addr_info = node.getaddressinfo(address) | ||||
for key, value in kwargs.items(): | for key, value in kwargs.items(): | ||||
if value is None: | if value is None: | ||||
if key in addr_info.keys(): | if key in addr_info.keys(): | ||||
raise AssertionError( | raise AssertionError( | ||||
"key {} unexpectedly returned in getaddressinfo.".format(key)) | "key {} unexpectedly returned in getaddressinfo.".format(key)) | ||||
elif addr_info[key] != value: | elif addr_info[key] != value: | ||||
raise AssertionError( | raise AssertionError( | ||||
"key {} value {} did not match expected value {}".format( | "key {} value {} did not match expected value {}".format( | ||||
key, addr_info[key], value)) | key, addr_info[key], value)) |