dash(S7): in-memory mempool leaf — storage + UTXO-fee + feerate selection - #203
Merged
Conversation
…election) Adds src/impl/dash/coin/mempool.hpp: thread-safe in-memory Dash mempool with UTXO-derived fee computation, LRU size-cap + expiry eviction, double-spend conflict removal on block-connect, and the feerate-sorted get_sorted_txs_with_fees() selection consumed by the embedded GBT template builder. Adapted from src/impl/ltc/coin/mempool.hpp with the Dash simplifications (no segwit/weight/wtxid index; special-tx stored as opaque blobs). Header-only over block/transaction/utxo_adapter + core/coin (utxo_view_cache); no ltc/pool SCC dependency. test_dash_mempool.cpp adds 9 KATs (add/dup/remove, fee=in-out from UTXO, fee-unknown without UTXO, recompute-after-UTXO, LRU eviction, block-connect conflict eviction, highest-feerate-first selection), registered in the CI --target lists so it builds under dash-linux-only. Direct prerequisite for embedded_gbt (S7 main); dashd RPC fallback path untouched.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
S7 leaf: Dash in-memory mempool
Next S7 leaf after #169 (subsidy + utxo_adapter foundation, merged @d0a23d53). Lands the in-memory mempool that the embedded_gbt template builder includes directly.
What
src/impl/dash/coin/mempool.hpp(488 LOC): thread-safe mempool — UTXO-derived fee, LRU size-cap + expiry eviction, double-spend conflict removal on block-connect, feerate-sortedget_sorted_txs_with_fees(). Adapted fromsrc/impl/ltc/coin/mempool.hppwith Dash simplifications (no segwit/weight/wtxid; special-tx stored opaque).test/test_dash_mempool.cpp: 9 KATs (add/dup/remove, fee=in-out from UTXO, fee-unknown without UTXO, recompute-after-UTXO, LRU eviction, block-connect conflict eviction, highest-feerate-first selection).--targetlists (build.yml x2) +test/CMakeLists.txtwiring.Safety / scope
Evidence
ctest -R DashMempool= 9/9 passed (non-hollow, test IDs 476–484), run frombuild/.Next in S7
embedded_gbt still needs absent leaves: mn_state_machine, quorum_root, quorum_manager, simplifiedmns → then embedded_gbt main.
No self-merge — integrator verify (oracle + full CI) + operator tap.