BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Youves Synthetic Asset
FA2Ledger
operations (2.13M)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
567
 
1
parameter (or
2
            (or
3
              (or
4
                (pair %balance_of
5
                  (list %requests (pair (address %owner) (nat %token_id)))
6
                  (contract %callback (list (pair
7
                                            (pair %request (address %owner)
8
                                                           (nat %token_id))
9
                                            (nat %balance)))))
10
                (pair %burn (address %owner) (pair (nat %token_id) (nat %token_amount))))
11
              (or (lambda %execute unit (list operation))
12
                  (pair %mint (address %owner)
13
                              (pair (nat %token_id) (nat %token_amount)))))
14
            (or
15
              (or
16
                (pair %remove_administrator (address %administrator_to_remove)
17
                                            (nat %token_id))
18
                (pair %set_administrator (address %administrator_to_set) (nat %token_id)))
19
              (or
20
                (pair %set_token_metadata (nat %token_id) (map %token_info string bytes))
21
                (or
22
                  (list %transfer (pair (address %from_)
23
                                       (list %txs (pair (address %to_)
24
                                                       (pair (nat %token_id)
25
                                                             (nat %amount))))))
26
                  (list %update_operators (or
27
                                           (pair %add_operator (address %owner)
28
                                                               (pair (address %operator)
29
                                                                     (nat %token_id)))
30
                                           (pair %remove_operator (address %owner)
31
                                                                  (pair
32
                                                                    (address %operator)
33
                                                                    (nat %token_id)))))))));
34
storage (pair
35
          (pair (big_map %administrators (pair (address %owner) (nat %token_id)) unit)
36
                (big_map %ledger (pair (address %owner) (nat %token_id)) nat))
37
          (pair
38
            (big_map %operators
39
              (pair (address %owner) (pair (address %operator) (nat %token_id)))
40
              unit)
41
            (pair
42
              (big_map %token_metadata nat
43
                                       (pair (nat %token_id)
44
                                             (map %token_info string bytes)))
45
              (big_map %total_supply nat nat))));
46
code { CAST (pair
47
              (or
48
                (or
49
                  (or
50
                    (pair (list (pair address nat))
51
                          (contract (list (pair (pair address nat) nat))))
52
                    (pair address (pair nat nat)))
53
                  (or (lambda unit (list operation)) (pair address (pair nat nat))))
54
                (or (or (pair address nat) (pair address nat))
55
                    (or (pair nat (map string bytes))
56
                        (or (list (pair address (list (pair address (pair nat nat)))))
57
                            (list (or (pair address (pair address nat))
58
                                     (pair address (pair address nat))))))))
59
              (pair
60
                (pair (big_map (pair address nat) unit) (big_map (pair address nat) nat))
61
                (pair (big_map (pair address (pair address nat)) unit)
62
                      (pair (big_map nat (pair nat (map string bytes)))
63
                            (big_map nat nat))))) ;
64
       LAMBDA
65
         (pair nat
66
               (pair
67
                 (pair (big_map (pair address nat) unit)
68
                       (big_map (pair address nat) nat))
69
                 (pair (big_map (pair address (pair address nat)) unit)
70
                       (pair (big_map nat (pair nat (map string bytes)))
71
                             (big_map nat nat)))))
72
         (pair (list operation)
73
               (pair unit
74
                     (pair
75
                       (pair (big_map (pair address nat) unit)
76
                             (big_map (pair address nat) nat))
77
                       (pair (big_map (pair address (pair address nat)) unit)
78
                             (pair (big_map nat (pair nat (map string bytes)))
79
                                   (big_map nat nat))))))
80
         { NIL operation ;
81
           SWAP ;
82
           DUP ;
83
           DUG 2 ;
84
           CDR ;
85
           DUP ;
86
           CAR ;
87
           CAR ;
88
           DIG 3 ;
89
           CAR ;
90
           SENDER ;
91
           PAIR ;
92
           MEM ;
93
           IF {} { PUSH int 401 ; FAILWITH } ;
94
           UNIT ;
95
           DIG 2 ;
96
           PAIR 3 } ;
97
       SWAP ;
98
       UNPAIR ;
99
       IF_LEFT
100
         { IF_LEFT
101
             { IF_LEFT
102
                 { NIL (pair (pair address nat) nat) ;
103
                   SWAP ;
104
                   DUP ;
105
                   DUG 2 ;
106
                   CAR ;
107
                   ITER { DUP 4 ;
108
                          GET 5 ;
109
                          SWAP ;
110
                          DUP ;
111
                          DUG 2 ;
112
                          CDR ;
113
                          MEM ;
114
                          IF {} { PUSH string "FA2_TOKEN_UNDEFINED" ; FAILWITH } ;
115
                          SWAP ;
116
                          DUP 4 ;
117
                          CAR ;
118
                          CDR ;
119
                          DUP 3 ;
120
                          GET ;
121
                          IF_NONE { PUSH nat 0 } {} ;
122
                          DIG 2 ;
123
                          PAIR ;
124
                          CONS } ;
125
                   DIG 3 ;
126
                   DROP ;
127
                   NIL operation ;
128
                   DIG 2 ;
129
                   CDR ;
130
                   PUSH mutez 0 ;
131
                   DIG 3 ;
132
                   TRANSFER_TOKENS ;
133
                   CONS }
134
                 { DUP 3 ;
135
                   DUG 2 ;
136
                   DUP ;
137
                   DUG 3 ;
138
                   GET 3 ;
139
                   PAIR ;
140
                   EXEC ;
141
                   DUP ;
142
                   GET 4 ;
143
                   DUG 2 ;
144
                   CAR ;
145
                   DUP 3 ;
146
                   UNPAIR ;
147
                   UNPAIR ;
148
                   SWAP ;
149
                   DUP 5 ;
150
                   GET 4 ;
151
                   DIG 6 ;
152
                   CAR ;
153
                   CDR ;
154
                   DIG 6 ;
155
                   DUP ;
156
                   GET 3 ;
157
                   SWAP ;
158
                   DUP ;
159
                   DUG 8 ;
160
                   CAR ;
161
                   PAIR ;
162
                   GET ;
163
                   IF_NONE { PUSH nat 0 } {} ;
164
                   SUB ;
165
                   ISNAT ;
166
                   IF_NONE { PUSH int 457 ; FAILWITH } {} ;
167
                   SOME ;
168
                   DIG 5 ;
169
                   DUP ;
170
                   GET 3 ;
171
                   SWAP ;
172
                   DUP ;
173
                   DUG 7 ;
174
                   CAR ;
175
                   PAIR ;
176
                   UPDATE ;
177
                   SWAP ;
178
                   PAIR ;
179
                   PAIR ;
180
                   DUP ;
181
                   DUG 3 ;
182
                   DUP ;
183
                   GET 6 ;
184
                   DUP 4 ;
185
                   GET 4 ;
186
                   DIG 5 ;
187
                   GET 6 ;
188
                   DUP 6 ;
189
                   GET 3 ;
190
                   GET ;
191
                   IF_NONE { PUSH int 458 ; FAILWITH } {} ;
192
                   SUB ;
193
                   ISNAT ;
194
                   IF_NONE { PUSH int 458 ; FAILWITH } {} ;
195
                   SOME ;
196
                   DUP 5 ;
197
                   GET 3 ;
198
                   UPDATE ;
199
                   UPDATE 6 ;
200
                   DUG 2 ;
201
                   PUSH nat 0 ;
202
                   DUP 4 ;
203
                   CAR ;
204
                   CDR ;
205
                   DIG 3 ;
206
                   DUP ;
207
                   GET 3 ;
208
                   SWAP ;
209
                   DUP ;
210
                   DUG 5 ;
211
                   CAR ;
212
                   PAIR ;
213
                   GET ;
214
                   IF_NONE { PUSH nat 0 } {} ;
215
                   COMPARE ;
216
                   EQ ;
217
                   IF
218
                     { DIG 3 ;
219
                       DROP ;
220
                       DIG 2 ;
221
                       UNPAIR ;
222
                       UNPAIR ;
223
                       SWAP ;
224
                       NONE nat ;
225
                       DIG 5 ;
226
                       DUP ;
227
                       GET 3 ;
228
                       SWAP ;
229
                       CAR ;
230
                       PAIR ;
231
                       UPDATE ;
232
                       SWAP ;
233
                       PAIR ;
234
                       PAIR ;
235
                       SWAP }
236
                     { SWAP ; DROP ; DIG 2 ; DROP } } }
237
             { IF_LEFT
238
                 { DUG 2 ;
239
                   PUSH nat 0 ;
240
                   PAIR ;
241
                   EXEC ;
242
                   DUP ;
243
                   GET 4 ;
244
                   DUG 2 ;
245
                   CAR ;
246
                   SWAP ;
247
                   UNIT ;
248
                   EXEC ;
249
                   NIL operation ;
250
                   SWAP ;
251
                   ITER { CONS } ;
252
                   ITER { CONS } }
253
                 { DUP ;
254
                   DUG 3 ;
255
                   GET 3 ;
256
                   PAIR ;
257
                   EXEC ;
258
                   DUP ;
259
                   GET 4 ;
260
                   DUG 2 ;
261
                   CAR ;
262
                   DUP 3 ;
263
                   UNPAIR ;
264
                   UNPAIR ;
265
                   SWAP ;
266
                   DUP 5 ;
267
                   GET 4 ;
268
                   DIG 6 ;
269
                   CAR ;
270
                   CDR ;
271
                   DIG 6 ;
272
                   DUP ;
273
                   GET 3 ;
274
                   SWAP ;
275
                   DUP ;
276
                   DUG 8 ;
277
                   CAR ;
278
                   PAIR ;
279
                   GET ;
280
                   IF_NONE { PUSH nat 0 } {} ;
281
                   ADD ;
282
                   SOME ;
283
                   DIG 5 ;
284
                   DUP ;
285
                   GET 3 ;
286
                   SWAP ;
287
                   DUP ;
288
                   DUG 7 ;
289
                   CAR ;
290
                   PAIR ;
291
                   UPDATE ;
292
                   SWAP ;
293
                   PAIR ;
294
                   PAIR ;
295
                   DUP ;
296
                   GET 6 ;
297
                   DUP ;
298
                   DUP 5 ;
299
                   GET 3 ;
300
                   DUP ;
301
                   DUG 2 ;
302
                   GET ;
303
                   IF_NONE { PUSH int 440 ; FAILWITH } {} ;
304
                   DIG 5 ;
305
                   GET 4 ;
306
                   ADD ;
307
                   SOME ;
308
                   SWAP ;
309
                   UPDATE ;
310
                   UPDATE 6 ;
311
                   SWAP } } }
312
         { IF_LEFT
313
             { IF_LEFT
314
                 { DUP ;
315
                   DUG 3 ;
316
                   CDR ;
317
                   PAIR ;
318
                   EXEC ;
319
                   DUP ;
320
                   GET 4 ;
321
                   DUG 2 ;
322
                   CAR ;
323
                   DIG 2 ;
324
                   UNPAIR ;
325
                   UNPAIR ;
326
                   NONE unit ;
327
                   DIG 5 ;
328
                   UPDATE ;
329
                   PAIR ;
330
                   PAIR ;
331
                   SWAP }
332
                 { DUP ;
333
                   DUG 3 ;
334
                   CDR ;
335
                   PAIR ;
336
                   EXEC ;
337
                   DUP ;
338
                   GET 4 ;
339
                   DUG 2 ;
340
                   CAR ;
341
                   DIG 2 ;
342
                   UNPAIR ;
343
                   UNPAIR ;
344
                   PUSH (option unit) (Some Unit) ;
345
                   DIG 5 ;
346
                   UPDATE ;
347
                   PAIR ;
348
                   PAIR ;
349
                   SWAP } }
350
             { IF_LEFT
351
                 { DUP 3 ;
352
                   DIG 2 ;
353
                   PUSH nat 0 ;
354
                   PAIR ;
355
                   EXEC ;
356
                   DUP ;
357
                   GET 4 ;
358
                   DUG 2 ;
359
                   CAR ;
360
                   DUP 3 ;
361
                   GET 5 ;
362
                   DUP 3 ;
363
                   CAR ;
364
                   MEM ;
365
                   IF
366
                     { SWAP ; DROP ; DIG 2 ; DROP }
367
                     { DIG 3 ;
368
                       DROP ;
369
                       DIG 2 ;
370
                       DUP ;
371
                       GET 5 ;
372
                       DIG 3 ;
373
                       DUP ;
374
                       SOME ;
375
                       SWAP ;
376
                       DUP ;
377
                       DUG 5 ;
378
                       CAR ;
379
                       UPDATE ;
380
                       UPDATE 5 ;
381
                       UNPAIR ;
382
                       UNPAIR ;
383
                       PUSH (option unit) (Some Unit) ;
384
                       DUP 6 ;
385
                       CAR ;
386
                       SENDER ;
387
                       PAIR ;
388
                       UPDATE ;
389
                       PAIR ;
390
                       PAIR ;
391
                       DUP ;
392
                       GET 6 ;
393
                       PUSH (option nat) (Some 0) ;
394
                       DIG 4 ;
395
                       CAR ;
396
                       UPDATE ;
397
                       UPDATE 6 ;
398
                       SWAP } }
399
                 { DIG 2 ;
400
                   DROP ;
401
                   IF_LEFT
402
                     { DUP ;
403
                       ITER { DUP ;
404
                              CDR ;
405
                              ITER { DUP ;
406
                                     GET 3 ;
407
                                     DUP 3 ;
408
                                     CAR ;
409
                                     PAIR ;
410
                                     SWAP ;
411
                                     DUP ;
412
                                     GET 3 ;
413
                                     SWAP ;
414
                                     DUP ;
415
                                     DUG 3 ;
416
                                     CAR ;
417
                                     PAIR ;
418
                                     DUP 3 ;
419
                                     GET 4 ;
420
                                     DUP 7 ;
421
                                     CAR ;
422
                                     CDR ;
423
                                     DUP 4 ;
424
                                     GET ;
425
                                     IF_NONE { PUSH nat 0 } {} ;
426
                                     COMPARE ;
427
                                     GE ;
428
                                     IF
429
                                       {}
430
                                       { PUSH string "FA2_INSUFFICIENT_BALANCE" ;
431
                                         FAILWITH } ;
432
                                     DUP 4 ;
433
                                     CAR ;
434
                                     SENDER ;
435
                                     COMPARE ;
436
                                     EQ ;
437
                                     IF
438
                                       { PUSH bool True }
439
                                       { DUP 6 ; GET 3 ; DUP 4 ; GET 3 ; SENDER ; DUP 7 ; CAR ; PAIR 3 ; MEM } ;
440
                                     IF {} { PUSH string "FA2_NOT_OWNER" ; FAILWITH } ;
441
                                     PUSH nat 0 ;
442
                                     DUP 4 ;
443
                                     GET 4 ;
444
                                     COMPARE ;
445
                                     GT ;
446
                                     IF
447
                                       { DUP 6 ;
448
                                         UNPAIR ;
449
                                         UNPAIR ;
450
                                         SWAP ;
451
                                         DUP 6 ;
452
                                         GET 4 ;
453
                                         DIG 9 ;
454
                                         CAR ;
455
                                         CDR ;
456
                                         DUP 7 ;
457
                                         GET ;
458
                                         IF_NONE { PUSH int 265 ; FAILWITH } {} ;
459
                                         SUB ;
460
                                         ISNAT ;
461
                                         IF_NONE { PUSH int 265 ; FAILWITH } {} ;
462
                                         SOME ;
463
                                         DUP 6 ;
464
                                         UPDATE ;
465
                                         SWAP ;
466
                                         PAIR ;
467
                                         PAIR ;
468
                                         DUP ;
469
                                         DUG 6 ;
470
                                         UNPAIR ;
471
                                         UNPAIR ;
472
                                         SWAP ;
473
                                         DUP 6 ;
474
                                         GET 4 ;
475
                                         DIG 9 ;
476
                                         CAR ;
477
                                         CDR ;
478
                                         DUP 6 ;
479
                                         GET ;
480
                                         IF_NONE { PUSH nat 0 } {} ;
481
                                         ADD ;
482
                                         SOME ;
483
                                         DIG 4 ;
484
                                         UPDATE ;
485
                                         SWAP ;
486
                                         PAIR ;
487
                                         PAIR ;
488
                                         DUG 4 ;
489
                                         PUSH nat 0 ;
490
                                         DUP 6 ;
491
                                         CAR ;
492
                                         CDR ;
493
                                         DUP 3 ;
494
                                         GET ;
495
                                         IF_NONE { PUSH int 269 ; FAILWITH } {} ;
496
                                         COMPARE ;
497
                                         EQ ;
498
                                         IF
499
                                           { SWAP ;
500
                                             DROP ;
501
                                             DIG 3 ;
502
                                             UNPAIR ;
503
                                             UNPAIR ;
504
                                             SWAP ;
505
                                             NONE nat ;
506
                                             DIG 4 ;
507
                                             UPDATE ;
508
                                             SWAP ;
509
                                             PAIR ;
510
                                             PAIR ;
511
                                             DUG 2 }
512
                                           { DROP 2 } }
513
                                       { DROP 3 } } ;
514
                              DROP } ;
515
                       DROP }
516
                     { DUP ;
517
                       ITER { IF_LEFT
518
                                { DUP ;
519
                                  CAR ;
520
                                  SENDER ;
521
                                  COMPARE ;
522
                                  EQ ;
523
                                  IF {} { PUSH string "FA2_NOT_OWNER" ; FAILWITH } ;
524
                                  DIG 2 ;
525
                                  DUP ;
526
                                  GET 3 ;
527
                                  PUSH (option unit) (Some Unit) ;
528
                                  DIG 3 ;
529
                                  DUP ;
530
                                  GET 4 ;
531
                                  SWAP ;
532
                                  DUP ;
533
                                  GET 3 ;
534
                                  SWAP ;
535
                                  CAR ;
536
                                  PAIR 3 ;
537
                                  UPDATE ;
538
                                  UPDATE 3 ;
539
                                  SWAP }
540
                                { DUP ;
541
                                  CAR ;
542
                                  SENDER ;
543
                                  COMPARE ;
544
                                  EQ ;
545
                                  IF {} { PUSH string "FA2_NOT_OWNER" ; FAILWITH } ;
546
                                  DIG 2 ;
547
                                  DUP ;
548
                                  GET 3 ;
549
                                  NONE unit ;
550
                                  DIG 3 ;
551
                                  DUP ;
552
                                  GET 4 ;
553
                                  SWAP ;
554
                                  DUP ;
555
                                  GET 3 ;
556
                                  SWAP ;
557
                                  CAR ;
558
                                  PAIR 3 ;
559
                                  UPDATE ;
560
                                  UPDATE 3 ;
561
                                  SWAP } } ;
562
                       DROP } ;
563
                   NIL operation } } } ;
564
       NIL operation ;
565
       SWAP ;
566
       ITER { CONS } ;
567
       PAIR }