diff options
author | obscuren <geffobscura@gmail.com> | 2014-03-21 06:17:53 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-03-21 06:17:53 +0800 |
commit | 7705b23f248156878d00c301fbbadafedaf7e3d2 (patch) | |
tree | 11f3373c598106b9f6f689370079a9b220a42e34 /ethchain/vm.go | |
parent | f3d27bf5d878120346f8cdd0744e7f1f8e1ee631 (diff) | |
download | dexon-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.go | 4 |
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() |