From d8aac24223c92d50bd69579a72517f6ad15ab176 Mon Sep 17 00:00:00 2001 From: Daniel Liu <139250065@qq.com> Date: Thu, 11 Dec 2025 18:48:18 +0800 Subject: [PATCH] core/txpool: check if initcode size is exceeded #26504 (#1842) --- core/txpool/txpool.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/txpool/txpool.go b/core/txpool/txpool.go index 02f8ac0b16..70b7ea50e4 100644 --- a/core/txpool/txpool.go +++ b/core/txpool/txpool.go @@ -626,6 +626,10 @@ func (pool *TxPool) validateTx(tx *types.Transaction, local bool) error { if tx.Size() > txMaxSize { return ErrOversizedData } + // Check whether the init code size has been exceeded. + if pool.eip1559 && tx.To() == nil && len(tx.Data()) > params.MaxInitCodeSize { + return fmt.Errorf("%w: code size %v limit %v", core.ErrMaxInitCodeSizeExceeded, len(tx.Data()), params.MaxInitCodeSize) + } // Get current block number var number *big.Int = nil if pool.chain.CurrentHeader() != nil {