Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet_dump.py
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | class WalletDumpTest(BitcoinTestFramework): | ||||
def run_test(self): | def run_test(self): | ||||
tmpdir = self.options.tmpdir | tmpdir = self.options.tmpdir | ||||
# generate 20 addresses to compare against the dump | # generate 20 addresses to compare against the dump | ||||
test_addr_count = 20 | test_addr_count = 20 | ||||
addrs = [] | addrs = [] | ||||
for i in range(0, test_addr_count): | for i in range(0, test_addr_count): | ||||
addr = self.nodes[0].getnewaddress() | addr = self.nodes[0].getnewaddress() | ||||
vaddr = self.nodes[0].validateaddress( | vaddr = self.nodes[0].getaddressinfo( | ||||
addr) # required to get hd keypath | addr) # required to get hd keypath | ||||
addrs.append(vaddr) | addrs.append(vaddr) | ||||
# Should be a no-op: | # Should be a no-op: | ||||
self.nodes[0].keypoolrefill() | self.nodes[0].keypoolrefill() | ||||
# Test scripts dump by adding a 1-of-1 multisig address | # Test scripts dump by adding a 1-of-1 multisig address | ||||
multisig_addr = self.nodes[0].addmultisigaddress( | multisig_addr = self.nodes[0].addmultisigaddress( | ||||
1, [addrs[0]["address"]])["address"] | 1, [addrs[0]["address"]])["address"] | ||||
Show All 37 Lines | def run_test(self): | ||||
assert_raises_rpc_error(-8, "already exists", | assert_raises_rpc_error(-8, "already exists", | ||||
self.nodes[0].dumpwallet, tmpdir + "/node0/wallet.unencrypted.dump") | self.nodes[0].dumpwallet, tmpdir + "/node0/wallet.unencrypted.dump") | ||||
# Restart node with new wallet, and test importwallet | # Restart node with new wallet, and test importwallet | ||||
self.stop_node(0) | self.stop_node(0) | ||||
self.start_node(0, ['-wallet=w2']) | self.start_node(0, ['-wallet=w2']) | ||||
# Make sure the address is not IsMine before import | # Make sure the address is not IsMine before import | ||||
result = self.nodes[0].validateaddress(multisig_addr) | result = self.nodes[0].getaddressinfo(multisig_addr) | ||||
assert(result['ismine'] == False) | assert(result['ismine'] == False) | ||||
self.nodes[0].importwallet(os.path.abspath( | self.nodes[0].importwallet(os.path.abspath( | ||||
tmpdir + "/node0/wallet.unencrypted.dump")) | tmpdir + "/node0/wallet.unencrypted.dump")) | ||||
# Now check IsMine is true | # Now check IsMine is true | ||||
result = self.nodes[0].validateaddress(multisig_addr) | result = self.nodes[0].getaddressinfo(multisig_addr) | ||||
assert(result['ismine'] == True) | assert(result['ismine'] == True) | ||||
if __name__ == '__main__': | if __name__ == '__main__': | ||||
WalletDumpTest().main() | WalletDumpTest().main() |