|
|
|
@ -32,6 +32,7 @@ from test_framework.script import (
|
|
|
|
|
from test_framework.test_framework import BitcoinTestFramework
|
|
|
|
|
from test_framework.util import (
|
|
|
|
|
assert_equal,
|
|
|
|
|
assert_greater_than,
|
|
|
|
|
assert_raises_rpc_error,
|
|
|
|
|
)
|
|
|
|
|
from test_framework.wallet import (
|
|
|
|
@ -70,7 +71,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|
|
|
|
self.extra_args = [
|
|
|
|
|
["-txindex"],
|
|
|
|
|
["-txindex"],
|
|
|
|
|
[],
|
|
|
|
|
["-fastprune", "-prune=1"],
|
|
|
|
|
]
|
|
|
|
|
# whitelist all peers to speed up tx relay / mempool sync
|
|
|
|
|
for args in self.extra_args:
|
|
|
|
@ -85,7 +86,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|
|
|
|
self.wallet = MiniWallet(self.nodes[0])
|
|
|
|
|
|
|
|
|
|
self.getrawtransaction_tests()
|
|
|
|
|
self.getrawtransaction_verbosity_tests()
|
|
|
|
|
self.createrawtransaction_tests()
|
|
|
|
|
self.sendrawtransaction_tests()
|
|
|
|
|
self.sendrawtransaction_testmempoolaccept_tests()
|
|
|
|
@ -94,6 +94,8 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|
|
|
|
if self.is_specified_wallet_compiled() and not self.options.descriptors:
|
|
|
|
|
self.import_deterministic_coinbase_privkeys()
|
|
|
|
|
self.raw_multisig_transaction_legacy_tests()
|
|
|
|
|
self.getrawtransaction_verbosity_tests()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getrawtransaction_tests(self):
|
|
|
|
|
tx = self.wallet.send_self_transfer(from_node=self.nodes[0])
|
|
|
|
@ -243,6 +245,13 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|
|
|
|
coin_base = self.nodes[1].getblock(block1)['tx'][0]
|
|
|
|
|
gottx = self.nodes[1].getrawtransaction(txid=coin_base, verbosity=2, blockhash=block1)
|
|
|
|
|
assert 'fee' not in gottx
|
|
|
|
|
# check that verbosity 2 for a mempool tx will fallback to verbosity 1
|
|
|
|
|
# Do this with a pruned chain, as a regression test for https://github.com/bitcoin/bitcoin/pull/29003
|
|
|
|
|
self.generate(self.nodes[2], 400)
|
|
|
|
|
assert_greater_than(self.nodes[2].pruneblockchain(250), 0)
|
|
|
|
|
mempool_tx = self.wallet.send_self_transfer(from_node=self.nodes[2])['txid']
|
|
|
|
|
gottx = self.nodes[2].getrawtransaction(txid=mempool_tx, verbosity=2)
|
|
|
|
|
assert 'fee' not in gottx
|
|
|
|
|
|
|
|
|
|
def createrawtransaction_tests(self):
|
|
|
|
|
self.log.info("Test createrawtransaction")
|
|
|
|
|