Most of this code in the test can be removed:
diff --git a/test/functional/p2p_tx_privacy.py b/test/functional/p2p_tx_privacy.py
index 7944095abc..d7139f5ab7 100755
--- a/test/functional/p2p_tx_privacy.py
+++ b/test/functional/p2p_tx_privacy.py
@@ -17,54 +17,29 @@ from test_framework.p2p import (
p2p_lock,
)
from test_framework.test_framework import BitcoinTestFramework
+from test_framework.wallet import MiniWallet
class P2PTxSpy(P2PInterface):
- def __init__(self, wtxidrelay=True):
- super().__init__(wtxidrelay=wtxidrelay)
-
def on_version(self, message):
# Avoid sending verack in response to version.
# When calling add_p2p_connection, wait_for_verack=False must be set (see
# comment in add_p2p_connection).
- if message.nVersion >= 70016 and self.wtxidrelay:
- self.send_message(msg_wtxidrelay())
+ self.send_message(msg_wtxidrelay())
class TxPrivacyTest(BitcoinTestFramework):
def set_test_params(self):
- self.setup_clean_chain = True
self.num_nodes = 1
def run_test(self):
- self.generate(self.nodes[0], 200)
+ self.wallet = MiniWallet(self.nodes[0])
+ self.wallet.rescan_utxos()
tx_originator = self.nodes[0].add_p2p_connection(P2PInterface())
- spy = self.nodes[0].add_p2p_connection(P2PTxSpy(), send_version=False, wait_for_verack=False)
-
- # Spy sends version message to enable tx relay but doesn't send a verack
- txrelay_version_msg = msg_version()
- txrelay_version_msg.nVersion = P2P_VERSION
- txrelay_version_msg.strSubVer = "😈😈😈"
- txrelay_version_msg.nServices = P2P_SERVICES
- txrelay_version_msg.relay = 1
- spy.send_message(txrelay_version_msg)
+ spy = self.nodes[0].add_p2p_connection(P2PTxSpy(), wait_for_verack=False)
spy.wait_for_verack()
# Create a tx to send
- prevtx = self.nodes[0].getblock(self.nodes[0].getblockhash(5), 2)['tx'][0]
- rawtx = self.nodes[0].createrawtransaction(
- inputs=[{'txid': prevtx['txid'], 'vout': 0}],
- outputs=[{self.nodes[0].get_deterministic_priv_key().address: 50 - 0.00125}],
- )
- sigtx = self.nodes[0].signrawtransactionwithkey(
- hexstring=rawtx,
- privkeys=[self.nodes[0].get_deterministic_priv_key().key],
- prevtxs=[{
- 'txid': prevtx['txid'],
- 'vout': 0,
- 'scriptPubKey': prevtx['vout'][0]['scriptPubKey']['hex'],
- }],
- )['hex']
- tx = tx_from_hex(sigtx)
+ tx = self.wallet.create_self_transfer()["tx"]
# tx_originator sends a tx
tx_originator.send_and_ping(msg_tx(tx))