mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-19 14:53:43 +01:00
32748da0f4whitespace fixups after move and scripted-diff (glozow)fa47622e8dscripted-diff: rename variables in policy/rbf (glozow)ac761f0a23MOVEONLY: fee checks (Rules 3 and 4) to policy/rbf (glozow)9c2f9f8984MOVEONLY: check that fees > direct conflicts to policy/rbf (glozow)3f033f01a6MOVEONLY: check for disjoint conflicts and ancestors to policy/rbf (glozow)7b60c02b7dMOVEONLY: BIP125 Rule 2 to policy/rbf (glozow)f8ad2a57c6Make 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: ACK32748da0f4theStack: Code-review ACK32748da0f4📐 MarcoFalke: review ACK32748da0f4🦇 Tree-SHA512: d89985c8b4b42b54861018deb89468e04968c85a3fb1113bbcb2eb2609577bc4fd9bf254593b5bd0e7ab059a0fa8192d1a903b00f77e6f120c7a80488ffcbfc0
223 KiB
223 KiB