diff --git a/core/vm/operations_acl.go b/core/vm/operations_acl.go index 57fb6eab98..33df23d5af 100644 --- a/core/vm/operations_acl.go +++ b/core/vm/operations_acl.go @@ -165,6 +165,12 @@ func makeCallVariantGasCall(oldCalculatorStateful, oldCalculatorStateless gasFun err error ) + // Compute stateless gas (memory expansion, value transfer) + eip150BaseGas, err := oldCalculatorStateless(evm, contract, stack, mem, memorySize) + if err != nil { + return 0, err + } + // EIP-2929: cold/warm access list charge if evm.chainRules.IsEIP2929 && !evm.StateDB.AddressInAccessList(addr) { evm.StateDB.AddAddressToAccessList(addr) @@ -179,12 +185,6 @@ func makeCallVariantGasCall(oldCalculatorStateful, oldCalculatorStateless gasFun eip2929Gas = coldCost } - // Compute stateless gas (memory expansion, value transfer) - eip150BaseGas, err := oldCalculatorStateless(evm, contract, stack, mem, memorySize) - if err != nil { - return 0, err - } - // Ensure the stateless portion is covered if contract.Gas < eip150BaseGas { return 0, ErrOutOfGas