mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-09 21:47:34 +01:00
94ed4fbf8eAdd release note for size 2 package rbf (Greg Sanders)afd52d8e63doc: update package RBF comment (Greg Sanders)6e3c4394cfmempool: Improve logging of replaced transactions (Greg Sanders)d3466e4cc5CheckPackageMempoolAcceptResult: Check package rbf invariants (Greg Sanders)316d7b63c9Fuzz: pass mempool to CheckPackageMempoolAcceptResult (Greg Sanders)4d15bcf448[test] package rbf (glozow)dc21f61c72[policy] package rbf (Suhas Daftuar)5da3967815PackageV3Checks: Relax assumptions (Greg Sanders) Pull request description: Allows any 2 transaction package with no in-mempool ancestors to do package RBF when directly conflicting with other mempool clusters of size two or less. Proposed validation steps: 1) If the transaction package is of size 1, legacy rbf rules apply. 2) Otherwise the transaction package consists of a (parent, child) pair with no other in-mempool ancestors (or descendants, obviously), so it is also going to create a cluster of size 2. If larger, fail. 3) The package rbf may not evict more than 100 transactions from the mempool(bip125 rule 5) 4) The package is a single chunk 5) Every directly conflicted mempool transaction is connected to at most 1 other in-mempool transaction (ie the cluster size of the conflict is at most 2). 6) Diagram check: We ensure that the replacement is strictly superior, improving the mempool 7) The total fee of the package, minus the total fee of what is being evicted, is at least the minrelayfee * size of the package (equivalent to bip125 rule 3 and 4) Post-cluster mempool this will likely be expanded to general package rbf, but this is what we can safely support today. ACKs for top commit: achow101: ACK94ed4fbf8eglozow: reACK94ed4fbf8evia range-diff ismaelsadeeq: re-ACK94ed4fbf8etheStack: Code-review ACK94ed4fbf8emurchandamus: utACK94ed4fbf8eTree-SHA512: 9bd383e695964f362f147482bbf73b1e77c4d792bda2e91d7f30d74b3540a09146a5528baf86854a113005581e8c75f04737302517b7d5124296bd7a151e3992
Transaction Relay Policy
Policy (Mempool or Transaction Relay Policy) is the node's set of validation rules, in addition
to consensus, enforced for unconfirmed transactions before submitting them to the mempool. These
rules are local to the node and configurable, see "Node relay options" when running -help.
Policy may include restrictions on the transaction itself, the transaction
in relation to the current chain tip, and the transaction in relation to the node's mempool
contents. Policy is not applied to transactions in blocks.
This documentation is not an exhaustive list of all policy rules.