forked from ethereum/aleth
-
Notifications
You must be signed in to change notification settings - Fork 1
/
include.lll
19 lines (15 loc) · 914 Bytes
/
include.lll
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
(def 'gav 0x51ba59315b3a95761d0863b05ccc7a7f54703d99)
(def 'alloc (len) (asm msize 0 1 len msize add sub mstore8))
(def 'send (to value) (call (- (gas) 21) to value 0 0 0 0))
(def 'send (gaslimit to value) (call gaslimit to value 0 0 0 0))
(def 'msg (gaslimit to value data datasize outsize) { [32]:outsize [0]:(alloc @32) (call gaslimit to value data datasize @0 @32) @0 })
(def 'msg (gaslimit to value data datasize) { (call gaslimit to value data datasize 0 32) @0 })
(def 'msg (gaslimit to value data) { [0]:data (msg gaslimit to value 0 32) })
(def 'create (to value code) { [0]:(msize) (create to value @0 (lll code @0)) })
(def 'sha3 (val) { [0]:val (sha3 0 32) })
(def 'return (val) { [0]:val (return 0 32) })
(def 'makeperm (name pos) { (def name (sload pos)) (def name (v) (sstore pos v)) } )
(def 'permcount 0)
(def 'perm (name) { (makeperm name permcount) (def 'permcount (+ permcount 1)) } )
}