aboutsummaryrefslogtreecommitdiffstats
path: root/ethchain/vm.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-03-21 06:17:53 +0800
committerobscuren <geffobscura@gmail.com>2014-03-21 06:17:53 +0800
commit7705b23f248156878d00c301fbbadafedaf7e3d2 (patch)
tree11f3373c598106b9f6f689370079a9b220a42e34 /ethchain/vm.go
parentf3d27bf5d878120346f8cdd0744e7f1f8e1ee631 (diff)
downloaddexon-7705b23f248156878d00c301fbbadafedaf7e3d2.tar.gz
dexon-7705b23f248156878d00c301fbbadafedaf7e3d2.tar.zst
dexon-7705b23f248156878d00c301fbbadafedaf7e3d2.zip
Removed caller from tx and added "callership" to account.
Transactions can no longer serve as callers. Accounts are now the initial callee of closures. Transactions now serve as transport to call closures.
Diffstat (limited to 'ethchain/vm.go')
-rw-r--r--ethchain/vm.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/ethchain/vm.go b/ethchain/vm.go
index 6479409f8..3d85e2c09 100644
--- a/ethchain/vm.go
+++ b/ethchain/vm.go
@@ -87,6 +87,10 @@ func (vm *Vm) RunClosure(closure *Closure) []byte {
// Pop value of the stack
val, mStart := stack.Popn()
mem.Set(mStart.Int64(), 32, ethutil.BigToBytes(val, 256))
+
+ case oCALLDATA:
+ offset := stack.Pop()
+ mem.Set(offset.Int64(), int64(len(closure.Args)), closure.Args)
case oCALL:
// Pop return size and offset
retSize, retOffset := stack.Popn()