diff --git a/eth/tracers/native/call_flat.go b/eth/tracers/native/call_flat.go index 3168d26af0..22b8c5c88e 100644 --- a/eth/tracers/native/call_flat.go +++ b/eth/tracers/native/call_flat.go @@ -144,10 +144,11 @@ func newFlatCallTracer(ctx *tracers.Context, cfg json.RawMessage, chainConfig *p ft := &flatCallTracer{tracer: t, ctx: ctx, config: config, chainConfig: chainConfig} return &tracers.Tracer{ Hooks: &tracing.Hooks{ - OnTxStart: ft.OnTxStart, - OnTxEnd: ft.OnTxEnd, - OnEnter: ft.OnEnter, - OnExit: ft.OnExit, + OnTxStart: ft.OnTxStart, + OnTxEnd: ft.OnTxEnd, + OnEnter: ft.OnEnter, + OnExit: ft.OnExit, + OnSystemTxFixIntrinsicGas: ft.OnSystemTxFixIntrinsicGas, }, Stop: ft.Stop, GetResult: ft.GetResult, diff --git a/eth/tracers/native/mux.go b/eth/tracers/native/mux.go index d63b59c89b..4da3e2531d 100644 --- a/eth/tracers/native/mux.go +++ b/eth/tracers/native/mux.go @@ -175,7 +175,9 @@ func (t *muxTracer) OnLog(log *types.Log) { func (t *muxTracer) OnSystemTxFixIntrinsicGas(intrinsicGas uint64) { for _, t := range t.tracers { - t.OnSystemTxFixIntrinsicGas(intrinsicGas) + if t.OnSystemTxFixIntrinsicGas != nil { + t.OnSystemTxFixIntrinsicGas(intrinsicGas) + } } } diff --git a/eth/tracers/native/noop.go b/eth/tracers/native/noop.go index 7057462ecd..ac174cc25e 100644 --- a/eth/tracers/native/noop.go +++ b/eth/tracers/native/noop.go @@ -40,19 +40,18 @@ func newNoopTracer(ctx *tracers.Context, cfg json.RawMessage, chainConfig *param t := &noopTracer{} return &tracers.Tracer{ Hooks: &tracing.Hooks{ - OnTxStart: t.OnTxStart, - OnTxEnd: t.OnTxEnd, - OnEnter: t.OnEnter, - OnExit: t.OnExit, - OnOpcode: t.OnOpcode, - OnFault: t.OnFault, - OnGasChange: t.OnGasChange, - OnBalanceChange: t.OnBalanceChange, - OnNonceChange: t.OnNonceChange, - OnCodeChange: t.OnCodeChange, - OnStorageChange: t.OnStorageChange, - OnLog: t.OnLog, - OnSystemTxFixIntrinsicGas: t.OnSystemTxFixIntrinsicGas, + OnTxStart: t.OnTxStart, + OnTxEnd: t.OnTxEnd, + OnEnter: t.OnEnter, + OnExit: t.OnExit, + OnOpcode: t.OnOpcode, + OnFault: t.OnFault, + OnGasChange: t.OnGasChange, + OnBalanceChange: t.OnBalanceChange, + OnNonceChange: t.OnNonceChange, + OnCodeChange: t.OnCodeChange, + OnStorageChange: t.OnStorageChange, + OnLog: t.OnLog, }, GetResult: t.GetResult, Stop: t.Stop, @@ -90,8 +89,6 @@ func (*noopTracer) OnStorageChange(a common.Address, k, prev, new common.Hash) { func (*noopTracer) OnLog(log *types.Log) {} -func (*noopTracer) OnSystemTxFixIntrinsicGas(intrinsicGas uint64) {} - // GetResult returns an empty json object. func (t *noopTracer) GetResult() (json.RawMessage, error) { return json.RawMessage(`{}`), nil