aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/ethereum/serpent-go/serpent/examples/eth15/multiforward.se
blob: 577794d9761d1cd494116826190ecc951a8d3e7a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
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