core: simplify ExtraEIPs handling

This commit is contained in:
wit 2025-11-03 15:45:38 +08:00
parent 447b5f7e19
commit 355ce7aee5

View file

@ -181,11 +181,10 @@ func NewEVM(blockCtx BlockContext, statedb StateDB, chainConfig *params.ChainCon
default: default:
evm.table = &frontierInstructionSet evm.table = &frontierInstructionSet
} }
var extraEips []int
if len(evm.Config.ExtraEips) > 0 { if len(evm.Config.ExtraEips) > 0 {
// Deep-copy jumptable to prevent modification of opcodes in other tables // Deep-copy jumptable to prevent modification of opcodes in other tables
evm.table = copyJumpTable(evm.table) evm.table = copyJumpTable(evm.table)
} extraEips := make([]int, 0, len(evm.Config.ExtraEips))
for _, eip := range evm.Config.ExtraEips { for _, eip := range evm.Config.ExtraEips {
if err := EnableEIP(eip, evm.table); err != nil { if err := EnableEIP(eip, evm.table); err != nil {
// Disable it, so caller can check if it's activated or not // Disable it, so caller can check if it's activated or not
@ -195,6 +194,7 @@ func NewEVM(blockCtx BlockContext, statedb StateDB, chainConfig *params.ChainCon
} }
} }
evm.Config.ExtraEips = extraEips evm.Config.ExtraEips = extraEips
}
return evm return evm
} }