|
|
@ -223,11 +223,15 @@ func (in *EVMInterpreter) Run(contract *Contract, input []byte, readOnly bool) ( |
|
|
|
if err != nil || !contract.UseGas(dynamicCost) { |
|
|
|
if err != nil || !contract.UseGas(dynamicCost) { |
|
|
|
return nil, ErrOutOfGas |
|
|
|
return nil, ErrOutOfGas |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 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 { |
|
|
|
if memorySize > 0 { |
|
|
|
mem.Resize(memorySize) |
|
|
|
mem.Resize(memorySize) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} else if in.cfg.Debug { |
|
|
|
if in.cfg.Debug { |
|
|
|
|
|
|
|
in.cfg.Tracer.CaptureState(pc, op, gasCopy, cost, callContext, in.returnData, in.evm.depth, err) |
|
|
|
in.cfg.Tracer.CaptureState(pc, op, gasCopy, cost, callContext, in.returnData, in.evm.depth, err) |
|
|
|
logged = true |
|
|
|
logged = true |
|
|
|
} |
|
|
|
} |
|
|
|