The RBF docs/comments currently mix BIP 125 rule numbers and Bitcoin Core's mempool-replacements.md wording as if they were the same spec.
Bitcoin Core's replacement policy has diverged from BIP 125 over time:
- Rule 1: Removed in Core policy: full RBF default in v28.0;
-mempoolfullrbf removed in v29.0
- Rule 2: Removed in Core policy in v31.0.
- Rule 3: Unchanged.
- Rule 4: Changed in Core policy to use
-incrementalrelayfee
- Rule 5: Changed in Core policy in v31.0.
- Rule 6: Core-only rule; changed in Core policy in v31.0.
This makes several comments ambiguous or factually wrong depending on which policy/version the reader assumes.
Examples
Possible fix
- Follow a specific Bitcoin Core policy version and link to tagged Core docs instead of
master
- Document any behavior that intentionally differs from that pinned Core policy, e.g. stricter BIP 125 checks.
The RBF docs/comments currently mix BIP 125 rule numbers and Bitcoin Core's
mempool-replacements.mdwording as if they were the same spec.Bitcoin Core's replacement policy has diverged from BIP 125 over time:
-mempoolfullrbfremoved in v29.0-incrementalrelayfeeThis makes several comments ambiguous or factually wrong depending on which policy/version the reader assumes.
Examples
src/rbf.rs:81-93:candidate_filterenforces BIP 125 rule 2; was removed from current Core policy.examples/synopsis.rs:99-100: links to movingmasterCore policy and says all rules are followed.examples/synopsis.rs:122-123: attributes removed rule 2 to Bitcoin Core policy.examples/synopsis.rs:133: says "mempool-replacement policy" without naming the policy/version.examples/synopsis.rs:147: says "rules 4 and 6" without naming Core/version.Possible fix
master