diff options
author | Martin Holst Swende <martin@swende.se> | 2017-08-23 19:37:18 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2017-08-23 19:37:18 +0800 |
commit | 286ec5df40d3707a7a2c98d49c8d324372ed29c2 (patch) | |
tree | 1cb14e2519516edde4beba39d8524f5cab5b34ee /cmd/evm/json_logger.go | |
parent | f7e39a772497f96253071da873d7d9923a3ed719 (diff) | |
download | dexon-286ec5df40d3707a7a2c98d49c8d324372ed29c2.tar dexon-286ec5df40d3707a7a2c98d49c8d324372ed29c2.tar.gz dexon-286ec5df40d3707a7a2c98d49c8d324372ed29c2.tar.bz2 dexon-286ec5df40d3707a7a2c98d49c8d324372ed29c2.tar.lz dexon-286ec5df40d3707a7a2c98d49c8d324372ed29c2.tar.xz dexon-286ec5df40d3707a7a2c98d49c8d324372ed29c2.tar.zst dexon-286ec5df40d3707a7a2c98d49c8d324372ed29c2.zip |
cmd/evm, core/vm, internal/ethapi: Show error when exiting (#14985)
* cmd/evm, core/vm, internal/ethapi: Add 'err' to tracer interface CaptureEnd
* cmd/evm: fix nullpointer when there is no error
Diffstat (limited to 'cmd/evm/json_logger.go')
-rw-r--r-- | cmd/evm/json_logger.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cmd/evm/json_logger.go b/cmd/evm/json_logger.go index d61981062..2cfeaa795 100644 --- a/cmd/evm/json_logger.go +++ b/cmd/evm/json_logger.go @@ -57,11 +57,15 @@ func (l *JSONLogger) CaptureState(env *vm.EVM, pc uint64, op vm.OpCode, gas, cos } // CaptureEnd is triggered at end of execution. -func (l *JSONLogger) CaptureEnd(output []byte, gasUsed uint64, t time.Duration) error { +func (l *JSONLogger) CaptureEnd(output []byte, gasUsed uint64, t time.Duration, err error) error { type endLog struct { Output string `json:"output"` GasUsed math.HexOrDecimal64 `json:"gasUsed"` Time time.Duration `json:"time"` + Err string `json:"error,omitempty"` } - return l.encoder.Encode(endLog{common.Bytes2Hex(output), math.HexOrDecimal64(gasUsed), t}) + if err != nil { + return l.encoder.Encode(endLog{common.Bytes2Hex(output), math.HexOrDecimal64(gasUsed), t, err.Error()}) + } + return l.encoder.Encode(endLog{common.Bytes2Hex(output), math.HexOrDecimal64(gasUsed), t, ""}) } |