Merge bitcoin/bitcoin#25575: Address comments remaining from #25353

1056bbdfcd Address comments remaining from #25353 (Antoine Riard)

Pull request description:

  This PR should address the remaining comments from #25353.

ACKs for top commit:
  MarcoFalke:
    cr ACK 1056bbdfcd
  glozow:
    ACK 1056bbdfcd
  w0xlt:
    cr ACK 1056bbdfcd

Tree-SHA512: 194524193b1f087742c04d3cbe221e2ccf62e1f9303dc6668d62b73bd2dc0c039b7d68b33658dbee7809bd14bb8a5479f8e7928180b18c3180fdfbe3876c3ca1
This commit is contained in:
glozow 2022-07-12 15:57:17 +01:00
commit 39d111aee7
No known key found for this signature in database
GPG Key ID: BA03F4DBE0C63FB4
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()