diff --git a/core/vm/contracts.go b/core/vm/contracts.go index 4059bb52f0..8cc3051bae 100644 --- a/core/vm/contracts.go +++ b/core/vm/contracts.go @@ -159,8 +159,7 @@ func (p PrecompiledContracts) Copy() PrecompiledContracts { return c } -// ActivePrecompiledContracts returns precompiled contracts enabled with the current configuration. -func ActivePrecompiledContracts(rules params.Rules) PrecompiledContracts { +func activePrecompiledContracts(rules params.Rules) PrecompiledContracts { switch { case rules.IsCancun: return PrecompiledContractsCancun @@ -175,6 +174,11 @@ func ActivePrecompiledContracts(rules params.Rules) PrecompiledContracts { } } +// ActivePrecompiledContracts returns a copy of precompiled contracts enabled with the current configuration. +func ActivePrecompiledContracts(rules params.Rules) PrecompiledContracts { + return activePrecompiledContracts(rules).Copy() +} + // ActivePrecompiles returns the precompile addresses enabled with the current configuration. func ActivePrecompiles(rules params.Rules) []common.Address { switch { diff --git a/core/vm/evm.go b/core/vm/evm.go index 8531283ea2..0cd5d7dab4 100644 --- a/core/vm/evm.go +++ b/core/vm/evm.go @@ -134,7 +134,7 @@ func NewEVM(blockCtx BlockContext, txCtx TxContext, statedb StateDB, chainConfig chainConfig: chainConfig, chainRules: chainConfig.Rules(blockCtx.BlockNumber, blockCtx.Random != nil, blockCtx.Time), } - evm.precompiles = ActivePrecompiledContracts(evm.chainRules) + evm.precompiles = activePrecompiledContracts(evm.chainRules) evm.interpreter = NewEVMInterpreter(evm) return evm }