From 238e25bd88c12486d1edd8b1bf5df7d977e31656 Mon Sep 17 00:00:00 2001 From: lightclient Date: Thu, 17 Apr 2025 11:39:35 -0600 Subject: [PATCH] core/txpool: move IsTemporaryReject switch from legacypool to locals --- core/txpool/legacypool/errors.go | 45 -------------------------------- core/txpool/locals/errors.go | 20 +++++++++++++- 2 files changed, 19 insertions(+), 46 deletions(-) delete mode 100644 core/txpool/legacypool/errors.go diff --git a/core/txpool/legacypool/errors.go b/core/txpool/legacypool/errors.go deleted file mode 100644 index 58b6a80b97..0000000000 --- a/core/txpool/legacypool/errors.go +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2025 The go-ethereum Authors -// This file is part of the go-ethereum library. -// -// The go-ethereum library is free software: you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// The go-ethereum library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with the go-ethereum library. If not, see . - -package legacypool - -import ( - "errors" - - "github.com/ethereum/go-ethereum/core/txpool" -) - -// IsTemporaryReject determines whether the given error indicates a temporary -// reason to reject a transaction from being included in the txpool. The result -// may change if the txpool's state changes later. -func IsTemporaryReject(err error) bool { - switch { - case errors.Is(err, ErrOutOfOrderTxFromDelegated): - return true - case errors.Is(err, txpool.ErrInflightTxLimitReached): - return true - case errors.Is(err, ErrAuthorityReserved): - return true - case errors.Is(err, txpool.ErrUnderpriced): - return true - case errors.Is(err, ErrTxPoolOverflow): - return true - case errors.Is(err, ErrFutureReplacePending): - return true - default: - return false - } -} diff --git a/core/txpool/locals/errors.go b/core/txpool/locals/errors.go index e4fa5d43c7..fda50bf218 100644 --- a/core/txpool/locals/errors.go +++ b/core/txpool/locals/errors.go @@ -17,6 +17,9 @@ package locals import ( + "errors" + + "github.com/ethereum/go-ethereum/core/txpool" "github.com/ethereum/go-ethereum/core/txpool/legacypool" ) @@ -24,5 +27,20 @@ import ( // reason to reject a transaction from being included in the txpool. The result // may change if the txpool's state changes later. func IsTemporaryReject(err error) bool { - return legacypool.IsTemporaryReject(err) + switch { + case errors.Is(err, legacypool.ErrOutOfOrderTxFromDelegated): + return true + case errors.Is(err, txpool.ErrInflightTxLimitReached): + return true + case errors.Is(err, legacypool.ErrAuthorityReserved): + return true + case errors.Is(err, txpool.ErrUnderpriced): + return true + case errors.Is(err, legacypool.ErrTxPoolOverflow): + return true + case errors.Is(err, legacypool.ErrFutureReplacePending): + return true + default: + return false + } }