Revert "eth/tracers: live tracer return apis"

This reverts commit 3d5a8b3166a941d7b55aaf5dffc39e85950dab47.

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
jsvisa 2024-08-22 03:09:20 +00:00
parent e819b13d64
commit efe83645ba
4 changed files with 10 additions and 13 deletions

View file

@ -552,7 +552,7 @@ func testSupplyTracer(t *testing.T, genesis *core.Genesis, gen func(*core.BlockG
traceOutputFilename := path.Join(traceOutputPath, "supply.jsonl") traceOutputFilename := path.Join(traceOutputPath, "supply.jsonl")
// Load supply tracer // Load supply tracer
tracer, _, err := tracers.LiveDirectory.New("supply", json.RawMessage(fmt.Sprintf(`{"path":"%s"}`, traceOutputPath)), nil) tracer, err := tracers.LiveDirectory.New("supply", json.RawMessage(fmt.Sprintf(`{"path":"%s"}`, traceOutputPath)), nil)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to create call tracer: %v", err) return nil, nil, fmt.Errorf("failed to create call tracer: %v", err)
} }

View file

@ -5,10 +5,9 @@ import (
"errors" "errors"
"github.com/ethereum/go-ethereum/core/tracing" "github.com/ethereum/go-ethereum/core/tracing"
"github.com/ethereum/go-ethereum/rpc"
) )
type ctorFunc func(config json.RawMessage, backend Backend) (*tracing.Hooks, []rpc.API, error) type ctorFunc func(config json.RawMessage, backend Backend) (*tracing.Hooks, error)
// LiveDirectory is the collection of tracers which can be used // LiveDirectory is the collection of tracers which can be used
// during normal block import operations. // during normal block import operations.
@ -24,9 +23,9 @@ func (d *liveDirectory) Register(name string, f ctorFunc) {
} }
// New instantiates a tracer by name. // New instantiates a tracer by name.
func (d *liveDirectory) New(name string, config json.RawMessage, backend Backend) (*tracing.Hooks, []rpc.API, error) { func (d *liveDirectory) New(name string, config json.RawMessage, backend Backend) (*tracing.Hooks, error) {
if f, ok := d.elems[name]; ok { if f, ok := d.elems[name]; ok {
return f(config, backend) return f(config, backend)
} }
return nil, nil, errors.New("not found") return nil, errors.New("not found")
} }

View file

@ -9,7 +9,6 @@ import (
"github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/eth/tracers" "github.com/ethereum/go-ethereum/eth/tracers"
"github.com/ethereum/go-ethereum/params" "github.com/ethereum/go-ethereum/params"
"github.com/ethereum/go-ethereum/rpc"
) )
func init() { func init() {
@ -22,7 +21,7 @@ func init() {
// as soon as we have a real live tracer. // as soon as we have a real live tracer.
type noop struct{} type noop struct{}
func newNoopTracer(_ json.RawMessage, _ tracers.Backend) (*tracing.Hooks, []rpc.API, error) { func newNoopTracer(_ json.RawMessage, _ tracers.Backend) (*tracing.Hooks, error) {
t := &noop{} t := &noop{}
return &tracing.Hooks{ return &tracing.Hooks{
OnTxStart: t.OnTxStart, OnTxStart: t.OnTxStart,
@ -42,7 +41,7 @@ func newNoopTracer(_ json.RawMessage, _ tracers.Backend) (*tracing.Hooks, []rpc.
OnCodeChange: t.OnCodeChange, OnCodeChange: t.OnCodeChange,
OnStorageChange: t.OnStorageChange, OnStorageChange: t.OnStorageChange,
OnLog: t.OnLog, OnLog: t.OnLog,
}, nil, nil }, nil
} }
func (t *noop) OnOpcode(pc uint64, op byte, gas, cost uint64, scope tracing.OpContext, rData []byte, depth int, err error) { func (t *noop) OnOpcode(pc uint64, op byte, gas, cost uint64, scope tracing.OpContext, rData []byte, depth int, err error) {

View file

@ -15,7 +15,6 @@ import (
"github.com/ethereum/go-ethereum/core/vm" "github.com/ethereum/go-ethereum/core/vm"
"github.com/ethereum/go-ethereum/eth/tracers" "github.com/ethereum/go-ethereum/eth/tracers"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
"github.com/ethereum/go-ethereum/rpc"
"gopkg.in/natefinch/lumberjack.v2" "gopkg.in/natefinch/lumberjack.v2"
) )
@ -75,15 +74,15 @@ 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. 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, _ tracers.Backend) (*tracing.Hooks, []rpc.API, error) { func newSupply(cfg json.RawMessage, _ tracers.Backend) (*tracing.Hooks, error) {
var config supplyTracerConfig var config supplyTracerConfig
if cfg != nil { if cfg != nil {
if err := json.Unmarshal(cfg, &config); err != nil { if err := json.Unmarshal(cfg, &config); err != nil {
return nil, nil, fmt.Errorf("failed to parse config: %v", err) return nil, fmt.Errorf("failed to parse config: %v", err)
} }
} }
if config.Path == "" { if config.Path == "" {
return nil, nil, errors.New("supply tracer output path is required") return nil, errors.New("supply tracer output path is required")
} }
// Store traces in a rotating file // Store traces in a rotating file
@ -107,7 +106,7 @@ func newSupply(cfg json.RawMessage, _ tracers.Backend) (*tracing.Hooks, []rpc.AP
OnEnter: t.OnEnter, OnEnter: t.OnEnter,
OnExit: t.OnExit, OnExit: t.OnExit,
OnClose: t.OnClose, OnClose: t.OnClose,
}, nil, nil }, nil
} }
func newSupplyInfo() supplyInfo { func newSupplyInfo() supplyInfo {