mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
Merge bitcoin/bitcoin#23157: txmempool -/-> validation 1/2: improve performance of check() and remove dependency on validation
082c5bf099[refactor] pass coinsview and height to check() (glozow)ed6115f1ea[mempool] simplify some check() logic (glozow)9e8d7ad5d9[validation/mempool] use Spend/AddCoin instead of UpdateCoins (glozow)09d18916afMOVEONLY: remove single-use helper func CheckInputsAndUpdateCoins (glozow)e8639ec26a[mempool] remove now-unnecessary code (glozow)54c6f3c1da[mempool] speed up check() by using coins cache and iterating in topo order (glozow)30e240f65e[bench] Benchmark CTxMemPool::check() (glozow)cb1407196f[refactor/bench] make mempool_stress bench reusable and parameterizable (glozow) Pull request description: Remove the txmempool <-> validation circular dependency by removing txmempool's dependency on validation. There are two functions in txmempool that need validation right now: `check()` and `removeForReorg()`. This PR removes the dependencies in `check()`. This PR also improves the performance of `CTxMemPool::check()` by walking through the entries exactly once, in ascending ancestorcount order, which guarantees that we see parents before children. ACKs for top commit: jnewbery: reACK082c5bf099GeneFerneau: tACK [082c5bf](082c5bf099) rajarshimaitra: tACK082c5bf099theStack: Code-review ACK082c5bf099Tree-SHA512: 40ac622af1627b5c3e6abb4f0f035d833265a8c5e8dc88faf5354875dfb5137f137825e54bbd2a2668ed37b145c5d02285f776402629f58596e51853a9a79d29
This commit is contained in:
@@ -229,9 +229,6 @@ PackageMempoolAcceptResult ProcessNewPackage(CChainState& active_chainstate, CTx
|
||||
const Package& txns, bool test_accept)
|
||||
EXCLUSIVE_LOCKS_REQUIRED(cs_main);
|
||||
|
||||
/** Apply the effects of this transaction on the UTXO set represented by view */
|
||||
void UpdateCoins(const CTransaction& tx, CCoinsViewCache& inputs, int nHeight);
|
||||
|
||||
/** Transaction validation functions */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user