mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-15 01:55:22 +01:00
8673e8f019txgraph: Special-case singletons in chunk index (optimization) (Pieter Wuille)abdd9d35a3txgraph: Skipping end of cluster has no impact (optimization) (Pieter Wuille)604acc2c28txgraph: Reuse discarded chunkindex entries (optimization) (Pieter Wuille)c734081454txgraph: Introduce TxGraph::GetWorstMainChunk (feature) (Pieter Wuille)394dbe2142txgraph: Introduce BlockBuilder interface (feature) (Pieter Wuille)883df3648etxgraph: Generalize GetClusterRefs to support subsections (preparation) (Pieter Wuille)c28a602e00txgraph: Introduce TxGraphImpl observer tracking (preparation) (Pieter Wuille)9095d8ac1ctxgraph: Maintain chunk index (preparation) (Pieter Wuille)87e74e1242txgraph: abstract out transaction ordering (refactor) (Pieter Wuille)2614fea17ftxgraph: Add GetMainStagingDiagrams function (feature) (Pieter Wuille) Pull request description: Part of cluster mempool: #30289. This adds more functionality to the txgraph module, specifically: * `TxGraph::GetMainStagingDiagrams()`, a function to obtain feerate diagrams for both the main graph and the staged changes to it, including only the clusters that differ between the two. * `TxGraph::GetBlockBuilder()`, a function to obtain an object which can efficiently iterate the chunks of the (main) graph from high to low chunk feerate, allowing each to be skipped or included. * `TxGraph::GetWorstMainChunk()`, a function to obtain the last chunk that would be returned by `GetBlockBuilder()`'s returned object, intended for eviction. ACKs for top commit: monlovesmango: reACK8673e8f019instagibbs: reACK8673e8f019glozow: reACK8673e8f019Tree-SHA512: 5c98c54919c44eb2f9545dfc130e54dfc25b5b54d43cf5ca9bcf46e019b9fd405a572fcd70e71e2a7c5b4b096cfd540a4d09ef1f52ba188504418682f1dfc4af