mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-19 05:45:05 +01:00
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 ACK1056bbdfcd
glozow: ACK1056bbdfcd
w0xlt: cr ACK1056bbdfcd
Tree-SHA512: 194524193b1f087742c04d3cbe221e2ccf62e1f9303dc6668d62b73bd2dc0c039b7d68b33658dbee7809bd14bb8a5479f8e7928180b18c3180fdfbe3876c3ca1
This commit is contained in:
commit
39d111aee7
@ -15,8 +15,8 @@ other consensus and policy rules, each of the following conditions are met:
|
||||
|
||||
*Rationale*: See [BIP125
|
||||
explanation](https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki#motivation).
|
||||
The Bitcoin Core implementation offers a node setting (`mempoolfullrbf`) to allow transaction
|
||||
replacement without enforcement of the opt-in signaling rule.
|
||||
Use the (`-mempoolfullrbf`) configuration option to allow transaction replacement without enforcement of the
|
||||
opt-in signaling rule.
|
||||
|
||||
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
|
||||
|
@ -87,8 +87,8 @@ New settings
|
||||
------------
|
||||
|
||||
- A new `mempoolfullrbf` option has been added, which enables the mempool to
|
||||
accept transaction replacement without enforcing the opt-in replaceability
|
||||
signal. (#25353)
|
||||
accept transaction replacement without enforcing BIP125 replaceability
|
||||
signaling. (#25353)
|
||||
|
||||
Tools and Utilities
|
||||
-------------------
|
||||
|
@ -702,17 +702,16 @@ class ReplaceByFeeTest(BitcoinTestFramework):
|
||||
assert_raises_rpc_error(-26, "insufficient fee", self.nodes[0].sendrawtransaction, tx.serialize().hex())
|
||||
|
||||
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"])
|
||||
assert self.nodes[0].getmempoolinfo()["fullrbf"]
|
||||
|
||||
# Create an explicitly opt-out transaction
|
||||
optout_tx = self.wallet.send_self_transfer(
|
||||
from_node=self.nodes[0],
|
||||
utxo_to_spend=confirmed_utxo,
|
||||
sequence=SEQUENCE_FINAL,
|
||||
sequence=BIP125_SEQUENCE_NUMBER + 1,
|
||||
fee_rate=Decimal('0.01'),
|
||||
)
|
||||
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.
|
||||
assert optout_tx['txid'] not in self.nodes[0].getrawmempool()
|
||||
assert conflicting_tx['txid'] in self.nodes[0].getrawmempool()
|
||||
|
||||
if __name__ == '__main__':
|
||||
ReplaceByFeeTest().main()
|
||||
|
Loading…
Reference in New Issue
Block a user