diff options
Diffstat (limited to 'Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/examples/eth15/multiforward.se')
-rw-r--r-- | Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/examples/eth15/multiforward.se | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/examples/eth15/multiforward.se b/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/examples/eth15/multiforward.se new file mode 100644 index 000000000..577794d97 --- /dev/null +++ b/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/examples/eth15/multiforward.se @@ -0,0 +1,14 @@ +init: + contract.storage[0] = msg.sender +code: + if msg.sender != contract.storage[0]: + stop + i = 0 + while i < ~calldatasize(): + to = ~calldataload(i) + value = ~calldataload(i+20) / 256^12 + datasize = ~calldataload(i+32) / 256^30 + data = alloc(datasize) + ~calldatacopy(data, i+34, datasize) + ~call(tx.gas - 25, to, value, data, datasize, 0, 0) + i += 34 + datasize |