From a0a8603db3fb003158407c1078c81c53762769b6 Mon Sep 17 00:00:00 2001 From: "lightclient@protonmail.com" Date: Fri, 19 Nov 2021 14:54:03 +0100 Subject: [PATCH 1/3] cmd/evm: rename t8n args to improve clarity when tracing --- cmd/evm/internal/t8ntool/flags.go | 12 ++++++------ cmd/evm/internal/t8ntool/transition.go | 4 ++-- cmd/evm/main.go | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cmd/evm/internal/t8ntool/flags.go b/cmd/evm/internal/t8ntool/flags.go index 7db39479cbb24..be5fe4b14be03 100644 --- a/cmd/evm/internal/t8ntool/flags.go +++ b/cmd/evm/internal/t8ntool/flags.go @@ -30,17 +30,17 @@ var ( Name: "trace", Usage: "Output full trace logs to files .jsonl", } - TraceDisableMemoryFlag = cli.BoolTFlag{ - Name: "trace.nomemory", - Usage: "Disable full memory dump in traces", + TraceEnableMemoryFlag = cli.BoolFlag{ + Name: "trace.memory", + Usage: "Enable full memory dump in traces", } TraceDisableStackFlag = cli.BoolFlag{ Name: "trace.nostack", Usage: "Disable stack output in traces", } - TraceDisableReturnDataFlag = cli.BoolTFlag{ - Name: "trace.noreturndata", - Usage: "Disable return data output in traces", + TraceEnableReturnDataFlag = cli.BoolFlag{ + Name: "trace.returndata", + Usage: "Enable return data output in traces", } OutputBasedir = cli.StringFlag{ Name: "output.basedir", diff --git a/cmd/evm/internal/t8ntool/transition.go b/cmd/evm/internal/t8ntool/transition.go index 8f203b0eda398..cf6060a515ffd 100644 --- a/cmd/evm/internal/t8ntool/transition.go +++ b/cmd/evm/internal/t8ntool/transition.go @@ -102,8 +102,8 @@ func Transition(ctx *cli.Context) error { // Configure the EVM logger logConfig := &vm.LogConfig{ DisableStack: ctx.Bool(TraceDisableStackFlag.Name), - EnableMemory: !ctx.Bool(TraceDisableMemoryFlag.Name), - EnableReturnData: !ctx.Bool(TraceDisableReturnDataFlag.Name), + EnableMemory: ctx.Bool(TraceEnableMemoryFlag.Name), + EnableReturnData: ctx.Bool(TraceEnableReturnDataFlag.Name), Debug: true, } var prevFile *os.File diff --git a/cmd/evm/main.go b/cmd/evm/main.go index 66d221a702e89..1bba4ca55e4c9 100644 --- a/cmd/evm/main.go +++ b/cmd/evm/main.go @@ -138,9 +138,9 @@ var stateTransitionCommand = cli.Command{ Action: t8ntool.Transition, Flags: []cli.Flag{ t8ntool.TraceFlag, - t8ntool.TraceDisableMemoryFlag, + t8ntool.TraceEnableMemoryFlag, t8ntool.TraceDisableStackFlag, - t8ntool.TraceDisableReturnDataFlag, + t8ntool.TraceEnableReturnDataFlag, t8ntool.OutputBasedir, t8ntool.OutputAllocFlag, t8ntool.OutputResultFlag, From 95b2a381f2f4d6ec09d4c8b4a43126d3281ac2b4 Mon Sep 17 00:00:00 2001 From: "lightclient@protonmail.com" Date: Mon, 22 Nov 2021 16:25:40 +0100 Subject: [PATCH 2/3] cmd/evm: add back removed tracing flags and note that they are deprecated --- cmd/evm/internal/t8ntool/flags.go | 8 ++++++++ cmd/evm/internal/t8ntool/transition.go | 10 ++++++++-- cmd/evm/main.go | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/cmd/evm/internal/t8ntool/flags.go b/cmd/evm/internal/t8ntool/flags.go index be5fe4b14be03..b6054ea562baa 100644 --- a/cmd/evm/internal/t8ntool/flags.go +++ b/cmd/evm/internal/t8ntool/flags.go @@ -30,6 +30,10 @@ var ( Name: "trace", Usage: "Output full trace logs to files .jsonl", } + TraceDisableMemoryFlag = cli.BoolTFlag{ + Name: "trace.nomemory", + Usage: "Disable full memory dump in traces (deprecated)", + } TraceEnableMemoryFlag = cli.BoolFlag{ Name: "trace.memory", Usage: "Enable full memory dump in traces", @@ -38,6 +42,10 @@ var ( Name: "trace.nostack", Usage: "Disable stack output in traces", } + TraceDisableReturnDataFlag = cli.BoolTFlag{ + Name: "trace.noreturndata", + Usage: "Disable return data output in traces (deprecated)", + } TraceEnableReturnDataFlag = cli.BoolFlag{ Name: "trace.returndata", Usage: "Enable return data output in traces", diff --git a/cmd/evm/internal/t8ntool/transition.go b/cmd/evm/internal/t8ntool/transition.go index cf6060a515ffd..b54728cb7558c 100644 --- a/cmd/evm/internal/t8ntool/transition.go +++ b/cmd/evm/internal/t8ntool/transition.go @@ -99,11 +99,17 @@ func Transition(ctx *cli.Context) error { return NewError(ErrorIO, fmt.Errorf("failed creating output basedir: %v", err)) } if ctx.Bool(TraceFlag.Name) { + if ctx.IsSet(TraceDisableMemoryFlag.Name) && ctx.IsSet(TraceEnableMemoryFlag.Name) { + return NewError(ErrorConfig, fmt.Errorf("can't use both flags --%s and --%s", TraceDisableMemoryFlag.Name, TraceEnableMemoryFlag.Name)) + } + if ctx.IsSet(TraceDisableReturnDataFlag.Name) && ctx.IsSet(TraceEnableReturnDataFlag.Name) { + return NewError(ErrorConfig, fmt.Errorf("can't use both flags --%s and --%s", TraceDisableReturnDataFlag.Name, TraceEnableReturnDataFlag.Name)) + } // Configure the EVM logger logConfig := &vm.LogConfig{ DisableStack: ctx.Bool(TraceDisableStackFlag.Name), - EnableMemory: ctx.Bool(TraceEnableMemoryFlag.Name), - EnableReturnData: ctx.Bool(TraceEnableReturnDataFlag.Name), + EnableMemory: !ctx.Bool(TraceDisableMemoryFlag.Name) || ctx.Bool(TraceEnableMemoryFlag.Name), + EnableReturnData: !ctx.Bool(TraceDisableReturnDataFlag.Name) || ctx.Bool(TraceEnableReturnDataFlag.Name), Debug: true, } var prevFile *os.File diff --git a/cmd/evm/main.go b/cmd/evm/main.go index 1bba4ca55e4c9..2f404d48e9031 100644 --- a/cmd/evm/main.go +++ b/cmd/evm/main.go @@ -138,8 +138,10 @@ var stateTransitionCommand = cli.Command{ Action: t8ntool.Transition, Flags: []cli.Flag{ t8ntool.TraceFlag, + t8ntool.TraceDisableMemoryFlag, t8ntool.TraceEnableMemoryFlag, t8ntool.TraceDisableStackFlag, + t8ntool.TraceDisableReturnDataFlag, t8ntool.TraceEnableReturnDataFlag, t8ntool.OutputBasedir, t8ntool.OutputAllocFlag, From 62ede6ed97fa38a399ac5ab56f6a600aceddab94 Mon Sep 17 00:00:00 2001 From: "lightclient@protonmail.com" Date: Wed, 24 Nov 2021 00:08:13 +0100 Subject: [PATCH 3/3] cmd/evm: add warning when using deprecated flag --- cmd/evm/internal/t8ntool/transition.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cmd/evm/internal/t8ntool/transition.go b/cmd/evm/internal/t8ntool/transition.go index b54728cb7558c..9eca1e5a8ae0c 100644 --- a/cmd/evm/internal/t8ntool/transition.go +++ b/cmd/evm/internal/t8ntool/transition.go @@ -105,6 +105,12 @@ func Transition(ctx *cli.Context) error { if ctx.IsSet(TraceDisableReturnDataFlag.Name) && ctx.IsSet(TraceEnableReturnDataFlag.Name) { return NewError(ErrorConfig, fmt.Errorf("can't use both flags --%s and --%s", TraceDisableReturnDataFlag.Name, TraceEnableReturnDataFlag.Name)) } + if ctx.IsSet(TraceDisableMemoryFlag.Name) { + log.Warn(fmt.Sprintf("--%s has been deprecated in favour of --%s", TraceDisableMemoryFlag.Name, TraceEnableMemoryFlag.Name)) + } + if ctx.IsSet(TraceDisableReturnDataFlag.Name) { + log.Warn(fmt.Sprintf("--%s has been deprecated in favour of --%s", TraceDisableReturnDataFlag.Name, TraceEnableReturnDataFlag.Name)) + } // Configure the EVM logger logConfig := &vm.LogConfig{ DisableStack: ctx.Bool(TraceDisableStackFlag.Name),