Address comments remaining from #25353

This commit is contained in:
Antoine Riard 2022-07-08 19:36:23 -04:00
parent 194710d8ff
commit 1056bbdfcd
3 changed files with 8 additions and 8 deletions

View file

@ -15,8 +15,8 @@ other consensus and policy rules, each of the following conditions are met:
*Rationale*: See [BIP125 *Rationale*: See [BIP125
explanation](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#motivation). explanation](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#motivation).
The Bitcoin Core implementation offers a node setting (`mempoolfullrbf`) to allow transaction Use the (`-mempoolfullrbf`) configuration option to allow transaction replacement without enforcement of the
replacement without enforcement of the opt-in signaling rule. opt-in signaling rule.
2. The replacement transaction only include an unconfirmed input if that input was included in 2. The replacement transaction only include an unconfirmed input if that input was included in
one of the directly conflicting transactions. An unconfirmed input spends an output from a one of the directly conflicting transactions. An unconfirmed input spends an output from a

View file

@ -87,8 +87,8 @@ New settings
------------ ------------
- A new `mempoolfullrbf` option has been added, which enables the mempool to - A new `mempoolfullrbf` option has been added, which enables the mempool to
accept transaction replacement without enforcing the opt-in replaceability accept transaction replacement without enforcing BIP125 replaceability
signal. (#25353) signaling. (#25353)
Tools and Utilities Tools and Utilities
------------------- -------------------

View file

@ -702,17 +702,16 @@ class ReplaceByFeeTest(BitcoinTestFramework):
assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx.serialize().hex()) assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx.serialize().hex())
def test_fullrbf(self): def test_fullrbf(self):
txid = self.wallet.send_self_transfer(from_node=self.nodes[0])['txid']
self.generate(self.nodes[0], 1)
confirmed_utxo = self.wallet.get_utxo(txid=txid)
confirmed_utxo = self.make_utxo(self.nodes[0], int(2 * COIN))
self.restart_node(0, extra_args=["-mempoolfullrbf=1"]) self.restart_node(0, extra_args=["-mempoolfullrbf=1"])
assert self.nodes[0].getmempoolinfo()["fullrbf"]
# Create an explicitly opt-out transaction # Create an explicitly opt-out transaction
optout_tx = self.wallet.send_self_transfer( optout_tx = self.wallet.send_self_transfer(
from_node=self.nodes[0], from_node=self.nodes[0],
utxo_to_spend=confirmed_utxo, utxo_to_spend=confirmed_utxo,
sequence=SEQUENCE_FINAL, sequence=BIP125_SEQUENCE_NUMBER + 1,
fee_rate=Decimal('0.01'), fee_rate=Decimal('0.01'),
) )
assert_equal(False, self.nodes[0].getmempoolentry(optout_tx['txid'])['bip125-replaceable']) assert_equal(False, self.nodes[0].getmempoolentry(optout_tx['txid'])['bip125-replaceable'])
@ -728,6 +727,7 @@ class ReplaceByFeeTest(BitcoinTestFramework):
# Optout_tx is not anymore in the mempool. # Optout_tx is not anymore in the mempool.
assert optout_tx['txid'] not in self.nodes[0].getrawmempool() assert optout_tx['txid'] not in self.nodes[0].getrawmempool()
assert conflicting_tx['txid'] in self.nodes[0].getrawmempool()
if __name__ == '__main__': if __name__ == '__main__':
ReplaceByFeeTest().main() ReplaceByFeeTest().main()