diff --git a/test/functional/p2p_leak_tx.py b/test/functional/p2p_leak_tx.py --- a/test/functional/p2p_leak_tx.py +++ b/test/functional/p2p_leak_tx.py @@ -8,6 +8,7 @@ from test_framework.p2p import P2PDataStore from test_framework.test_framework import BitcoinTestFramework from test_framework.util import assert_equal +from test_framework.wallet import MiniWallet class P2PNode(P2PDataStore): @@ -19,13 +20,14 @@ def set_test_params(self): self.num_nodes = 1 - def skip_test_if_missing_module(self): - self.skip_if_no_wallet() - def run_test(self): # The block and tx generating node gen_node = self.nodes[0] - gen_node.generate(1) + miniwallet = MiniWallet(gen_node) + # Add enough mature utxos to the wallet, so that all txs spend + # confirmed coins + miniwallet.generate(1) + gen_node.generate(100) # An "attacking" inbound peer inbound_peer = self.nodes[0].add_p2p_connection(P2PNode()) @@ -34,7 +36,7 @@ self.log.info("Running test up to {} times.".format(MAX_REPEATS)) for i in range(MAX_REPEATS): self.log.info('Run repeat {}'.format(i + 1)) - txid = gen_node.sendtoaddress(gen_node.getnewaddress(), 10000) + txid = miniwallet.send_self_transfer(from_node=gen_node)['txid'] want_tx = msg_getdata() want_tx.inv.append(CInv(t=MSG_TX, h=int(txid, 16)))