From 6a242ba482473ea410644efbc485e0959a238c56 Mon Sep 17 00:00:00 2001 From: jsvisa Date: Sat, 10 Aug 2024 15:19:17 +0800 Subject: [PATCH] cmd,eth: register live tracer with Backend interface Signed-off-by: jsvisa --- cmd/utils/flags.go | 4 ++-- eth/tracers/live.go | 6 +++--- eth/tracers/live/noop.go | 2 +- eth/tracers/live/supply.go | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go index 46fbe9276e..7059a7e3f7 100644 --- a/cmd/utils/flags.go +++ b/cmd/utils/flags.go @@ -1946,7 +1946,7 @@ func RegisterEthService(stack *node.Node, cfg *ethconfig.Config) (ethapi.Backend if cfg.VMTraceJsonConfig != "" { traceConfig = json.RawMessage(cfg.VMTraceJsonConfig) } - t, err := tracers.LiveDirectory.New(cfg.VMTrace, traceConfig) + t, err := tracers.LiveDirectory.New(cfg.VMTrace, traceConfig, backend.APIBackend) if err != nil { Fatalf("failed to create tracer %s: %v", cfg.VMTrace, err) } @@ -2215,7 +2215,7 @@ func MakeChain(ctx *cli.Context, stack *node.Node, readonly bool) (*core.BlockCh if ctx.IsSet(VMTraceJsonConfigFlag.Name) { config = json.RawMessage(ctx.String(VMTraceJsonConfigFlag.Name)) } - t, err := tracers.LiveDirectory.New(name, config) + t, err := tracers.LiveDirectory.New(name, config, nil) if err != nil { Fatalf("Failed to create tracer %q: %v", name, err) } diff --git a/eth/tracers/live.go b/eth/tracers/live.go index ffb2303af4..0dbdb8ce75 100644 --- a/eth/tracers/live.go +++ b/eth/tracers/live.go @@ -7,7 +7,7 @@ import ( "github.com/ethereum/go-ethereum/core/tracing" ) -type ctorFunc func(config json.RawMessage) (*tracing.Hooks, error) +type ctorFunc func(config json.RawMessage, backend Backend) (*tracing.Hooks, error) // LiveDirectory is the collection of tracers which can be used // during normal block import operations. @@ -23,9 +23,9 @@ func (d *liveDirectory) Register(name string, f ctorFunc) { } // New instantiates a tracer by name. -func (d *liveDirectory) New(name string, config json.RawMessage) (*tracing.Hooks, error) { +func (d *liveDirectory) New(name string, config json.RawMessage, backend Backend) (*tracing.Hooks, error) { if f, ok := d.elems[name]; ok { - return f(config) + return f(config, backend) } return nil, errors.New("not found") } diff --git a/eth/tracers/live/noop.go b/eth/tracers/live/noop.go index 7433c28840..306e2e07cb 100644 --- a/eth/tracers/live/noop.go +++ b/eth/tracers/live/noop.go @@ -21,7 +21,7 @@ func init() { // as soon as we have a real live tracer. type noop struct{} -func newNoopTracer(_ json.RawMessage) (*tracing.Hooks, error) { +func newNoopTracer(_ json.RawMessage, _ tracers.Backend) (*tracing.Hooks, error) { t := &noop{} return &tracing.Hooks{ OnTxStart: t.OnTxStart, diff --git a/eth/tracers/live/supply.go b/eth/tracers/live/supply.go index 96f7059454..085234a65a 100644 --- a/eth/tracers/live/supply.go +++ b/eth/tracers/live/supply.go @@ -74,7 +74,7 @@ type supplyTracerConfig struct { MaxSize int `json:"maxSize"` // MaxSize is the maximum size in megabytes of the tracer log file before it gets rotated. It defaults to 100 megabytes. } -func newSupply(cfg json.RawMessage) (*tracing.Hooks, error) { +func newSupply(cfg json.RawMessage, _ tracers.Backend) (*tracing.Hooks, error) { var config supplyTracerConfig if cfg != nil { if err := json.Unmarshal(cfg, &config); err != nil {