test: add missing bech32m / BIP86 test-cases to wallet_descriptor.py

This commit is contained in:
Sebastian Falbesoner 2022-11-08 18:43:39 +01:00
parent 50422b770a
commit 887d85e43d

View File

@ -62,6 +62,11 @@ class WalletDescriptorTest(BitcoinTestFramework):
assert addr_info['desc'].startswith('wpkh(') assert addr_info['desc'].startswith('wpkh(')
assert_equal(addr_info['hdkeypath'], 'm/84\'/1\'/0\'/0/0') assert_equal(addr_info['hdkeypath'], 'm/84\'/1\'/0\'/0/0')
addr = self.nodes[0].getnewaddress("", "bech32m")
addr_info = self.nodes[0].getaddressinfo(addr)
assert addr_info['desc'].startswith('tr(')
assert_equal(addr_info['hdkeypath'], 'm/86\'/1\'/0\'/0/0')
# Check that getrawchangeaddress works # Check that getrawchangeaddress works
addr = self.nodes[0].getrawchangeaddress("legacy") addr = self.nodes[0].getrawchangeaddress("legacy")
addr_info = self.nodes[0].getaddressinfo(addr) addr_info = self.nodes[0].getaddressinfo(addr)
@ -78,6 +83,11 @@ class WalletDescriptorTest(BitcoinTestFramework):
assert addr_info['desc'].startswith('wpkh(') assert addr_info['desc'].startswith('wpkh(')
assert_equal(addr_info['hdkeypath'], 'm/84\'/1\'/0\'/1/0') assert_equal(addr_info['hdkeypath'], 'm/84\'/1\'/0\'/1/0')
addr = self.nodes[0].getrawchangeaddress("bech32m")
addr_info = self.nodes[0].getaddressinfo(addr)
assert addr_info['desc'].startswith('tr(')
assert_equal(addr_info['hdkeypath'], 'm/86\'/1\'/0\'/1/0')
# Make a wallet to receive coins at # Make a wallet to receive coins at
self.nodes[0].createwallet(wallet_name="desc2", descriptors=True) self.nodes[0].createwallet(wallet_name="desc2", descriptors=True)
recv_wrpc = self.nodes[0].get_wallet_rpc("desc2") recv_wrpc = self.nodes[0].get_wallet_rpc("desc2")
@ -161,9 +171,11 @@ class WalletDescriptorTest(BitcoinTestFramework):
addr_types = [('legacy', False, 'pkh(', '44\'/1\'/0\'', -13), addr_types = [('legacy', False, 'pkh(', '44\'/1\'/0\'', -13),
('p2sh-segwit', False, 'sh(wpkh(', '49\'/1\'/0\'', -14), ('p2sh-segwit', False, 'sh(wpkh(', '49\'/1\'/0\'', -14),
('bech32', False, 'wpkh(', '84\'/1\'/0\'', -13), ('bech32', False, 'wpkh(', '84\'/1\'/0\'', -13),
('bech32m', False, 'tr(', '86\'/1\'/0\'', -13),
('legacy', True, 'pkh(', '44\'/1\'/0\'', -13), ('legacy', True, 'pkh(', '44\'/1\'/0\'', -13),
('p2sh-segwit', True, 'sh(wpkh(', '49\'/1\'/0\'', -14), ('p2sh-segwit', True, 'sh(wpkh(', '49\'/1\'/0\'', -14),
('bech32', True, 'wpkh(', '84\'/1\'/0\'', -13)] ('bech32', True, 'wpkh(', '84\'/1\'/0\'', -13),
('bech32m', True, 'tr(', '86\'/1\'/0\'', -13)]
for addr_type, internal, desc_prefix, deriv_path, int_idx in addr_types: for addr_type, internal, desc_prefix, deriv_path, int_idx in addr_types:
int_str = 'internal' if internal else 'external' int_str = 'internal' if internal else 'external'