From c60fa3a64394aa4c16b5f5755e54d8ff8c5cea19 Mon Sep 17 00:00:00 2001 From: Zhang Zhuo Date: Fri, 1 Sep 2023 17:01:53 +0800 Subject: [PATCH] fix(trace): fix memory trace size (#497) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * core/vm: for tracing, do not report post-op memory * fmt * bump version --------- Co-authored-by: Martin Holst Swende Co-authored-by: Péter Garamvölgyi --- core/vm/interpreter.go | 15 +++++++++------ params/version.go | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/core/vm/interpreter.go b/core/vm/interpreter.go index fdef61a7b9..82e4396de1 100644 --- a/core/vm/interpreter.go +++ b/core/vm/interpreter.go @@ -249,12 +249,15 @@ func (in *EVMInterpreter) Run(contract *Contract, input []byte, readOnly bool) ( if err != nil || !contract.UseGas(dynamicCost) { return nil, ErrOutOfGas } - } - if memorySize > 0 { - mem.Resize(memorySize) - } - - if in.cfg.Debug { + // Do tracing before memory expansion + if in.cfg.Debug { + in.cfg.Tracer.CaptureState(pc, op, gasCopy, cost, callContext, in.returnData, in.evm.depth, err) + logged = true + } + if memorySize > 0 { + mem.Resize(memorySize) + } + } else if in.cfg.Debug { in.cfg.Tracer.CaptureState(pc, op, gasCopy, cost, callContext, in.returnData, in.evm.depth, err) logged = true } diff --git a/params/version.go b/params/version.go index d362a67ada..57446f0197 100644 --- a/params/version.go +++ b/params/version.go @@ -24,7 +24,7 @@ import ( const ( VersionMajor = 4 // Major version component of the current release VersionMinor = 3 // Minor version component of the current release - VersionPatch = 60 // Patch version component of the current release + VersionPatch = 61 // Patch version component of the current release VersionMeta = "sepolia" // Version metadata to append to the version string )