This is a simple mempool PR that fixes #33510.
Evicting mempool transactions by age (-mempoolexpiry, default two weeks) is
incentive-incompatible: it may drop transactions that could still be mined
As discussed IRL and in #33510, this PR hence removes age-based eviction entirely.
Transactions now leave the mempool only via size limiting (-maxmempool),
replacement, conflicts, or inclusion in a block. The EXPIRY removal reason is
dropped. -mempoolexpiry is retained as a hidden no-op that warns when set, so
existing configurations keep starting.
Nice side effects:
- With expiry gone, the
entry_timeindex has no readers. Removing it saves an ordered-tree node per mempool entry and drops a now unused Boost include. - The
DynamicMemoryUsage()per-entry estimate drops from three indexes to two, so within the same-maxmempoolbudget the mempool fits slightly more transactions.