[Wallet] split the keypool in an internal and external part

This commit is contained in:
Jonas Schnelli
2017-01-10 16:45:30 +01:00
parent a230b05887
commit 02592f4c5e
8 changed files with 180 additions and 76 deletions

View File

@@ -88,7 +88,7 @@ class WalletDumpTest(BitcoinTestFramework):
read_dump(tmpdir + "/node0/wallet.unencrypted.dump", addrs, None)
assert_equal(found_addr, test_addr_count) # all keys must be in the dump
assert_equal(found_addr_chg, 50) # 50 blocks where mined
assert_equal(found_addr_rsv, 90 + 1) # keypool size (TODO: fix off-by-one)
assert_equal(found_addr_rsv, 90*1.2) # 90 keys plus 20% internal keys
#encrypt wallet, restart, unlock and dump
self.nodes[0].encryptwallet('test')
@@ -102,8 +102,8 @@ class WalletDumpTest(BitcoinTestFramework):
found_addr, found_addr_chg, found_addr_rsv, hd_master_addr_enc = \
read_dump(tmpdir + "/node0/wallet.encrypted.dump", addrs, hd_master_addr_unenc)
assert_equal(found_addr, test_addr_count)
assert_equal(found_addr_chg, 90 + 1 + 50) # old reserve keys are marked as change now
assert_equal(found_addr_rsv, 90 + 1) # keypool size (TODO: fix off-by-one)
assert_equal(found_addr_chg, 90*1.2 + 50) # old reserve keys are marked as change now
assert_equal(found_addr_rsv, 90*1.2)
if __name__ == '__main__':
WalletDumpTest().main ()