mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-18 18:02:24 +00:00
cmd/evm: try to consolidate evm output switches
This commit is contained in:
parent
f0e7382f38
commit
9e3ddadf2f
5 changed files with 12 additions and 24 deletions
|
|
@ -97,7 +97,6 @@ func Transition(ctx *cli.Context) error {
|
||||||
DisableStack: ctx.Bool(TraceDisableStackFlag.Name),
|
DisableStack: ctx.Bool(TraceDisableStackFlag.Name),
|
||||||
EnableMemory: ctx.Bool(TraceEnableMemoryFlag.Name),
|
EnableMemory: ctx.Bool(TraceEnableMemoryFlag.Name),
|
||||||
EnableReturnData: ctx.Bool(TraceEnableReturnDataFlag.Name),
|
EnableReturnData: ctx.Bool(TraceEnableReturnDataFlag.Name),
|
||||||
Debug: true,
|
|
||||||
}
|
}
|
||||||
getTracer = func(txIndex int, txHash common.Hash, _ *params.ChainConfig) (*tracers.Tracer, io.WriteCloser, error) {
|
getTracer = func(txIndex int, txHash common.Hash, _ *params.ChainConfig) (*tracers.Tracer, io.WriteCloser, error) {
|
||||||
traceFile, err := os.Create(filepath.Join(baseDir, fmt.Sprintf("trace-%d-%v.jsonl", txIndex, txHash.String())))
|
traceFile, err := os.Create(filepath.Join(baseDir, fmt.Sprintf("trace-%d-%v.jsonl", txIndex, txHash.String())))
|
||||||
|
|
|
||||||
|
|
@ -243,6 +243,9 @@ func tracerFromFlags(ctx *cli.Context) *tracing.Hooks {
|
||||||
return logger.NewStreamingStructLogger(config, os.Stderr).Hooks()
|
return logger.NewStreamingStructLogger(config, os.Stderr).Hooks()
|
||||||
case ctx.Bool(TraceFlag.Name) && ctx.String(TraceFormatFlag.Name) == "json":
|
case ctx.Bool(TraceFlag.Name) && ctx.String(TraceFormatFlag.Name) == "json":
|
||||||
return logger.NewJSONLogger(config, os.Stderr)
|
return logger.NewJSONLogger(config, os.Stderr)
|
||||||
|
case ctx.Bool(TraceFlag.Name) &&
|
||||||
|
(ctx.String(TraceFormatFlag.Name) == "md" || ctx.String(TraceFormatFlag.Name) == "markdown"):
|
||||||
|
return logger.NewMarkdownLogger(config, os.Stderr).Hooks()
|
||||||
case ctx.Bool(MachineFlag.Name):
|
case ctx.Bool(MachineFlag.Name):
|
||||||
return logger.NewJSONLogger(config, os.Stderr)
|
return logger.NewJSONLogger(config, os.Stderr)
|
||||||
case ctx.Bool(DebugFlag.Name):
|
case ctx.Bool(DebugFlag.Name):
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/core/vm"
|
"github.com/ethereum/go-ethereum/core/vm"
|
||||||
"github.com/ethereum/go-ethereum/core/vm/runtime"
|
"github.com/ethereum/go-ethereum/core/vm/runtime"
|
||||||
"github.com/ethereum/go-ethereum/eth/tracers/logger"
|
|
||||||
"github.com/ethereum/go-ethereum/internal/flags"
|
"github.com/ethereum/go-ethereum/internal/flags"
|
||||||
"github.com/ethereum/go-ethereum/params"
|
"github.com/ethereum/go-ethereum/params"
|
||||||
"github.com/ethereum/go-ethereum/triedb"
|
"github.com/ethereum/go-ethereum/triedb"
|
||||||
|
|
@ -66,6 +65,7 @@ var runCommand = &cli.Command{
|
||||||
SenderFlag,
|
SenderFlag,
|
||||||
ValueFlag,
|
ValueFlag,
|
||||||
StatDumpFlag,
|
StatDumpFlag,
|
||||||
|
DumpFlag,
|
||||||
}, traceFlags),
|
}, traceFlags),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -197,13 +197,6 @@ func timedExec(bench bool, execFunc func() ([]byte, uint64, error)) ([]byte, exe
|
||||||
}
|
}
|
||||||
|
|
||||||
func runCmd(ctx *cli.Context) error {
|
func runCmd(ctx *cli.Context) error {
|
||||||
logconfig := &logger.Config{
|
|
||||||
EnableMemory: !ctx.Bool(TraceDisableMemoryFlag.Name),
|
|
||||||
DisableStack: ctx.Bool(TraceDisableStackFlag.Name),
|
|
||||||
DisableStorage: ctx.Bool(TraceDisableStorageFlag.Name),
|
|
||||||
EnableReturnData: !ctx.Bool(TraceDisableReturnDataFlag.Name),
|
|
||||||
Debug: ctx.Bool(DebugFlag.Name),
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
tracer *tracing.Hooks
|
tracer *tracing.Hooks
|
||||||
|
|
@ -215,12 +208,7 @@ func runCmd(ctx *cli.Context) error {
|
||||||
blobHashes []common.Hash // TODO (MariusVanDerWijden) implement blob hashes in state tests
|
blobHashes []common.Hash // TODO (MariusVanDerWijden) implement blob hashes in state tests
|
||||||
blobBaseFee = new(big.Int) // TODO (MariusVanDerWijden) implement blob fee in state tests
|
blobBaseFee = new(big.Int) // TODO (MariusVanDerWijden) implement blob fee in state tests
|
||||||
)
|
)
|
||||||
if ctx.Bool(MachineFlag.Name) {
|
tracer = tracerFromFlags(ctx)
|
||||||
tracer = logger.NewJSONLogger(logconfig, os.Stdout)
|
|
||||||
} else if ctx.Bool(DebugFlag.Name) {
|
|
||||||
tracer = logger.NewStreamingStructLogger(logconfig, os.Stderr).Hooks()
|
|
||||||
}
|
|
||||||
|
|
||||||
initialGas := ctx.Uint64(GasFlag.Name)
|
initialGas := ctx.Uint64(GasFlag.Name)
|
||||||
genesisConfig := new(core.Genesis)
|
genesisConfig := new(core.Genesis)
|
||||||
genesisConfig.GasLimit = initialGas
|
genesisConfig.GasLimit = initialGas
|
||||||
|
|
|
||||||
|
|
@ -758,7 +758,6 @@ func (api *API) standardTraceBlockToFile(ctx context.Context, block *types.Block
|
||||||
logConfig = config.Config
|
logConfig = config.Config
|
||||||
txHash = config.TxHash
|
txHash = config.TxHash
|
||||||
}
|
}
|
||||||
logConfig.Debug = true
|
|
||||||
|
|
||||||
// Execute transaction, either tracing all or just the requested one
|
// Execute transaction, either tracing all or just the requested one
|
||||||
var (
|
var (
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,7 @@ type Config struct {
|
||||||
DisableStack bool // disable stack capture
|
DisableStack bool // disable stack capture
|
||||||
DisableStorage bool // disable storage capture
|
DisableStorage bool // disable storage capture
|
||||||
EnableReturnData bool // enable return data capture
|
EnableReturnData bool // enable return data capture
|
||||||
Debug bool // print output during capture end
|
|
||||||
Limit int // maximum size of output, but zero means unlimited
|
Limit int // maximum size of output, but zero means unlimited
|
||||||
|
|
||||||
// Chain overrides, can be used to execute a trace using future fork rules
|
// Chain overrides, can be used to execute a trace using future fork rules
|
||||||
Overrides *params.ChainConfig `json:"overrides,omitempty"`
|
Overrides *params.ChainConfig `json:"overrides,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
@ -324,12 +322,13 @@ func (l *StructLogger) OnExit(depth int, output []byte, gasUsed uint64, err erro
|
||||||
}
|
}
|
||||||
l.output = output
|
l.output = output
|
||||||
l.err = err
|
l.err = err
|
||||||
if l.cfg.Debug {
|
// TODO @holiman, should we output the per-scope output?
|
||||||
fmt.Printf("%#x\n", output)
|
//if l.cfg.Debug {
|
||||||
if err != nil {
|
// fmt.Printf("%#x\n", output)
|
||||||
fmt.Printf(" error: %v\n", err)
|
// if err != nil {
|
||||||
}
|
// fmt.Printf(" error: %v\n", err)
|
||||||
}
|
// }
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *StructLogger) GetResult() (json.RawMessage, error) {
|
func (l *StructLogger) GetResult() (json.RawMessage, error) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue