BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1LgAb...suBD
operations (1)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
270
 
1
parameter (or
2
            (or
3
              (lambda %callContract (pair unit (list operation))
4
                                    (pair unit (list operation)))
5
              (unit %default))
6
            (or
7
              (pair %logRequest
8
                (pair %params (nat %card) (pair (nat %gameId) (string %hash)))
9
                (pair (nat %randomNumber) (nat %requestId)))
10
              (pair %makeRequest (address %contractAddress)
11
                                 (pair (string %entryPoint)
12
                                       (pair (string %entryPointParams)
13
                                             (pair (string %randomNumberExcludes)
14
                                                   (pair (nat %randomNumberMax)
15
                                                         (pair (nat %randomNumberType)
16
                                                               (string %requestId)))))))));
17
storage (pair (address %adContract)
18
              (pair (address %admin)
19
                    (pair (nat %currentRequestIndex)
20
                          (pair
21
                            (pair %entryPointParams (int %card)
22
                                                    (pair (int %gameId) (string %hash)))
23
                            (pair (mutez %fee)
24
                                  (pair (address %oracle)
25
                                        (pair
26
                                          (map %requests nat
27
                                                         (pair
28
                                                           (address %contractAddress)
29
                                                           (pair (string %entryPoint)
30
                                                                 (pair
31
                                                                   (string %entryPointParams)
32
                                                                   (pair
33
                                                                     (string %opHash)
34
                                                                     (pair
35
                                                                       (nat %randomNumber)
36
                                                                       (pair
37
                                                                         (string %randomNumberExcludes)
38
                                                                         (pair
39
                                                                           (nat %randomNumberMax)
40
                                                                           (pair
41
                                                                             (timestamp %requestFillTime)
42
                                                                             (pair
43
                                                                               (string %requestId)
44
                                                                               (pair
45
                                                                                 (int %requestStatus)
46
                                                                                 (pair
47
                                                                                   (timestamp %requestTime)
48
                                                                                   (pair
49
                                                                                     (address %requester)
50
                                                                                     (nat %type))))))))))))))
51
                                          (address %txlContract))))))));
