aboutsummaryrefslogtreecommitdiffstats
path: root/ethvm/vm.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-08-15 22:19:10 +0800
committerobscuren <geffobscura@gmail.com>2014-08-15 22:19:10 +0800
commit7d95e8624a3bdca4a68b2a7ff6ed133264088cc1 (patch)
tree2509b79c2b24015e339132eb80e28773df0b106e /ethvm/vm.go
parent2b9f71c6ca45929ccef844838c633aa0af5802be (diff)
downloadgo-tangerine-7d95e8624a3bdca4a68b2a7ff6ed133264088cc1.tar
go-tangerine-7d95e8624a3bdca4a68b2a7ff6ed133264088cc1.tar.gz
go-tangerine-7d95e8624a3bdca4a68b2a7ff6ed133264088cc1.tar.bz2
go-tangerine-7d95e8624a3bdca4a68b2a7ff6ed133264088cc1.tar.lz
go-tangerine-7d95e8624a3bdca4a68b2a7ff6ed133264088cc1.tar.xz
go-tangerine-7d95e8624a3bdca4a68b2a7ff6ed133264088cc1.tar.zst
go-tangerine-7d95e8624a3bdca4a68b2a7ff6ed133264088cc1.zip
Added message to closure && added change addresses
Diffstat (limited to 'ethvm/vm.go')
-rw-r--r--ethvm/vm.go7
1 files changed, 3 insertions, 4 deletions
diff --git a/ethvm/vm.go b/ethvm/vm.go
index a0d4db591..789697865 100644
--- a/ethvm/vm.go
+++ b/ethvm/vm.go
@@ -645,8 +645,7 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
val, loc := stack.Popn()
closure.SetStorage(loc, ethutil.NewValue(val))
- // Add the change to manifest
- self.env.State().Manifest().AddStorageChange(closure.Object(), loc.Bytes(), val)
+ closure.message.AddStorageChange(loc.Bytes())
self.Printf(" {0x%x : 0x%x}", loc.Bytes(), val.Bytes())
case JUMP:
@@ -719,7 +718,7 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
closure.UseGas(closure.Gas)
// Create the closure
- c := NewClosure(closure, contract, initCode, gas, closure.Price)
+ c := NewClosure(msg, closure, contract, initCode, gas, closure.Price)
// Call the closure and set the return value as
// main script.
contract.Code, _, err = c.Call(self, nil)
@@ -783,7 +782,7 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
stateObject.AddAmount(value)
// Create a new callable closure
- c := NewClosure(closure, stateObject, stateObject.Code, gas, closure.Price)
+ c := NewClosure(msg, closure, stateObject, stateObject.Code, gas, closure.Price)
// Executer the closure and get the return value (if any)
ret, _, err := c.Call(self, args)
if err != nil {