aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2021-08-26 20:03:27 +0200
committerMarcoFalke <falke.marco@gmail.com>2021-08-30 17:01:46 +0200
commitfa2e9de59f189fe37c3eeb63d79e09983e40a993 (patch)
tree3b62fc816c01e9f21ddec2868dadac4e131c9685 /test
parent7be143a960e2bb9ac81144f55c45731c1bb209c5 (diff)
downloadbitcoin-fa2e9de59f189fe37c3eeb63d79e09983e40a993.tar.xz
test: Check that non-signaling BIP125 tx can be replaced via parent
Diffstat (limited to 'test')
-rwxr-xr-xtest/functional/feature_rbf.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/functional/feature_rbf.py b/test/functional/feature_rbf.py
index 694cca15fd..cb7556feb4 100755
--- a/test/functional/feature_rbf.py
+++ b/test/functional/feature_rbf.py
@@ -618,6 +618,17 @@ class ReplaceByFeeTest(BitcoinTestFramework):
assert_equal(True, self.nodes[0].getmempoolentry(optin_parent_tx['txid'])['bip125-replaceable'])
assert_raises_rpc_error(-26, 'txn-mempool-conflict', self.nodes[0].sendrawtransaction, replacement_child_tx["hex"], 0)
+ self.log.info('Check that the child tx can still be replaced (via a tx that also replaces the parent)')
+ replacement_parent_tx = self.wallet.send_self_transfer(
+ from_node=self.nodes[0],
+ utxo_to_spend=confirmed_utxo,
+ sequence=0xffffffff,
+ fee_rate=Decimal('0.03'),
+ )
+ # Check that child is removed and update wallet utxo state
+ assert_raises_rpc_error(-5, 'Transaction not in mempool', self.nodes[0].getmempoolentry, optout_child_tx['txid'])
+ self.wallet.get_utxo(txid=optout_child_tx['txid'])
+
def test_replacement_relay_fee(self):
tx = self.wallet.send_self_transfer(from_node=self.nodes[0])['tx']