mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-01 03:01:09 +02:00
Import public keys in order
Do public key imports in the order that they are specified in the import or in the descriptor range.
This commit is contained in:
@ -777,5 +777,30 @@ class ImportMultiTest(BitcoinTestFramework):
|
||||
assert_equal(result[0]['error']['code'], -8)
|
||||
assert_equal(result[0]['error']['message'], "Keys can only be imported to the keypool when private keys are disabled")
|
||||
|
||||
# Make sure ranged imports import keys in order
|
||||
self.log.info('Key ranges should be imported in order')
|
||||
wrpc = self.nodes[1].get_wallet_rpc("noprivkeys")
|
||||
assert_equal(wrpc.getwalletinfo()["keypoolsize"], 0)
|
||||
assert_equal(wrpc.getwalletinfo()["private_keys_enabled"], False)
|
||||
xpub = "tpubDAXcJ7s7ZwicqjprRaEWdPoHKrCS215qxGYxpusRLLmJuT69ZSicuGdSfyvyKpvUNYBW1s2U3NSrT6vrCYB9e6nZUEvrqnwXPF8ArTCRXMY"
|
||||
addresses = [
|
||||
'bcrt1qtmp74ayg7p24uslctssvjm06q5phz4yrxucgnv', # m/0'/0'/0
|
||||
'bcrt1q8vprchan07gzagd5e6v9wd7azyucksq2xc76k8', # m/0'/0'/1
|
||||
'bcrt1qtuqdtha7zmqgcrr26n2rqxztv5y8rafjp9lulu', # m/0'/0'/2
|
||||
'bcrt1qau64272ymawq26t90md6an0ps99qkrse58m640', # m/0'/0'/3
|
||||
'bcrt1qsg97266hrh6cpmutqen8s4s962aryy77jp0fg0', # m/0'/0'/4
|
||||
]
|
||||
result = wrpc.importmulti(
|
||||
[{
|
||||
'desc': 'wpkh([80002067/0h/0h]' + xpub + '/*)',
|
||||
'keypool': True,
|
||||
'timestamp': 'now',
|
||||
'range' : {'start': 0, 'end': 4}
|
||||
}]
|
||||
)
|
||||
for i in range(0, 5):
|
||||
addr = wrpc.getnewaddress('', 'bech32')
|
||||
assert_equal(addr, addresses[i])
|
||||
|
||||
if __name__ == '__main__':
|
||||
ImportMultiTest().main()
|
||||
|
Reference in New Issue
Block a user