diff --git a/core/vm/instructions.go b/core/vm/instructions.go index bfdef42eb077..912b9c583eeb 100644 --- a/core/vm/instructions.go +++ b/core/vm/instructions.go @@ -408,7 +408,8 @@ func opExtCodeCopy(pc *uint64, interpreter *EVMInterpreter, scope *ScopeContext) if interpreter.evm.chainRules.IsVerkle { addr := common.Address(a.Bytes20()) - if _, isPrecompile := interpreter.evm.precompile(addr); isPrecompile { + isSystemContract := interpreter.evm.isSystemContract(addr) + if _, isPrecompile := interpreter.evm.precompile(addr); isPrecompile || isSystemContract { if !scope.Contract.UseGas(params.WarmStorageReadCostEIP2929) { return nil, ErrOutOfGas }