cmd/evm: add --trace.tracer.config

Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
jsvisa 2023-11-20 04:34:15 +00:00
parent 4c332a7935
commit 5044f9571d
3 changed files with 11 additions and 3 deletions

View file

@ -34,6 +34,10 @@ var (
Name: "trace.tracer", Name: "trace.tracer",
Usage: "Tracer name", Usage: "Tracer name",
} }
TraceTracerConfigFlag = &cli.StringFlag{
Name: "trace.tracer.config",
Usage: "The config of trace.tracer, in JSON encoded format",
}
TraceDisableMemoryFlag = &cli.BoolFlag{ TraceDisableMemoryFlag = &cli.BoolFlag{
Name: "trace.nomemory", Name: "trace.nomemory",
Value: true, Value: true,

View file

@ -125,10 +125,13 @@ func Transition(ctx *cli.Context) error {
} }
if ctx.Bool(TraceFlag.Name) { if ctx.Bool(TraceFlag.Name) {
if ctx.IsSet(TraceTracerFlag.Name) { if ctx.IsSet(TraceTracerFlag.Name) {
config := &tracers.TraceConfig{} var config json.RawMessage
tracer, err := tracers.DefaultDirectory.New(ctx.String(TraceTracerFlag.Name), nil, config.TracerConfig) if ctx.IsSet(TraceTracerConfigFlag.Name) {
config = []byte(ctx.String(TraceTracerConfigFlag.Name))
}
tracer, err := tracers.DefaultDirectory.New(ctx.String(TraceTracerFlag.Name), nil, config)
if err != nil { if err != nil {
return NewError(ErrorConfig, fmt.Errorf("%w unknown value of --%s", err, TraceTracerFlag)) return NewError(ErrorConfig, fmt.Errorf("can't instantiate a trace instance: %w", err))
} }
getTracer = func(txIndex int, txHash common.Hash) (*traceWriter, error) { getTracer = func(txIndex int, txHash common.Hash) (*traceWriter, error) {

View file

@ -148,6 +148,7 @@ var stateTransitionCommand = &cli.Command{
Flags: []cli.Flag{ Flags: []cli.Flag{
t8ntool.TraceFlag, t8ntool.TraceFlag,
t8ntool.TraceTracerFlag, t8ntool.TraceTracerFlag,
t8ntool.TraceTracerConfigFlag,
t8ntool.TraceDisableMemoryFlag, t8ntool.TraceDisableMemoryFlag,
t8ntool.TraceEnableMemoryFlag, t8ntool.TraceEnableMemoryFlag,
t8ntool.TraceDisableStackFlag, t8ntool.TraceDisableStackFlag,