Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet_txn_clone.py
Show First 20 Lines • Show All 57 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
node1_address = self.nodes[1].getnewaddress() | node1_address = self.nodes[1].getnewaddress() | ||||
# Send tx1, and another transaction tx2 that won't be cloned | # Send tx1, and another transaction tx2 that won't be cloned | ||||
txid1 = self.nodes[0].sendtoaddress(node1_address, 40) | txid1 = self.nodes[0].sendtoaddress(node1_address, 40) | ||||
txid2 = self.nodes[0].sendtoaddress(node1_address, 20) | txid2 = self.nodes[0].sendtoaddress(node1_address, 20) | ||||
# Construct a clone of tx1, to be malleated | # Construct a clone of tx1, to be malleated | ||||
rawtx1 = self.nodes[0].getrawtransaction(txid1, 1) | rawtx1 = self.nodes[0].getrawtransaction(txid1, 1) | ||||
clone_inputs = [{"txid": rawtx1["vin"][0] | clone_inputs = [{"txid": rawtx1["vin"][0]["txid"], | ||||
["txid"], "vout":rawtx1["vin"][0]["vout"]}] | "vout": rawtx1["vin"][0]["vout"], | ||||
"sequence": rawtx1["vin"][0]["sequence"]}] | |||||
clone_outputs = {rawtx1["vout"][0]["scriptPubKey"]["addresses"][0]: rawtx1["vout"][0]["value"], | clone_outputs = {rawtx1["vout"][0]["scriptPubKey"]["addresses"][0]: rawtx1["vout"][0]["value"], | ||||
rawtx1["vout"][1]["scriptPubKey"]["addresses"][0]: rawtx1["vout"][1]["value"]} | rawtx1["vout"][1]["scriptPubKey"]["addresses"][0]: rawtx1["vout"][1]["value"]} | ||||
clone_locktime = rawtx1["locktime"] | clone_locktime = rawtx1["locktime"] | ||||
clone_raw = self.nodes[0].createrawtransaction( | clone_raw = self.nodes[0].createrawtransaction( | ||||
clone_inputs, clone_outputs, clone_locktime) | clone_inputs, clone_outputs, clone_locktime) | ||||
# createrawtransaction randomizes the order of its outputs, so swap them if necessary. | # createrawtransaction randomizes the order of its outputs, so swap them if necessary. | ||||
# output 0 is at version+#inputs+input+sigstub+sequence+#outputs | # output 0 is at version+#inputs+input+sigstub+sequence+#outputs | ||||
▲ Show 20 Lines • Show All 76 Lines • Show Last 20 Lines |