Make mempool consistent after a reorg, by re‐adding or recursively erasing disconnected block transactions from the mempool, and also removing any other transactions from the mempool that are no longer valid given the new tip/height.
Synopsis
Declared in <validation.h>
[[requires_capability(0x7f9513ab5e08, 0x7f9513ab5e80), requires_capability(0x7f9502c98e78, 0x7f9502c98ef0), requires_capability(0x7f952544aba8, 0x7f952544ac20), requires_capability(0x7f9517400e88, 0x7f9517400f00)]]
void
MaybeUpdateMempoolForReorg(
DisconnectedBlockTransactions& disconnectpool,
bool fAddToMempool);
Description
Note: we assume that disconnectpool only contains transactions that are NOT confirmed in the current chain nor already in the mempool (otherwise, in‐mempool descendants of such transactions would be removed).
Passing fAddToMempool=false will skip trying to add the transactions back, and instead just erase from the mempool as needed.
Parameters
Name |
Description |
disconnectpool |
Transactions from disconnected blocks to re‐add or erase. |
fAddToMempool |
Whether to try re‐adding the disconnected transactions. |
Created with MrDocs