core: should enqueue the invalids tx anyway

even the pending is empty we shoud enqueue the invalid txs
This commit is contained in:
cui 2018-03-03 18:09:36 +08:00 committed by Péter Szilágyi
parent f1d440a437
commit f8601430fd
No known key found for this signature in database
GPG Key ID: E9AE538CEDF8293D

View File

@ -881,12 +881,13 @@ func (pool *TxPool) removeTx(hash common.Hash) {
if pending.Empty() { if pending.Empty() {
delete(pool.pending, addr) delete(pool.pending, addr)
delete(pool.beats, addr) delete(pool.beats, addr)
} else { }
// Otherwise postpone any invalidated transactions // Otherwise postpone any invalidated transactions
for _, tx := range invalids { for _, tx := range invalids {
pool.enqueueTx(tx.Hash(), tx) pool.enqueueTx(tx.Hash(), tx)
} }
}
// Update the account nonce if needed // Update the account nonce if needed
if nonce := tx.Nonce(); pool.pendingState.GetNonce(addr) > nonce { if nonce := tx.Nonce(); pool.pendingState.GetNonce(addr) > nonce {
pool.pendingState.SetNonce(addr, nonce) pool.pendingState.SetNonce(addr, nonce)