Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet_importprunedfunds.py
Show All 24 Lines | def run_test(self): | ||||
# pubkey | # pubkey | ||||
address2 = self.nodes[0].getnewaddress() | address2 = self.nodes[0].getnewaddress() | ||||
# privkey | # privkey | ||||
address3 = self.nodes[0].getnewaddress() | address3 = self.nodes[0].getnewaddress() | ||||
# Using privkey | # Using privkey | ||||
address3_privkey = self.nodes[0].dumpprivkey(address3) | address3_privkey = self.nodes[0].dumpprivkey(address3) | ||||
# Check only one address | # Check only one address | ||||
address_info = self.nodes[0].validateaddress(address1) | address_info = self.nodes[0].getaddressinfo(address1) | ||||
assert_equal(address_info['ismine'], True) | assert_equal(address_info['ismine'], True) | ||||
self.sync_all() | self.sync_all() | ||||
# Node 1 sync test | # Node 1 sync test | ||||
assert_equal(self.nodes[1].getblockcount(), 101) | assert_equal(self.nodes[1].getblockcount(), 101) | ||||
# Address Test - before import | # Address Test - before import | ||||
address_info = self.nodes[1].validateaddress(address1) | address_info = self.nodes[1].getaddressinfo(address1) | ||||
assert_equal(address_info['iswatchonly'], False) | assert_equal(address_info['iswatchonly'], False) | ||||
assert_equal(address_info['ismine'], False) | assert_equal(address_info['ismine'], False) | ||||
address_info = self.nodes[1].validateaddress(address2) | address_info = self.nodes[1].getaddressinfo(address2) | ||||
assert_equal(address_info['iswatchonly'], False) | assert_equal(address_info['iswatchonly'], False) | ||||
assert_equal(address_info['ismine'], False) | assert_equal(address_info['ismine'], False) | ||||
address_info = self.nodes[1].validateaddress(address3) | address_info = self.nodes[1].getaddressinfo(address3) | ||||
assert_equal(address_info['iswatchonly'], False) | assert_equal(address_info['iswatchonly'], False) | ||||
assert_equal(address_info['ismine'], False) | assert_equal(address_info['ismine'], False) | ||||
# Send funds to self | # Send funds to self | ||||
txnid1 = self.nodes[0].sendtoaddress(address1, 0.1) | txnid1 = self.nodes[0].sendtoaddress(address1, 0.1) | ||||
self.nodes[0].generate(1) | self.nodes[0].generate(1) | ||||
rawtxn1 = self.nodes[0].gettransaction(txnid1)['hex'] | rawtxn1 = self.nodes[0].gettransaction(txnid1)['hex'] | ||||
proof1 = self.nodes[0].gettxoutproof([txnid1]) | proof1 = self.nodes[0].gettxoutproof([txnid1]) | ||||
Show All 27 Lines | def run_test(self): | ||||
self.nodes[1].importprivkey(address3_privkey, "add3", False) | self.nodes[1].importprivkey(address3_privkey, "add3", False) | ||||
self.nodes[1].importprunedfunds(rawtxn3, proof3) | self.nodes[1].importprunedfunds(rawtxn3, proof3) | ||||
balance3 = self.nodes[1].getbalance("add3", 0, False) | balance3 = self.nodes[1].getbalance("add3", 0, False) | ||||
assert_equal(balance3, Decimal('0.025')) | assert_equal(balance3, Decimal('0.025')) | ||||
balance3 = self.nodes[1].getbalance("*", 0, True) | balance3 = self.nodes[1].getbalance("*", 0, True) | ||||
assert_equal(balance3, Decimal('0.075')) | assert_equal(balance3, Decimal('0.075')) | ||||
# Addresses Test - after import | # Addresses Test - after import | ||||
address_info = self.nodes[1].validateaddress(address1) | address_info = self.nodes[1].getaddressinfo(address1) | ||||
assert_equal(address_info['iswatchonly'], False) | assert_equal(address_info['iswatchonly'], False) | ||||
assert_equal(address_info['ismine'], False) | assert_equal(address_info['ismine'], False) | ||||
address_info = self.nodes[1].validateaddress(address2) | address_info = self.nodes[1].getaddressinfo(address2) | ||||
assert_equal(address_info['iswatchonly'], True) | assert_equal(address_info['iswatchonly'], True) | ||||
assert_equal(address_info['ismine'], False) | assert_equal(address_info['ismine'], False) | ||||
address_info = self.nodes[1].validateaddress(address3) | address_info = self.nodes[1].getaddressinfo(address3) | ||||
assert_equal(address_info['iswatchonly'], False) | assert_equal(address_info['iswatchonly'], False) | ||||
assert_equal(address_info['ismine'], True) | assert_equal(address_info['ismine'], True) | ||||
# Remove transactions | # Remove transactions | ||||
assert_raises_rpc_error( | assert_raises_rpc_error( | ||||
-8, "Transaction does not exist in wallet.", self.nodes[1].removeprunedfunds, txnid1) | -8, "Transaction does not exist in wallet.", self.nodes[1].removeprunedfunds, txnid1) | ||||
balance1 = self.nodes[1].getbalance("*", 0, True) | balance1 = self.nodes[1].getbalance("*", 0, True) | ||||
Show All 13 Lines |