Changeset View
Changeset View
Standalone View
Standalone View
test/functional/rpc_rawtransaction.py
Show First 20 Lines • Show All 230 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
# | # | ||||
# RAW TX MULTISIG TESTS # | # RAW TX MULTISIG TESTS # | ||||
# | # | ||||
# 2of2 test | # 2of2 test | ||||
addr1 = self.nodes[2].getnewaddress() | addr1 = self.nodes[2].getnewaddress() | ||||
addr2 = self.nodes[2].getnewaddress() | addr2 = self.nodes[2].getnewaddress() | ||||
addr1Obj = self.nodes[2].validateaddress(addr1) | addr1Obj = self.nodes[2].getaddressinfo(addr1) | ||||
addr2Obj = self.nodes[2].validateaddress(addr2) | addr2Obj = self.nodes[2].getaddressinfo(addr2) | ||||
# Tests for createmultisig and addmultisigaddress | # Tests for createmultisig and addmultisigaddress | ||||
assert_raises_rpc_error(-5, "Invalid public key", | assert_raises_rpc_error(-5, "Invalid public key", | ||||
self.nodes[0].createmultisig, 1, ["01020304"]) | self.nodes[0].createmultisig, 1, ["01020304"]) | ||||
# createmultisig can only take public keys | # createmultisig can only take public keys | ||||
self.nodes[0].createmultisig( | self.nodes[0].createmultisig( | ||||
2, [addr1Obj['pubkey'], addr2Obj['pubkey']]) | 2, [addr1Obj['pubkey'], addr2Obj['pubkey']]) | ||||
# addmultisigaddress can take both pubkeys and addresses so long as they are in the wallet, which is tested here. | # addmultisigaddress can take both pubkeys and addresses so long as they are in the wallet, which is tested here. | ||||
Show All 16 Lines | def run_test(self): | ||||
assert_equal(self.nodes[2].getbalance(), bal + Decimal('1.20000000')) | assert_equal(self.nodes[2].getbalance(), bal + Decimal('1.20000000')) | ||||
# 2of3 test from different nodes | # 2of3 test from different nodes | ||||
bal = self.nodes[2].getbalance() | bal = self.nodes[2].getbalance() | ||||
addr1 = self.nodes[1].getnewaddress() | addr1 = self.nodes[1].getnewaddress() | ||||
addr2 = self.nodes[2].getnewaddress() | addr2 = self.nodes[2].getnewaddress() | ||||
addr3 = self.nodes[2].getnewaddress() | addr3 = self.nodes[2].getnewaddress() | ||||
addr1Obj = self.nodes[1].validateaddress(addr1) | addr1Obj = self.nodes[1].getaddressinfo(addr1) | ||||
addr2Obj = self.nodes[2].validateaddress(addr2) | addr2Obj = self.nodes[2].getaddressinfo(addr2) | ||||
addr3Obj = self.nodes[2].validateaddress(addr3) | addr3Obj = self.nodes[2].getaddressinfo(addr3) | ||||
mSigObj = self.nodes[2].addmultisigaddress( | mSigObj = self.nodes[2].addmultisigaddress( | ||||
2, [addr1Obj['pubkey'], addr2Obj['pubkey'], addr3Obj['pubkey']])['address'] | 2, [addr1Obj['pubkey'], addr2Obj['pubkey'], addr3Obj['pubkey']])['address'] | ||||
txId = self.nodes[0].sendtoaddress(mSigObj, 2.2) | txId = self.nodes[0].sendtoaddress(mSigObj, 2.2) | ||||
decTx = self.nodes[0].gettransaction(txId) | decTx = self.nodes[0].gettransaction(txId) | ||||
rawTx = self.nodes[0].decoderawtransaction(decTx['hex']) | rawTx = self.nodes[0].decoderawtransaction(decTx['hex']) | ||||
self.sync_all() | self.sync_all() | ||||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
rawTxBlock = self.nodes[0].getblock(self.nodes[0].getbestblockhash()) | rawTxBlock = self.nodes[0].getblock(self.nodes[0].getbestblockhash()) | ||||
# 2of2 test for combining transactions | # 2of2 test for combining transactions | ||||
bal = self.nodes[2].getbalance() | bal = self.nodes[2].getbalance() | ||||
addr1 = self.nodes[1].getnewaddress() | addr1 = self.nodes[1].getnewaddress() | ||||
addr2 = self.nodes[2].getnewaddress() | addr2 = self.nodes[2].getnewaddress() | ||||
addr1Obj = self.nodes[1].validateaddress(addr1) | addr1Obj = self.nodes[1].getaddressinfo(addr1) | ||||
addr2Obj = self.nodes[2].validateaddress(addr2) | addr2Obj = self.nodes[2].getaddressinfo(addr2) | ||||
self.nodes[1].addmultisigaddress( | self.nodes[1].addmultisigaddress( | ||||
2, [addr1Obj['pubkey'], addr2Obj['pubkey']])['address'] | 2, [addr1Obj['pubkey'], addr2Obj['pubkey']])['address'] | ||||
mSigObj = self.nodes[2].addmultisigaddress( | mSigObj = self.nodes[2].addmultisigaddress( | ||||
2, [addr1Obj['pubkey'], addr2Obj['pubkey']])['address'] | 2, [addr1Obj['pubkey'], addr2Obj['pubkey']])['address'] | ||||
mSigObjValid = self.nodes[2].validateaddress(mSigObj) | mSigObjValid = self.nodes[2].getaddressinfo(mSigObj) | ||||
txId = self.nodes[0].sendtoaddress(mSigObj, 2.2) | txId = self.nodes[0].sendtoaddress(mSigObj, 2.2) | ||||
decTx = self.nodes[0].gettransaction(txId) | decTx = self.nodes[0].gettransaction(txId) | ||||
rawTx2 = self.nodes[0].decoderawtransaction(decTx['hex']) | rawTx2 = self.nodes[0].decoderawtransaction(decTx['hex']) | ||||
self.sync_all() | self.sync_all() | ||||
self.nodes[0].generate(1) | self.nodes[0].generate(1) | ||||
self.sync_all() | self.sync_all() | ||||
▲ Show 20 Lines • Show All 131 Lines • Show Last 20 Lines |