aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helper/vm.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-10-23 07:01:26 +0800
committerobscuren <geffobscura@gmail.com>2014-10-23 07:01:26 +0800
commit29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1 (patch)
treecd850fc126869e382ceb56f546aa579b37f7b63d /tests/helper/vm.go
parent51ecab6967a15b82f9285cd0ffd3352607dc8612 (diff)
downloadgo-tangerine-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar
go-tangerine-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.gz
go-tangerine-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.bz2
go-tangerine-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.lz
go-tangerine-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.xz
go-tangerine-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.tar.zst
go-tangerine-29b8a0bc5ffa7a674a06a211e1c8bdd1b6ed07b1.zip
Updated the VM & VM tests
* Stack Error shouldn't revert to previous state * Updated VM Test tool * Added Transfer method to VM Env
Diffstat (limited to 'tests/helper/vm.go')
-rw-r--r--tests/helper/vm.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/tests/helper/vm.go b/tests/helper/vm.go
index 06c3d4eca..f70ce48a6 100644
--- a/tests/helper/vm.go
+++ b/tests/helper/vm.go
@@ -51,17 +51,16 @@ func (self *Env) BlockHash() []byte { return nil }
func (self *Env) State() *ethstate.State { return self.state }
func (self *Env) GasLimit() *big.Int { return self.gasLimit }
func (self *Env) Transfer(from, to vm.Account, amount *big.Int) error {
- return nil
+ return vm.Transfer(from, to, amount)
}
func RunVm(state *ethstate.State, env, exec map[string]string) ([]byte, *big.Int, error) {
address := FromHex(exec["address"])
caller := state.GetOrNewStateObject(FromHex(exec["caller"]))
- caller.SetBalance(ethutil.Big(exec["value"]))
evm := vm.New(NewEnvFromMap(state, env, exec), vm.DebugVmTy)
-
execution := vm.NewExecution(evm, address, FromHex(exec["data"]), ethutil.Big(exec["gas"]), ethutil.Big(exec["gasPrice"]), ethutil.Big(exec["value"]))
+ execution.SkipTransfer = true
ret, err := execution.Exec(address, caller)
return ret, execution.Gas, err