miner: fix inconsistent error evaluation, close XFN-60 (#1632)

This commit is contained in:
Daniel Liu 2025-11-03 18:46:38 +08:00 committed by GitHub
parent 0677ab40a2
commit 815995e9e0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1018,15 +1018,15 @@ func (w *Work) commitTransactions(mux *event.TypeMux, balanceFee map[common.Addr
continue
}
logs, tokenFeeUsed, gas, err := w.commitTransaction(balanceFee, tx, bc, coinbase, gp)
switch err {
case core.ErrNonceTooLow:
switch {
case errors.Is(err, core.ErrNonceTooLow):
// New head notification data race between the transaction pool and miner, shift
log.Trace("Skipping special transaction with low nonce", "sender", from, "nonce", tx.Nonce(), "to", to)
case core.ErrNonceTooHigh:
case errors.Is(err, core.ErrNonceTooHigh):
// Reorg notification data race between the transaction pool and miner, skip account =
log.Trace("Skipping account with special transaction hight nonce", "sender", from, "nonce", tx.Nonce(), "to", to)
case nil:
case errors.Is(err, nil):
// Everything ok, collect the logs and shift in the next transaction from the same account
coalescedLogs = append(coalescedLogs, logs...)
w.tcount++