You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
32748da whitespace fixups after move and scripted-diff (glozow)
fa47622 scripted-diff: rename variables in policy/rbf (glozow)
ac761f0 MOVEONLY: fee checks (Rules 3 and 4) to policy/rbf (glozow)
9c2f9f8 MOVEONLY: check that fees > direct conflicts to policy/rbf (glozow)
3f033f0 MOVEONLY: check for disjoint conflicts and ancestors to policy/rbf (glozow)
7b60c02 MOVEONLY: BIP125 Rule 2 to policy/rbf (glozow)
f8ad2a5 Make GetEntriesForConflicts return std::optional (glozow)
Pull request description:
This PR does not change behavior. It extracts the BIP125 logic into helper functions (and puts them in the policy/rbf* files). This enables three things - I think each one individually is pretty good:
- Implementation of package RBF (see #22290). I want it to be as close to BIP125 as possible so that it doesn't become a distinct fee-bumping mechanism. Doing these move-only commits first means the diff is mostly mechanical to review, and I just need to create a function that mirrors the single transaction validation.
- We will be able to isolate and test our RBF logic alone. Recently, there have been some discussions on discrepancies between our code and BIP125, as well as proposals for improving it. Generally, I think making this code more modular and de-bloating validation.cpp is probably a good idea.
- Witness Replacement (replacing same-txid-different-wtxid when the witness is significantly smaller and therefore higher feerate) in a BIP125-similar way. Hopefully it can just be implemented with calls to the rbf functions (i.e. `PaysForRBF`) and an edit to the relevant mempool entries.
ACKs for top commit:
mjdietzx:
ACK 32748da
theStack:
Code-review ACK 32748da 📐
MarcoFalke:
review ACK 32748da 🦇
Tree-SHA512: d89985c8b4b42b54861018deb89468e04968c85a3fb1113bbcb2eb2609577bc4fd9bf254593b5bd0e7ab059a0fa8192d1a903b00f77e6f120c7a80488ffcbfc0
0 commit comments