test: replace ValidWitnessMalleatedTx class with function
Simplify the witness malleation test helper by converting the ValidWitnessMalleatedTx class to a standalone function build_malleated_tx_package() and updating call sites. Co-authored-by: rkrux <rkrux.connect@gmail.com>
This commit is contained in:
1 parent
81675a781f
commit
7cfe790820
3 files changed
+61
-54
No files matched your search
@@ -18,7 +18,6 @@ from test_framework.p2p import (
|
||||
from test_framework.messages import (
|
||||
CAddress,
|
||||
CInv,
|
||||
COIN,
|
||||
MSG_WTX,
|
||||
malleate_tx_to_invalid_witness,
|
||||
msg_inv,
|
||||
@@ -27,7 +26,7 @@ from test_framework.messages import (
|
||||
from test_framework.netutil import (
|
||||
format_addr_port
|
||||
)
|
||||
from test_framework.script_util import ValidWitnessMalleatedTx
|
||||
from test_framework.script_util import build_malleated_tx_package
|
||||
from test_framework.socks5 import (
|
||||
Socks5Configuration,
|
||||
Socks5Server,
|
||||
@@ -400,16 +399,17 @@ class P2PPrivateBroadcast(BitcoinTestFramework):
|
||||
tx_originator.setmocktime(0) # Let the clock tick again (it will go backwards due to this).
|
||||
|
||||
self.log.info("Sending a pair of transactions with the same txid but different valid wtxids via RPC")
|
||||
txgen = ValidWitnessMalleatedTx()
|
||||
funding = wallet.get_utxo()
|
||||
fee_sat = 1000
|
||||
siblings_parent = txgen.build_parent_tx(funding["txid"], amount=funding["value"] * COIN - fee_sat)
|
||||
sibling1, sibling2 = txgen.build_malleated_children(siblings_parent.txid_hex, amount=siblings_parent.vout[0].nValue - fee_sat)
|
||||
parent = wallet.create_self_transfer()["tx"]
|
||||
parent_amount = parent.vout[0].nValue - 10000
|
||||
child_amount = parent_amount - 10000
|
||||
siblings_parent, sibling1, sibling2 = build_malleated_tx_package(
|
||||
parent=parent,
|
||||
rebalance_parent_output_amount=parent_amount,
|
||||
child_amount=child_amount)
|
||||
self.log.info(f" - sibling1: txid={sibling1.txid_hex}, wtxid={sibling1.wtxid_hex}")
|
||||
self.log.info(f" - sibling2: txid={sibling2.txid_hex}, wtxid={sibling2.wtxid_hex}")
|
||||
assert_equal(sibling1.txid_hex, sibling2.txid_hex)
|
||||
assert_not_equal(sibling1.wtxid_hex, sibling2.wtxid_hex)
|
||||
wallet.sign_tx(siblings_parent)
|
||||
assert_equal(len(tx_originator.getrawmempool()), 1)
|
||||
tx_returner.send_without_ping(msg_tx(siblings_parent))
|
||||
self.wait_until(lambda: len(tx_originator.getrawmempool()) > 1)
|
||||
|
||||
Reference in new issue
Block a user