BCD

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