aboutsummaryrefslogtreecommitdiffstats
path: root/ethchain/vm.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-07-15 06:25:49 +0800
committerobscuren <geffobscura@gmail.com>2014-07-15 06:25:49 +0800
commit2784e256f1c5f8112486e9037c9b00e628e5aa10 (patch)
treefc4740c381d00efa5777159c129ab9ad2c2836dc /ethchain/vm.go
parent50bc838047709796596f447ef3e60d0e4ab47fde (diff)
downloaddexon-2784e256f1c5f8112486e9037c9b00e628e5aa10.tar
dexon-2784e256f1c5f8112486e9037c9b00e628e5aa10.tar.gz
dexon-2784e256f1c5f8112486e9037c9b00e628e5aa10.tar.bz2
dexon-2784e256f1c5f8112486e9037c9b00e628e5aa10.tar.lz
dexon-2784e256f1c5f8112486e9037c9b00e628e5aa10.tar.xz
dexon-2784e256f1c5f8112486e9037c9b00e628e5aa10.tar.zst
dexon-2784e256f1c5f8112486e9037c9b00e628e5aa10.zip
Vm logging on diff
Diffstat (limited to 'ethchain/vm.go')
-rw-r--r--ethchain/vm.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/ethchain/vm.go b/ethchain/vm.go
index f1794ff77..788bde886 100644
--- a/ethchain/vm.go
+++ b/ethchain/vm.go
@@ -184,7 +184,8 @@ func (vm *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
var mult *big.Int
y, x := stack.Peekn()
val := closure.GetStorage(x)
- if val.IsEmpty() && len(y.Bytes()) > 0 {
+ //if val.IsEmpty() && len(y.Bytes()) > 0 {
+ if val.BigInt().Cmp(ethutil.Big0) == 0 && len(y.Bytes()) > 0 {
mult = ethutil.Big2
} else if !val.IsEmpty() && len(y.Bytes()) == 0 {
mult = ethutil.Big0
@@ -482,7 +483,7 @@ func (vm *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
case ORIGIN:
stack.Push(ethutil.BigD(vm.vars.Origin))
- vm.Printf(" => %v", vm.vars.Origin)
+ vm.Printf(" => %x", vm.vars.Origin)
case CALLER:
caller := closure.caller.Address()
stack.Push(ethutil.BigD(caller))
@@ -550,10 +551,10 @@ func (vm *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
}
code := closure.Script[cOff : cOff+l]
- fmt.Println("len:", l, "code off:", cOff, "mem off:", mOff)
+ //fmt.Println("len:", l, "code off:", cOff, "mem off:", mOff)
mem.Set(mOff, l, code)
- fmt.Println(Code(mem.Get(mOff, l)))
+ //fmt.Println(Code(mem.Get(mOff, l)))
case GASPRICE:
stack.Push(closure.Price)
@@ -743,6 +744,7 @@ func (vm *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
if closure.object.Amount.Cmp(value) < 0 {
vmlogger.Debugf("Insufficient funds to transfer value. Req %v, has %v", value, closure.object.Amount)
+
closure.ReturnGas(gas, nil, nil)
stack.Push(ethutil.BigFalse)