events.aes
1 contract interface Remote = 2 entrypoint dummy : () => unit 3 4 contract Events = 5 6 // Valid index types 7 type ix1 = int 8 type ix2 = bool 9 type ix3 = bits 10 type ix4 = bytes(12) 11 type ix5 = hash // bytes(32) 12 type ix6 = address 13 type ix7 = Remote 14 type ix8 = oracle(int, int) 15 type ix9 = oracle_query(int, int) 16 17 // Valid payload types 18 type data1 = string 19 type data2 = signature // bytes(64) 20 type data3 = bytes(65) 21 22 datatype event 23 = Nodata0 24 | Nodata1(ix1) 25 | Nodata2(ix2, ix3) 26 | Nodata3(ix4, ix5, ix6) 27 | Data0(data1) 28 | Data1(data2, ix7) 29 | Data2(ix8, data3, ix9) 30 | Data3(ix1, ix2, ix5, data1) 31 | Event1(int, int, string) 32 | Event2(string, address) 33 34 entrypoint nodata0() = Chain.event(Nodata0) 35 entrypoint nodata1(ix1) = Chain.event(Nodata1(ix1)) 36 entrypoint nodata2(ix2, ix3) = Chain.event(Nodata2(ix2, ix3)) 37 entrypoint nodata3(ix4, ix5, ix6) = Chain.event(Nodata3(ix4, ix5, ix6)) 38 entrypoint data0(data1) = Chain.event(Data0(data1)) 39 entrypoint data1(data2, ix7) = Chain.event(Data1(data2, ix7)) 40 entrypoint data2(ix8, data3, ix9) = Chain.event(Data2(ix8, data3, ix9)) 41 entrypoint data3(ix1, ix2, ix5, data1) = Chain.event(Data3(ix1, ix2, ix5, data1)) 42 43 entrypoint f1(x : int, y : string) = Chain.event(Event1(x, x+1, y)) 44 entrypoint f2(s : string) = Chain.event(Event2(s, Call.caller))