BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1Sf3q...o8eB
operations (25)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
364
 
1
parameter (or
2
            (or (nat %flash_swap)
3
                (or (unit %flash_swap_internal) (address %propose_administrator)))
4
            (or (address %remove_administrator)
5
                (or (unit %set_administrator)
6
                    (list %set_balance (pair
7
                                        (pair %request (address %owner) (nat %token_id))
8
                                        (nat %balance))))));
9
storage (pair
10
          (pair (big_map %administrators address nat)
11
                (pair (nat %amount) (nat %current_token_balance)))
12
          (pair (pair (address %receiver) (address %swap))
13
                (pair (address %token_address) (nat %token_id))));
14
code { LAMBDA
15
         unit
16
         unit
17
         { DROP ; SELF_ADDRESS ; SENDER ; COMPARE ; EQ ; IF {} { PUSH int 400 ; FAILWITH } ; UNIT } ;
18
       SWAP ;
19
       LAMBDA
20
         (pair unit
21
               (pair (pair (big_map address nat) (pair nat nat))
22
                     (pair (pair address address) (pair address nat))))
23
         (pair unit
24
               (pair (pair (big_map address nat) (pair nat nat))
25
                     (pair (pair address address) (pair address nat))))
26
         { CDR ;
27
           PUSH nat 1 ;
28
           DUP 2 ;
29
           CAR ;
30
           CAR ;
31
           SENDER ;
32
           GET ;
33
           IF_NONE { PUSH int 21 ; FAILWITH } {} ;
34
           COMPARE ;
35
           EQ ;
36
           IF {} { PUSH int 401 ; FAILWITH } ;
37
           UNIT ;
38
           PAIR } ;
39
       SWAP ;
40
       UNPAIR ;
41
       IF_LEFT
42
         { IF_LEFT
43
             { DIG 3 ;
44
               DROP ;
45
               SWAP ;
46
               UNPAIR ;
47
               UNPAIR ;
48
               SWAP ;
49
               CDR ;
50
               DIG 3 ;
51
               PAIR ;
52
               SWAP ;
53
               PAIR ;
54
               PAIR ;
55
               UNIT ;
56
               PAIR ;
57
               EXEC ;
58
               CDR ;
59
               NIL operation ;
60
               DUP 2 ;
61
               GET 5 ;
62
               CONTRACT %balance_of (pair
63
                                      (list %requests (pair (address %owner)
64
                                                           (nat %token_id)))
65
                                      (contract %callback (list (pair
66
                                                                (pair %request
67
                                                                  (address %owner)
68
                                                                  (nat %token_id))
69
                                                                (nat %balance))))) ;
70
               IF_NONE { PUSH int 88 ; FAILWITH } {} ;
71
               PUSH mutez 0 ;
72
               SELF_ADDRESS ;
73
               CONTRACT %set_balance (list (pair
74
                                            (pair %request (address %owner)
75
                                                           (nat %token_id))
76
                                            (nat %balance))) ;
77
               IF_NONE { PUSH int 91 ; FAILWITH } {} ;
78
               NIL (pair address nat) ;
79
               DUP 6 ;
80
               GET 6 ;
81
               DUP 7 ;
82
               GET 3 ;
83
               CDR ;
84
               PAIR ;
85
               CONS ;
86
               PAIR ;
87
               TRANSFER_TOKENS ;
88
               CONS ;
89
               SELF %flash_swap_internal ;
90
               PUSH mutez 0 ;
91
               UNIT ;
92
               TRANSFER_TOKENS ;
93
               CONS }
94
             { IF_LEFT
95
                 { DROP ;
96
                   SWAP ;
97
                   DROP ;
98
                   SWAP ;
99
                   UNIT ;
100
                   EXEC ;
101
                   DROP ;
102
                   NIL operation ;
103
                   DUP 2 ;
104
                   GET 5 ;
105
                   CONTRACT %mint (pair (address %owner)
106
                                        (pair (nat %token_id) (nat %token_amount))) ;
107
                   IF_NONE { PUSH int 164 ; FAILWITH } {} ;
108
                   PUSH mutez 0 ;
109
                   DUP 4 ;
110
                   CAR ;
111
                   GET 3 ;
112
                   DUP 5 ;
113
                   GET 6 ;
114
                   SELF_ADDRESS ;
115
                   PAIR 3 ;
116
                   TRANSFER_TOKENS ;
117
                   CONS ;
118
                   DUP 2 ;
119
                   GET 5 ;
120
                   CONTRACT %mint (pair (address %owner)
121
                                        (pair (nat %token_id) (nat %token_amount))) ;
122
                   IF_NONE { PUSH int 164 ; FAILWITH } {} ;
123
                   PUSH mutez 0 ;
124
                   DUP 4 ;
125
                   CAR ;
126
                   GET 4 ;
127
                   DUP 5 ;
128
                   GET 6 ;
129
                   DUP 6 ;
130
                   GET 3 ;
131
                   CAR ;
132
                   PAIR 3 ;
133
                   TRANSFER_TOKENS ;
134
                   CONS ;
135
                   DUP 2 ;
136
                   GET 5 ;
137
                   CONTRACT %update_operators (list (or
138
                                                     (pair %add_operator
139
                                                       (address %owner)
140
                                                       (pair (address %operator)
141
                                                             (nat %token_id)))
142
                                                     (pair %remove_operator
143
                                                       (address %owner)
144
                                                       (pair (address %operator)
145
                                                             (nat %token_id))))) ;
146
                   IF_NONE
147
                     { PUSH string "Invalid entrypoint: Update operators" ; FAILWITH }
148
                     {} ;
149
                   PUSH mutez 0 ;
150
                   NIL (or (pair address (pair address nat))
151
                           (pair address (pair address nat))) ;
152
                   DUP 5 ;
153
                   GET 6 ;
154
                   DUP 6 ;
155
                   GET 3 ;
156
                   CDR ;
157
                   SELF_ADDRESS ;
158
                   PAIR 3 ;
159
                   LEFT (pair address (pair address nat)) ;
160
                   CONS ;
161
                   TRANSFER_TOKENS ;
162
                   CONS ;
163
                   DUP 2 ;
164
                   GET 3 ;
165
                   CDR ;
166
                   CONTRACT %tokenToCash (pair address (pair nat (pair nat timestamp))) ;
167
                   IF_NONE
168
                     { PUSH string "Invalid entrypoint: tokenToCash" ; FAILWITH }
169
                     {} ;
170
                   PUSH mutez 0 ;
171
                   PUSH int 10 ;
172
                   NOW ;
173
                   ADD ;
174
                   PUSH nat 1 ;
175
                   PAIR ;
176
                   DUP 5 ;
177
                   CAR ;
178
                   GET 3 ;
179
                   PAIR ;
180
                   DUP 5 ;
181
                   GET 3 ;
182
                   CAR ;
183
                   PAIR ;
184
                   TRANSFER_TOKENS ;
185
                   CONS ;
186
                   DUP 2 ;
187
                   GET 5 ;
188
                   CONTRACT %update_operators (list (or
189
                                                     (pair %add_operator
190
                                                       (address %owner)
191
                                                       (pair (address %operator)
192
                                                             (nat %token_id)))
193
                                                     (pair %remove_operator
194
                                                       (address %owner)
195
                                                       (pair (address %operator)
196
                                                             (nat %token_id))))) ;
197
                   IF_NONE
198
                     { PUSH string "Invalid entrypoint: Update operators" ; FAILWITH }
199
                     {} ;
200
                   PUSH mutez 0 ;
201
                   NIL (or (pair address (pair address nat))
202
                           (pair address (pair address nat))) ;
203
                   DUP 5 ;
204
                   GET 6 ;
205
                   DUP 6 ;
206
                   GET 3 ;
207
                   CDR ;
208
                   SELF_ADDRESS ;
209
                   PAIR 3 ;
210
                   RIGHT (pair address (pair address nat)) ;
211
                   CONS ;
212
                   TRANSFER_TOKENS ;
213
                   CONS ;
214
                   DUP 2 ;
215
                   GET 5 ;
216
                   CONTRACT %burn (pair (address %owner)
217
                                        (pair (nat %token_id) (nat %token_amount))) ;
218
                   IF_NONE { PUSH int 164 ; FAILWITH } {} ;
219
                   PUSH mutez 0 ;
220
                   DUP 4 ;
221
                   CAR ;
222
                   GET 4 ;
223
                   DUP 5 ;
224
                   CAR ;
225
                   GET 3 ;
226
                   ADD ;
227
                   DUP 5 ;
228
                   GET 6 ;
229
                   DUP 6 ;
230
                   GET 3 ;
231
                   CDR ;
232
                   PAIR 3 ;
233
                   TRANSFER_TOKENS ;
234
                   CONS }
235
                 { DIG 3 ;
236
                   DROP ;
237
                   AMOUNT ;
238
                   PUSH mutez 0 ;
239
                   COMPARE ;
240
                   EQ ;
241
                   IF {} { AMOUNT ; FAILWITH } ;
242
                   DIG 2 ;
243
                   UNIT ;
244
                   SWAP ;
245
                   DIG 3 ;
246
                   DIG 2 ;
247
                   PAIR ;
248
                   EXEC ;
249
                   CDR ;
250
                   UNPAIR ;
251
                   UNPAIR ;
252
                   PUSH (option nat) (Some 0) ;
253
                   DIG 4 ;
254
                   UPDATE ;
255
                   PAIR ;
256
                   PAIR ;
257
                   NIL operation } } }
258
         { IF_LEFT
259
             { DIG 3 ;
260
               DROP ;
261
               AMOUNT ;
262
               PUSH mutez 0 ;
263
               COMPARE ;
264
               EQ ;
265
               IF {} { AMOUNT ; FAILWITH } ;
266
               DIG 2 ;
267
               UNIT ;
268
               SWAP ;
269
               DIG 3 ;
270
               DIG 2 ;
271
               PAIR ;
272
               EXEC ;
273
               CDR ;
274
               UNPAIR ;
275
               UNPAIR ;
276
               NONE nat ;
277
               DIG 4 ;
278
               UPDATE ;
279
               PAIR ;
280
               PAIR }
281
             { IF_LEFT
282
                 { DROP ;
283
                   SWAP ;
284
                   DROP ;
285
                   SWAP ;
286
                   DROP ;
287
                   AMOUNT ;
288
                   PUSH mutez 0 ;
289
                   COMPARE ;
290
                   EQ ;
291
                   IF {} { AMOUNT ; FAILWITH } ;
292
                   PUSH nat 0 ;
293
                   DUP 2 ;
294
                   CAR ;
295
                   CAR ;
296
                   SENDER ;
297
                   GET ;
298
                   IF_NONE { PUSH int 46 ; FAILWITH } {} ;
299
                   COMPARE ;
300
                   EQ ;
301
                   IF {} { PUSH int 405 ; FAILWITH } ;
302
                   UNPAIR ;
303
                   UNPAIR ;
304
                   PUSH (option nat) (Some 1) ;
305
                   SENDER ;
306
                   UPDATE ;
307
                   PAIR ;
308
                   PAIR }
309
                 { AMOUNT ;
310
                   PUSH mutez 0 ;
311
                   COMPARE ;
312
                   EQ ;
313
                   IF {} { AMOUNT ; FAILWITH } ;
314
                   DUP 2 ;
315
                   GET 5 ;
316
                   SENDER ;
317
                   COMPARE ;
318
                   EQ ;
319
                   IF {} { PUSH int 504 ; FAILWITH } ;
320
                   DUP ;
321
                   IF_CONS
322
                     { SWAP ;
323
                       DROP ;
324
                       SWAP ;
325
                       DROP ;
326
                       DIG 2 ;
327
                       DROP ;
328
                       DIG 2 ;
329
                       DROP ;
330
                       DUP 2 ;
331
                       GET 6 ;
332
                       DUP 2 ;
333
                       CAR ;
334
                       CDR ;
335
                       COMPARE ;
336
                       EQ ;
337
                       IF {} { PUSH int 503 ; FAILWITH } ;
338
                       DUP 2 ;
339
                       GET 3 ;
340
                       CDR ;
341
                       DUP 2 ;
342
                       CAR ;
343
                       CAR ;
344
                       COMPARE ;
345
                       EQ ;
346
                       IF {} { PUSH int 503 ; FAILWITH } ;
347
                       SWAP ;
348
                       UNPAIR ;
349
                       UNPAIR ;
350
                       SWAP ;
351
                       CAR ;
352
                       DIG 3 ;
353
                       CDR ;
354
                       SWAP ;
355
                       PAIR ;
356
                       SWAP ;
357
                       PAIR ;
358
                       PAIR }
359
                     { DROP ; SWAP ; DROP ; SWAP ; DROP } } } ;
360
           NIL operation } ;
361
       NIL operation ;
362
       SWAP ;
363
       ITER { CONS } ;
364
       PAIR }