aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/policy/packages.md25
-rw-r--r--doc/release-28984.md6
2 files changed, 28 insertions, 3 deletions
diff --git a/doc/policy/packages.md b/doc/policy/packages.md
index 7e983221c5..a220bdd17f 100644
--- a/doc/policy/packages.md
+++ b/doc/policy/packages.md
@@ -36,10 +36,29 @@ The following rules are enforced for all packages:
* Packages cannot have conflicting transactions, i.e. no two transactions in a package can spend
the same inputs. Packages cannot have duplicate transactions. (#20833)
-* No transaction in a package can conflict with a mempool transaction. Replace By Fee is
- currently disabled for packages. (#20833)
+* Only limited package replacements are currently considered. (#28984)
- - Package RBF may be enabled in the future.
+ - All direct conflicts must signal replacement (or have `-mempoolfullrbf=1` set).
+
+ - Packages are 1-parent-1-child, with no in-mempool ancestors of the package.
+
+ - All conflicting clusters(connected components of mempool transactions) must be clusters of up to size 2.
+
+ - No more than MAX_REPLACEMENT_CANDIDATES transactions can be replaced, analogous to
+ regular [replacement rule](./mempool-replacements.md) 5).
+
+ - Replacements must pay more total total fees at the incremental relay fee (analogous to
+ regular [replacement rules](./mempool-replacements.md) 3 and 4).
+
+ - Parent feerate must be lower than package feerate.
+
+ - Must improve [feerate diagram](https://delvingbitcoin.org/t/mempool-incentive-compatibility/553). (#29242)
+
+ - *Rationale*: Basic support for package RBF can be used by wallets
+ by making chains of no longer than two, then directly conflicting
+ those chains when needed. Combined with V3 transactions this can
+ result in more robust fee bumping. More general package RBF may be
+ enabled in the future.
* When packages are evaluated against ancestor/descendant limits, the union of all transactions'
descendants and ancestors is considered. (#21800)
diff --git a/doc/release-28984.md b/doc/release-28984.md
new file mode 100644
index 0000000000..3da64f6578
--- /dev/null
+++ b/doc/release-28984.md
@@ -0,0 +1,6 @@
+P2P and network changes
+-----------------------
+
+- Limited package RBF is now enabled, where the proposed conflicting package would result in
+ a connected component, aka cluster, of size 2 in the mempool. All clusters being conflicted
+ against must be of size 2 or lower.