Fixes #31211
- Added a circular buffer to
CConnman(m_recent_tx_providers) that stores theNodeIds of peers providing the last 1000 accepted transactions. - Updated
net_processing.cppto callAddRecentTxProviderupon a transaction being accepted to the mempool asVALID. - Modified the candidate population in
AttemptToEvictConnectionto mark peers present in this rolling window via a newm_provided_recent_txflag. - Updated
SelectNodeToEvictinsrc/node/eviction.cppto removeCompareNodeTXTime. Instead, it randomly shuffles all peers flagged as being in the rolling window and protects up to 4 of them.