diff --git a/libs/tendermint/mempool/clist_mempool.go b/libs/tendermint/mempool/clist_mempool.go index 39cf4078e9..39e409536d 100644 --- a/libs/tendermint/mempool/clist_mempool.go +++ b/libs/tendermint/mempool/clist_mempool.go @@ -528,7 +528,9 @@ func (mem *CListMempool) addPendingTx(memTx *mempoolTx) error { if ok { expectedNonce = pendingNonce + 1 } - if memTx.realTx.GetNonce() == expectedNonce { + txNonce := memTx.realTx.GetNonce() + // cosmos tx does not support pending pool, so here must check whether txNonce is 0 + if txNonce == 0 || txNonce == expectedNonce { err := mem.addTx(memTx) if err == nil { go mem.consumePendingTx(memTx.from, memTx.realTx.GetNonce()+1)