From abe9f28845351ceaa56d91706b9e7cb891314e5f Mon Sep 17 00:00:00 2001 From: Marius van der Wijden Date: Mon, 1 Jul 2024 15:47:17 +0200 Subject: [PATCH] core/vm: fix opReturnContract, don't pay for mem copy --- core/vm/eips.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/vm/eips.go b/core/vm/eips.go index d13a3fdc8e..0489c25eb9 100644 --- a/core/vm/eips.go +++ b/core/vm/eips.go @@ -661,7 +661,7 @@ func enableEOF(jt *JumpTable) { jt[RETURNCONTRACT] = &operation{ execute: opReturnContract, constantGas: GasZeroStep, - dynamicGas: memoryCopierGas(1), + dynamicGas: pureMemoryGascost, minStack: minStack(2, 0), maxStack: maxStack(2, 0), immediate: 1, @@ -909,7 +909,6 @@ func opEOFCreate(pc *uint64, interpreter *EVMInterpreter, scope *ScopeContext) ( stackvalue.SetBytes(addr.Bytes()) } scope.Stack.push(&stackvalue) - scope.Contract.RefundGas(returnGas, interpreter.evm.Config.Tracer, tracing.GasChangeCallLeftOverRefunded) if suberr == ErrExecutionReverted {