Merge #16078: test: replace tx hash with txid in rawtransaction test
0784af16ef
remove parameters -addresstype=legacy in rpc_rawtransaction test (LongShao007)a65dafa8f1
replace tx hash with txid in test rawtransaction (LongShao007) Pull request description: The transaction hash is different from txid for witness transactions, so we should use txid instead of hash. ACKs for commit 0784af: Tree-SHA512: 98b699eb5f25c3a603b11eb7072efe9bc69c0c0ecc7f996405de31bc45d92105970e09fd8e4f75b42a46498817f596d36d9b28eae7d24e63a4f2f2abfcee0eab
This commit is contained in:
commit
854ffcae80
1 changed files with 17 additions and 13 deletions
|
@ -42,7 +42,11 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
def set_test_params(self):
|
def set_test_params(self):
|
||||||
self.setup_clean_chain = True
|
self.setup_clean_chain = True
|
||||||
self.num_nodes = 3
|
self.num_nodes = 3
|
||||||
self.extra_args = [["-addresstype=legacy", "-txindex"], ["-addresstype=legacy", "-txindex"], ["-addresstype=legacy", "-txindex"]]
|
self.extra_args = [
|
||||||
|
["-txindex"],
|
||||||
|
["-txindex"],
|
||||||
|
["-txindex"],
|
||||||
|
]
|
||||||
|
|
||||||
def skip_test_if_missing_module(self):
|
def skip_test_if_missing_module(self):
|
||||||
self.skip_if_no_wallet()
|
self.skip_if_no_wallet()
|
||||||
|
@ -361,30 +365,30 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
|
|
||||||
# getrawtransaction tests
|
# getrawtransaction tests
|
||||||
# 1. valid parameters - only supply txid
|
# 1. valid parameters - only supply txid
|
||||||
txHash = rawTx["hash"]
|
txId = rawTx["txid"]
|
||||||
assert_equal(self.nodes[0].getrawtransaction(txHash), rawTxSigned['hex'])
|
assert_equal(self.nodes[0].getrawtransaction(txId), rawTxSigned['hex'])
|
||||||
|
|
||||||
# 2. valid parameters - supply txid and 0 for non-verbose
|
# 2. valid parameters - supply txid and 0 for non-verbose
|
||||||
assert_equal(self.nodes[0].getrawtransaction(txHash, 0), rawTxSigned['hex'])
|
assert_equal(self.nodes[0].getrawtransaction(txId, 0), rawTxSigned['hex'])
|
||||||
|
|
||||||
# 3. valid parameters - supply txid and False for non-verbose
|
# 3. valid parameters - supply txid and False for non-verbose
|
||||||
assert_equal(self.nodes[0].getrawtransaction(txHash, False), rawTxSigned['hex'])
|
assert_equal(self.nodes[0].getrawtransaction(txId, False), rawTxSigned['hex'])
|
||||||
|
|
||||||
# 4. valid parameters - supply txid and 1 for verbose.
|
# 4. valid parameters - supply txid and 1 for verbose.
|
||||||
# We only check the "hex" field of the output so we don't need to update this test every time the output format changes.
|
# We only check the "hex" field of the output so we don't need to update this test every time the output format changes.
|
||||||
assert_equal(self.nodes[0].getrawtransaction(txHash, 1)["hex"], rawTxSigned['hex'])
|
assert_equal(self.nodes[0].getrawtransaction(txId, 1)["hex"], rawTxSigned['hex'])
|
||||||
|
|
||||||
# 5. valid parameters - supply txid and True for non-verbose
|
# 5. valid parameters - supply txid and True for non-verbose
|
||||||
assert_equal(self.nodes[0].getrawtransaction(txHash, True)["hex"], rawTxSigned['hex'])
|
assert_equal(self.nodes[0].getrawtransaction(txId, True)["hex"], rawTxSigned['hex'])
|
||||||
|
|
||||||
# 6. invalid parameters - supply txid and string "Flase"
|
# 6. invalid parameters - supply txid and string "Flase"
|
||||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, "Flase")
|
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txId, "Flase")
|
||||||
|
|
||||||
# 7. invalid parameters - supply txid and empty array
|
# 7. invalid parameters - supply txid and empty array
|
||||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, [])
|
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txId, [])
|
||||||
|
|
||||||
# 8. invalid parameters - supply txid and empty dict
|
# 8. invalid parameters - supply txid and empty dict
|
||||||
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txHash, {})
|
assert_raises_rpc_error(-1, "not a boolean", self.nodes[0].getrawtransaction, txId, {})
|
||||||
|
|
||||||
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 1000}]
|
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 1000}]
|
||||||
outputs = { self.nodes[0].getnewaddress() : 1 }
|
outputs = { self.nodes[0].getnewaddress() : 1 }
|
||||||
|
@ -438,7 +442,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
rawTx = self.nodes[2].createrawtransaction(inputs, outputs)
|
rawTx = self.nodes[2].createrawtransaction(inputs, outputs)
|
||||||
rawTxSigned = self.nodes[2].signrawtransactionwithwallet(rawTx)
|
rawTxSigned = self.nodes[2].signrawtransactionwithwallet(rawTx)
|
||||||
assert_equal(rawTxSigned['complete'], True)
|
assert_equal(rawTxSigned['complete'], True)
|
||||||
# 1000 sat fee, ~200 b transaction, fee rate should land around 5 sat/b = 0.00005000 BTC/kB
|
# 1000 sat fee, ~100 b transaction, fee rate should land around 10 sat/b = 0.00010000 BTC/kB
|
||||||
# Thus, testmempoolaccept should reject
|
# Thus, testmempoolaccept should reject
|
||||||
testres = self.nodes[2].testmempoolaccept([rawTxSigned['hex']], 0.00001000)[0]
|
testres = self.nodes[2].testmempoolaccept([rawTxSigned['hex']], 0.00001000)[0]
|
||||||
assert_equal(testres['allowed'], False)
|
assert_equal(testres['allowed'], False)
|
||||||
|
@ -446,9 +450,9 @@ class RawTransactionsTest(BitcoinTestFramework):
|
||||||
# and sendrawtransaction should throw
|
# and sendrawtransaction should throw
|
||||||
assert_raises_rpc_error(-26, "absurdly-high-fee", self.nodes[2].sendrawtransaction, rawTxSigned['hex'], 0.00001000)
|
assert_raises_rpc_error(-26, "absurdly-high-fee", self.nodes[2].sendrawtransaction, rawTxSigned['hex'], 0.00001000)
|
||||||
# And below calls should both succeed
|
# And below calls should both succeed
|
||||||
testres = self.nodes[2].testmempoolaccept(rawtxs=[rawTxSigned['hex']], maxfeerate='0.00007000')[0]
|
testres = self.nodes[2].testmempoolaccept(rawtxs=[rawTxSigned['hex']], maxfeerate='0.00070000')[0]
|
||||||
assert_equal(testres['allowed'], True)
|
assert_equal(testres['allowed'], True)
|
||||||
self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], maxfeerate='0.00007000')
|
self.nodes[2].sendrawtransaction(hexstring=rawTxSigned['hex'], maxfeerate='0.00070000')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in a new issue