|
|
|
@ -16,6 +16,8 @@ type Vm struct { |
|
|
|
|
logStr string |
|
|
|
|
|
|
|
|
|
err error |
|
|
|
|
// For logging
|
|
|
|
|
debug bool |
|
|
|
|
|
|
|
|
|
Dbg Debugger |
|
|
|
|
|
|
|
|
@ -32,7 +34,7 @@ func New(env Environment) *Vm { |
|
|
|
|
lt = LogTyDiff |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return &Vm{env: env, logTy: lt, Recoverable: true} |
|
|
|
|
return &Vm{debug: false, env: env, logTy: lt, Recoverable: true} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, callData []byte) (ret []byte, err error) { |
|
|
|
@ -938,17 +940,21 @@ func (self *Vm) RunPrecompiled(p *PrecompiledAccount, callData []byte, context * |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *Vm) Printf(format string, v ...interface{}) VirtualMachine { |
|
|
|
|
if self.logTy == LogTyPretty { |
|
|
|
|
self.logStr += fmt.Sprintf(format, v...) |
|
|
|
|
if self.debug { |
|
|
|
|
if self.logTy == LogTyPretty { |
|
|
|
|
self.logStr += fmt.Sprintf(format, v...) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return self |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func (self *Vm) Endl() VirtualMachine { |
|
|
|
|
if self.logTy == LogTyPretty { |
|
|
|
|
vmlogger.Debugln(self.logStr) |
|
|
|
|
self.logStr = "" |
|
|
|
|
if self.debug { |
|
|
|
|
if self.logTy == LogTyPretty { |
|
|
|
|
vmlogger.Debugln(self.logStr) |
|
|
|
|
self.logStr = "" |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return self |
|
|
|
|