Changeset View
Changeset View
Standalone View
Standalone View
test/functional/rpc_txoutproof.py
Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
assert_equal(sorted(self.nodes[0].verifytxoutproof( | assert_equal(sorted(self.nodes[0].verifytxoutproof( | ||||
self.nodes[0].gettxoutproof([txid2, txid1]))), sorted(txlist)) | self.nodes[0].gettxoutproof([txid2, txid1]))), sorted(txlist)) | ||||
# We can always get a proof if we have a -txindex | # We can always get a proof if we have a -txindex | ||||
assert_equal(self.nodes[0].verifytxoutproof( | assert_equal(self.nodes[0].verifytxoutproof( | ||||
self.nodes[1].gettxoutproof([txid_spent])), [txid_spent]) | self.nodes[1].gettxoutproof([txid_spent])), [txid_spent]) | ||||
# We can't get a proof if we specify transactions from different blocks | # We can't get a proof if we specify transactions from different blocks | ||||
assert_raises_rpc_error(-5, "Not all transactions found in specified or retrieved block", | assert_raises_rpc_error(-5, "Not all transactions found in specified or retrieved block", | ||||
self.nodes[0].gettxoutproof, [txid1, txid3]) | self.nodes[0].gettxoutproof, [txid1, txid3]) | ||||
# Test empty list | |||||
assert_raises_rpc_error(-5, "Transaction not yet in block", | |||||
self.nodes[0].gettxoutproof, []) | |||||
# Now we'll try tweaking a proof. | # Now we'll try tweaking a proof. | ||||
proof = self.nodes[1].gettxoutproof([txid1, txid2]) | proof = self.nodes[1].gettxoutproof([txid1, txid2]) | ||||
assert txid1 in self.nodes[0].verifytxoutproof(proof) | assert txid1 in self.nodes[0].verifytxoutproof(proof) | ||||
assert txid2 in self.nodes[1].verifytxoutproof(proof) | assert txid2 in self.nodes[1].verifytxoutproof(proof) | ||||
tweaked_proof = FromHex(CMerkleBlock(), proof) | tweaked_proof = FromHex(CMerkleBlock(), proof) | ||||
Show All 18 Lines |