52
code { UNPAIR ;
53
       IF_LEFT
54
         { IF_LEFT
55
             { NIL operation ; UNIT ; PAIR ; EXEC ; CDR }
56
             { DROP ; NIL operation } }
57
         { IF_LEFT
58
             { NIL operation ;
59
               DUP 2 ;
60
               CAR ;
61
               EMIT (pair (nat %card) (pair (nat %gameId) (string %hash))) ;
62
               CONS ;
63
               DUP 3 ;
64
               GET 13 ;
65
               DUP 3 ;
66
               GET 4 ;
67
               GET ;
68
               IF_NONE { PUSH int 98 ; FAILWITH } {} ;
69
               GET 3 ;
70
               EMIT string ;
71
               CONS ;
72
               DUP 3 ;
73
               CAR ;
74
               CONTRACT %firstCard (pair (nat %card) (pair (nat %gameId) (string %hash))) ;
75
               IF_NONE { PUSH int 101 ; FAILWITH } {} ;
76
               PUSH mutez 1000 ;
77
               DUP 4 ;
78
               CAR ;
79
               TRANSFER_TOKENS ;
80
               CONS ;
81
               DIG 2 ;
82
               DUP ;
83
               GET 13 ;
84
               DUP ;
85
               DUP 5 ;
86
               GET 4 ;
87
               DUP ;
88
               DUG 2 ;
89
               GET ;
90
               IF_NONE { PUSH int 109 ; FAILWITH } {} ;
91
               DUP 6 ;
92
               CAR ;
93
               GET 4 ;
94
               UPDATE 7 ;
95
               SOME ;
96
               SWAP ;
97
               UPDATE ;
98
               UPDATE 13 ;
99
               DUP ;
100
               GET 13 ;
101
               DUP ;
102
               DUP 5 ;
103
               GET 4 ;
104
               DUP ;
105
               DUG 2 ;
106
               GET ;
107
               IF_NONE { PUSH int 110 ; FAILWITH } {} ;
108
               DUP 6 ;
109
               GET 3 ;
110
               UPDATE 9 ;
111
               SOME ;
112
               SWAP ;
113
               UPDATE ;
114
               UPDATE 13 ;
115
               DUP ;
116
               GET 13 ;
117
               DUP ;
118
               DUP 5 ;
119
               GET 4 ;
120
               DUP ;
121
               DUG 2 ;
122
               GET ;
123
               IF_NONE { PUSH int 111 ; FAILWITH } {} ;
124
               NOW ;
125
               UPDATE 15 ;
126
               SOME ;
127
               SWAP ;
128
               UPDATE ;
129
               UPDATE 13 ;
130
               DUP ;
131
               GET 13 ;
132
               DUP ;
133
               DIG 4 ;
134
               GET 4 ;
135
               DUP ;
136
               DUG 2 ;
137
               GET ;
138
               IF_NONE { PUSH int 112 ; FAILWITH } {} ;
139
               PUSH int 1 ;
140
               UPDATE 19 ;
141
               SOME ;
142
               SWAP ;
143
               UPDATE ;
144
               UPDATE 13 ;
145
               SWAP }
146
             { PUSH int 0 ;
147
               DUP 3 ;
148
               GET 11 ;
149
               SENDER ;
150
               COMPARE ;
151
               EQ ;
152
               IF
153
                 { DROP ; PUSH int 1 ; NIL operation }
154
                 { NIL operation ;
155
                   PUSH string "wrongOracleFee" ;
156
                   EMIT %wrongOracleFee string ;
157
                   CONS } ;
158
               DUP 4 ;
159
               GET 9 ;
160
               AMOUNT ;
161
               COMPARE ;
162
               EQ ;
163
               IF
164
                 { SWAP ; DROP ; PUSH int 1 ; SWAP }
165
                 { PUSH string "noFeeNotAdmin" ; EMIT %noFeeNotAdmin string ; CONS } ;
166
               PUSH int 1 ;
167
               DUP 3 ;
168
               COMPARE ;
169
               EQ ;
170
               IF
171
                 { PUSH int 1 ;
172
                   PUSH nat 0 ;
173
                   DUP 6 ;
174
                   GET 5 ;
175
                   DUP 2 ;
176
                   COMPARE ;
177
                   LT ;
178
                   LOOP { DUP 5 ;
179
                          GET 12 ;
180
                          DUP 7 ;
181
                          GET 13 ;
182
                          DUP 3 ;
183
                          GET ;
184
                          IF_NONE { PUSH int 63 ; FAILWITH } {} ;
185
                          GET 17 ;
186
                          COMPARE ;
187
                          EQ ;
188
                          IF { SWAP ; DROP ; PUSH int 0 ; SWAP } {} ;
189
                          PUSH nat 1 ;
190
                          ADD ;
191
                          DUP 6 ;
192
                          GET 5 ;
193
                          DUP 2 ;
194
                          COMPARE ;
195
                          LT } ;
196
                   PUSH int 1 ;
197
                   DUP 3 ;
198
                   COMPARE ;
199
                   EQ ;
200
                   IF
201
                     { DUP 5 ;
202
                       GET 11 ;
203
                       SENDER ;
204
                       NOW ;
205
                       PUSH int 0 ;
206
                       DUP 9 ;
207
                       GET 12 ;
208
                       NOW ;
209
                       DUP 11 ;
210
                       GET 9 ;
211
                       DUP 12 ;
212
                       GET 7 ;
213
                       PUSH nat 0 ;
214
                       PUSH string "" ;
215
                       DUP 15 ;
216
                       GET 5 ;
217
                       DUP 16 ;
218
                       GET 3 ;
219
                       DUP 17 ;
220
                       CAR ;
221
                       PAIR 13 ;
222
                       SWAP ;
223
                       DROP ;
224
                       SWAP ;
225
                       DROP ;
226
                       DIG 2 ;
227
                       DROP ;
228
                       DIG 2 ;
229
                       DROP ;
230
                       SWAP ;
231
                       NOW ;
232
                       SENDER ;
233
                       PAIR ;
234
                       EMIT %randomRequested (pair address timestamp) ;
235
                       CONS ;
236
                       SWAP ;
237
                       DUP 3 ;
238
                       DUP ;
239
                       GET 13 ;
240
                       DIG 2 ;
241
                       SOME ;
242
                       DIG 4 ;
243
                       GET 5 ;
244
                       UPDATE ;
245
                       UPDATE 13 ;
246
                       DUP ;
247
                       GET 5 ;
248
                       PUSH nat 1 ;
249
                       ADD ;
250
                       UPDATE 5 ;
251
                       SWAP }
252
                     { DROP 2 ;
253
                       SWAP ;
254
                       DROP ;
255
                       SWAP ;
256
                       DROP ;
257
                       PUSH string "notNewRequest" ;
258
                       EMIT string ;
259
                       CONS } }
260
                 { SWAP ;
261
                   DROP ;
262
                   SWAP ;
263
                   DROP ;
264
                   PUSH string "failed Oracle" ;
265
                   EMIT %failedOracle string ;
266
                   CONS } } } ;
267
       NIL operation ;
268
       SWAP ;
269
       ITER { CONS } ;
270
       PAIR }