core/vm: Put debug state capture before memory resize

This commit is contained in:
Dmitry Shmatko 2018-06-24 21:39:12 +03:00
parent eaff89291c
commit 97e49b1274

View file

@ -189,15 +189,16 @@ func (in *Interpreter) Run(contract *Contract, input []byte) (ret []byte, err er
if err != nil || !contract.UseGas(cost) {
return nil, ErrOutOfGas
}
if memorySize > 0 {
mem.Resize(memorySize)
}
if in.cfg.Debug {
in.cfg.Tracer.CaptureState(in.evm, pc, op, gasCopy, cost, mem, stack, contract, in.evm.depth, err)
logged = true
}
if memorySize > 0 {
mem.Resize(memorySize)
}
// execute the operation
res, err := operation.execute(&pc, in.evm, contract, mem, stack)
// verifyPool is a build flag. Pool verification makes sure the integrity