Problem: mempool removal error cause app hash mismatch
Author: yihuangCreated Jul 31, 2026Updated Aug 1, 2026
Right now, mempool.RemoveWithReason is called synchronously inside the block delivery logic, if the mempool run some non-deterministic logics or even panic, or if different nodes configure different mempools, these discrepancies becomes consensus failure.
It's also a performance bottleneck if the mempool.Remove runs some non-trivial tasks (e.g. cosmos-evm mempool run ante handler)
Source: cosmos/cosmos-sdk