aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/evm/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/evm/main.go')
-rw-r--r--cmd/evm/main.go18
1 files changed, 8 insertions, 10 deletions
diff --git a/cmd/evm/main.go b/cmd/evm/main.go
index aa48f6ede..3f44e0f3c 100644
--- a/cmd/evm/main.go
+++ b/cmd/evm/main.go
@@ -35,8 +35,11 @@ import (
"gopkg.in/urfave/cli.v1"
)
+var gitCommit = "" // Git SHA1 commit hash of the release (set via linker flags)
+
var (
- app *cli.App
+ app = utils.NewApp(gitCommit, "the evm command line interface")
+
DebugFlag = cli.BoolFlag{
Name: "debug",
Usage: "output full trace logs",
@@ -91,7 +94,6 @@ var (
)
func init() {
- app = utils.NewApp("0.2", "the evm command line interface")
app.Flags = []cli.Flag{
CreateFlag,
DebugFlag,
@@ -117,10 +119,13 @@ func run(ctx *cli.Context) error {
statedb, _ := state.New(common.Hash{}, db)
sender := statedb.CreateAccount(common.StringToAddress("sender"))
+ logger := vm.NewStructLogger(nil)
+
vmenv := NewEnv(statedb, common.StringToAddress("evmuser"), common.Big(ctx.GlobalString(ValueFlag.Name)), vm.Config{
Debug: ctx.GlobalBool(DebugFlag.Name),
ForceJit: ctx.GlobalBool(ForceJitFlag.Name),
EnableJit: !ctx.GlobalBool(DisableJitFlag.Name),
+ Tracer: logger,
})
tstart := time.Now()
@@ -157,7 +162,7 @@ func run(ctx *cli.Context) error {
statedb.Commit()
fmt.Println(string(statedb.Dump()))
}
- vm.StdErrFormat(vmenv.StructLogs())
+ vm.StdErrFormat(logger.StructLogs())
if ctx.GlobalBool(SysStatFlag.Name) {
var mem runtime.MemStats
@@ -209,7 +214,6 @@ func NewEnv(state *state.StateDB, transactor common.Address, value *big.Int, cfg
value: value,
time: big.NewInt(time.Now().Unix()),
}
- cfg.Logger.Collector = env
env.evm = vm.New(env, cfg)
return env
@@ -242,12 +246,6 @@ func (self *VMEnv) GetHash(n uint64) common.Hash {
}
return common.Hash{}
}
-func (self *VMEnv) AddStructLog(log vm.StructLog) {
- self.logs = append(self.logs, log)
-}
-func (self *VMEnv) StructLogs() []vm.StructLog {
- return self.logs
-}
func (self *VMEnv) AddLog(log *vm.Log) {
self.state.AddLog(log)
}