BCD

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