forked from cerc-io/plugeth
core/txpool: check if initcode size is exceeded (#26504)
* core/txpool: check if initcode size is exceeded * core/txpool: move check
This commit is contained in:
parent
4a3fb585dd
commit
a35b654f25
@ -18,6 +18,7 @@ package txpool
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"math"
|
"math"
|
||||||
"math/big"
|
"math/big"
|
||||||
"sort"
|
"sort"
|
||||||
@ -599,6 +600,10 @@ func (pool *TxPool) validateTx(tx *types.Transaction, local bool) error {
|
|||||||
if tx.Size() > txMaxSize {
|
if tx.Size() > txMaxSize {
|
||||||
return ErrOversizedData
|
return ErrOversizedData
|
||||||
}
|
}
|
||||||
|
// Check whether the init code size has been exceeded.
|
||||||
|
if pool.shanghai && tx.To() == nil && len(tx.Data()) > params.MaxInitCodeSize {
|
||||||
|
return fmt.Errorf("%w: code size %v limit %v", core.ErrMaxInitCodeSizeExceeded, len(tx.Data()), params.MaxInitCodeSize)
|
||||||
|
}
|
||||||
// Transactions can't be negative. This may never happen using RLP decoded
|
// Transactions can't be negative. This may never happen using RLP decoded
|
||||||
// transactions but may occur if you create a transaction using the RPC.
|
// transactions but may occur if you create a transaction using the RPC.
|
||||||
if tx.Value().Sign() < 0 {
|
if tx.Value().Sign() < 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user