mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-12 01:41:36 +00:00
core: skip tx gas cap after Amsterdam
This commit is contained in:
parent
822e7c6486
commit
76e61c5a1a
3 changed files with 6 additions and 3 deletions
|
|
@ -344,9 +344,10 @@ func (st *stateTransition) preCheck() error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
isOsaka := st.evm.ChainConfig().IsOsaka(st.evm.Context.BlockNumber, st.evm.Context.Time)
|
isOsaka := st.evm.ChainConfig().IsOsaka(st.evm.Context.BlockNumber, st.evm.Context.Time)
|
||||||
|
isAmsterdam := st.evm.ChainConfig().IsAmsterdam(st.evm.Context.BlockNumber, st.evm.Context.Time)
|
||||||
if !msg.SkipTransactionChecks {
|
if !msg.SkipTransactionChecks {
|
||||||
// Verify tx gas limit does not exceed EIP-7825 cap.
|
// Verify tx gas limit does not exceed EIP-7825 cap.
|
||||||
if isOsaka && msg.GasLimit > params.MaxTxGas {
|
if isOsaka && !isAmsterdam && msg.GasLimit > params.MaxTxGas {
|
||||||
return fmt.Errorf("%w (cap: %d, tx: %d)", ErrGasLimitTooHigh, params.MaxTxGas, msg.GasLimit)
|
return fmt.Errorf("%w (cap: %d, tx: %d)", ErrGasLimitTooHigh, params.MaxTxGas, msg.GasLimit)
|
||||||
}
|
}
|
||||||
// Make sure the sender is an EOA
|
// Make sure the sender is an EOA
|
||||||
|
|
|
||||||
|
|
@ -1223,7 +1223,9 @@ func (pool *LegacyPool) runReorg(done chan struct{}, reset *txpoolResetRequest,
|
||||||
if reset != nil {
|
if reset != nil {
|
||||||
if reset.newHead != nil && reset.oldHead != nil {
|
if reset.newHead != nil && reset.oldHead != nil {
|
||||||
// Discard the transactions with the gas limit higher than the cap.
|
// Discard the transactions with the gas limit higher than the cap.
|
||||||
if pool.chainconfig.IsOsaka(reset.newHead.Number, reset.newHead.Time) && !pool.chainconfig.IsOsaka(reset.oldHead.Number, reset.oldHead.Time) {
|
if pool.chainconfig.IsOsaka(reset.newHead.Number, reset.newHead.Time) &&
|
||||||
|
!pool.chainconfig.IsAmsterdam(reset.newHead.Number, reset.newHead.Time) &&
|
||||||
|
!pool.chainconfig.IsOsaka(reset.oldHead.Number, reset.oldHead.Time) {
|
||||||
var hashes []common.Hash
|
var hashes []common.Hash
|
||||||
pool.all.Range(func(hash common.Hash, tx *types.Transaction) bool {
|
pool.all.Range(func(hash common.Hash, tx *types.Transaction) bool {
|
||||||
if tx.Gas() > params.MaxTxGas {
|
if tx.Gas() > params.MaxTxGas {
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ func ValidateTransaction(tx *types.Transaction, head *types.Header, signer types
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if rules.IsOsaka && tx.Gas() > params.MaxTxGas {
|
if rules.IsOsaka && !rules.IsAmsterdam && tx.Gas() > params.MaxTxGas {
|
||||||
return fmt.Errorf("%w (cap: %d, tx: %d)", core.ErrGasLimitTooHigh, params.MaxTxGas, tx.Gas())
|
return fmt.Errorf("%w (cap: %d, tx: %d)", core.ErrGasLimitTooHigh, params.MaxTxGas, tx.Gas())
|
||||||
}
|
}
|
||||||
// Transactions can't be negative. This may never happen using RLP decoded
|
// Transactions can't be negative. This may never happen using RLP decoded
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue