Page MenuHomePhabricator

[mempool] Make DisconnectedBlockTransactions responsible for removing txs from the mempool after a block is connected
ClosedPublic

Authored by Fabien on Mar 26 2024, 10:52.

Details

Summary

Rather than having the mempool use the DisconnectedBlockTransactions class to remove the transactions, (CTxMemPool => DisconnectedBlockTransactions) we can reverse the logic and let the DisconnectedBlockTransactions manage the mempool (DisconnectedBlockTransactions => CTxMemPool). This is more consistent with the other pieces of code and will make it possible to break the circular dependency mempool.h -> validation.h (via DisconnectedBlockTransactions) -> mempool.h by changing it to validation.h -> disconnected_block_transactions.h -> mempool.h.

Test Plan
ninja all check-extended

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable