BCD

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