BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1A2XH...Cx3C
FA1FA1.2
operations (1)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
673
 
1
parameter (or
2
            (or
3
              (or (pair %getVersion unit (contract nat))
4
                  (pair %getAllowance (pair (address :owner) (address :spender))
5
                                      (contract nat)))
6
              (or (pair %getBalance (address :owner) (contract nat))
7
                  (or (pair %getTotalSupply unit (contract nat))
8
                      (pair %getTotalMinted unit (contract nat)))))
9
            (or
10
              (or (pair %getTotalBurned unit (contract nat))
11
                  (pair %getOwner unit (contract address)))
12
              (or (pair %getRedeemAddress unit (contract address))
13
                  (or
14
                    (pair %getTokenMetadata (list nat)
15
                                            (contract (list (pair nat
16
                                                                (pair string
17
                                                                      (pair string
18
                                                                            (pair nat
19
                                                                                  (map
20
                                                                                    string
21
                                                                                    string))))))))
22
                    (or %safeEntrypoints
23
                      (or
24
                        (or
25
                          (or (pair %run string bytes)
26
                              (pair %upgrade
27
                                (pair (nat :currentVersion) (nat :newVersion))
28
                                (pair
29
                                  (lambda :migrationScript (big_map bytes bytes)
30
                                                           (big_map bytes bytes))
31
                                  (pair
32
                                    (option :newCode (lambda
33
                                                      (pair (pair string bytes)
34
                                                            (big_map bytes bytes))
35
                                                      (pair (list operation)
36
                                                            (big_map bytes bytes))))
37
                                    (option :newPermCode (lambda
38
                                                          (pair unit
39
                                                                (big_map bytes bytes))
40
                                                          (pair (list operation)
41
                                                                (big_map bytes bytes))))))))
42
                          (or (pair %epwBeginUpgrade (nat :current) (nat :new))
43
                              (lambda :migrationscript %epwApplyMigration
44
                                (big_map bytes bytes)
45
                                (big_map bytes bytes))))
46
                        (or
47
                          (or
48
                            (lambda :contractcode %epwSetCode
49
                              (pair (pair string bytes) (big_map bytes bytes))
50
                              (pair (list operation) (big_map bytes bytes)))
51
                            (unit %epwFinishUpgrade))
52
                          (or
53
                            (pair %transfer (address :from)
54
                                            (pair (address :to) (nat :value)))
55
                            (pair %approve (address :spender) (nat :value)))))
56
                      (or
57
                        (or
58
                          (or (pair %mint (address :to) (nat :value)) (nat :value %burn))
59
                          (or (address :operator %addOperator)
60
                              (address :operator %removeOperator)))
61
                        (or (or (address :redeem %setRedeemAddress) (unit %pause))
62
                            (or (unit %unpause)
63
                                (or (address :newOwner %transferOwnership)
64
                                    (unit %acceptOwnership))))))))));
65
storage (pair (big_map bytes bytes)
66
              (pair
67
                (lambda (pair (pair string bytes) (big_map bytes bytes))
68
                        (pair (list operation) (big_map bytes bytes)))
69
                (pair nat bool)));
70
code { CAST (pair
71
              (or
72
                (or
73
                  (or (pair unit (contract nat))
74
                      (pair (pair address address) (contract nat)))
75
                  (or (pair address (contract nat))
76
                      (or (pair unit (contract nat)) (pair unit (contract nat)))))
77
                (or (or (pair unit (contract nat)) (pair unit (contract address)))
78
                    (or (pair unit (contract address))
79
                        (or
80
                          (pair (list nat)
81
                                (contract (list (pair nat
82
                                                    (pair string
83
                                                          (pair string
84
                                                                (pair nat
85
                                                                      (map string string))))))))
86
                          (or
87
                            (or
88
                              (or
89
                                (or (pair string bytes)
90
                                    (pair (pair nat nat)
91
                                          (pair
92
                                            (lambda (big_map bytes bytes)
93
                                                    (big_map bytes bytes))
94
                                            (pair
95
                                              (option (lambda
96
                                                       (pair (pair string bytes)
97
                                                             (big_map bytes bytes))
98
                                                       (pair (list operation)
99
                                                             (big_map bytes bytes))))
100
                                              (option (lambda
101
                                                       (pair unit (big_map bytes bytes))
102
                                                       (pair (list operation)
103
                                                             (big_map bytes bytes))))))))
104
                                (or (pair nat nat)
105
                                    (lambda (big_map bytes bytes) (big_map bytes bytes))))
106
                              (or
107
                                (or
108
                                  (lambda
109
                                    (pair (pair string bytes) (big_map bytes bytes))
110
                                    (pair (list operation) (big_map bytes bytes)))
111
                                  unit)
112
                                (or (pair address (pair address nat)) (pair address nat))))
113
                            (or (or (or (pair address nat) nat) (or address address))
114
                                (or (or address unit) (or unit (or address unit)))))))))
115
              (pair (big_map bytes bytes)
116
                    (pair
117
                      (lambda (pair (pair string bytes) (big_map bytes bytes))
118
                              (pair (list operation) (big_map bytes bytes)))
119
                      (pair nat bool)))) ;
120
       DUP ;
121
       CAR ;
122
       DIP { CDR } ;
123
       IF_LEFT
124
         { IF_LEFT
125
             { IF_LEFT
126
                 { { DUP ;
127
                     CAR ;
128
                     DIP { CDR } ;
129
                     DIP { DIP { DUP } ; SWAP } ;
130
                     PAIR ;
131
                     CDR ;
132
                     CDR ;
133
                     CDR ;
134
                     CAR ;
135
                     DIP { AMOUNT } ;
136
                     TRANSFER_TOKENS ;
137
                     NIL operation ;
138
                     SWAP ;
139
                     CONS ;
140
                     PAIR } }
141
                 { { DUP ;
142
                     CAR ;
143
                     DIP { CDR } ;
144
                     DIP { ADDRESS } ;
145
                     PAIR ;
146
                     PACK ;
147
                     PUSH string "callGetAllowance" ;
148
                     PAIR ;
149
                     DIP { DUP ;
150
                           CDR ;
151
                           CDR ;
152
                           CDR ;
153
                           IF
154
                             { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH }
155
                             {} ;
156
                           DUP ;
157
                           CAR ;
158
                           DIP { DUP ; CDR ; CAR } } ;
159
                     PAIR ;
160
                     EXEC ;
161
                     DUP ;
162
                     CAR ;
163
                     DIP { CDR } ;
164
                     DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
165
                     PAIR } } }
166
             { IF_LEFT
167
                 { { DUP ;
168
                     CAR ;
169
                     DIP { CDR } ;
170
                     DIP { ADDRESS } ;
171
                     PAIR ;
172
                     PACK ;
173
                     PUSH string "callGetBalance" ;
174
                     PAIR ;
175
                     DIP { DUP ;
176
                           CDR ;
177
                           CDR ;
178
                           CDR ;
179
                           IF
180
                             { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH }
181
                             {} ;
182
                           DUP ;
183
                           CAR ;
184
                           DIP { DUP ; CDR ; CAR } } ;
185
                     PAIR ;
186
                     EXEC ;
187
                     DUP ;
188
                     CAR ;
189
                     DIP { CDR } ;
190
                     DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
191
                     PAIR } }
192
                 { IF_LEFT
193
                     { { DUP ;
194
                         CAR ;
195
                         DIP { CDR } ;
196
                         DIP { ADDRESS } ;
197
                         PAIR ;
198
                         PACK ;
199
                         PUSH string "callGetTotalSupply" ;
200
                         PAIR ;
201
                         DIP { DUP ;
202
                               CDR ;
203
                               CDR ;
204
                               CDR ;
205
                               IF
206
                                 { UNIT ;
207
                                   PUSH string "UpgContractIsMigrating" ;
208
                                   PAIR ;
209
                                   FAILWITH }
210
                                 {} ;
211
                               DUP ;
212
                               CAR ;
213
                               DIP { DUP ; CDR ; CAR } } ;
214
                         PAIR ;
215
                         EXEC ;
216
                         DUP ;
217
                         CAR ;
218
                         DIP { CDR } ;
219
                         DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
220
                         PAIR } }
221
                     { { DUP ;
222
                         CAR ;
223
                         DIP { CDR } ;
224
                         DIP { ADDRESS } ;
225
                         PAIR ;
226
                         PACK ;
227
                         PUSH string "callGetTotalMinted" ;
228
                         PAIR ;
229
                         DIP { DUP ;
230
                               CDR ;
231
                               CDR ;
232
                               CDR ;
233
                               IF
234
                                 { UNIT ;
235
                                   PUSH string "UpgContractIsMigrating" ;
236
                                   PAIR ;
237
                                   FAILWITH }
238
                                 {} ;
239
                               DUP ;
240
                               CAR ;
241
                               DIP { DUP ; CDR ; CAR } } ;
242
                         PAIR ;
243
                         EXEC ;
244
                         DUP ;
245
                         CAR ;
246
                         DIP { CDR } ;
247
                         DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
248
                         PAIR } } } } }
249
         { IF_LEFT
250
             { IF_LEFT
251
                 { { DUP ;
252
                     CAR ;
253
                     DIP { CDR } ;
254
                     DIP { ADDRESS } ;
255
                     PAIR ;
256
                     PACK ;
257
                     PUSH string "callGetTotalBurned" ;
258
                     PAIR ;
259
                     DIP { DUP ;
260
                           CDR ;
261
                           CDR ;
262
                           CDR ;
263
                           IF
264
                             { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH }
265
                             {} ;
266
                           DUP ;
267
                           CAR ;
268
                           DIP { DUP ; CDR ; CAR } } ;
269
                     PAIR ;
270
                     EXEC ;
271
                     DUP ;
272
                     CAR ;
273
                     DIP { CDR } ;
274
                     DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
275
                     PAIR } }
276
                 { { DUP ;
277
                     CAR ;
278
                     DIP { CDR } ;
279
                     DIP { ADDRESS } ;
280
                     PAIR ;
281
                     PACK ;
282
                     PUSH string "callGetOwner" ;
283
                     PAIR ;
284
                     DIP { DUP ;
285
                           CDR ;
286
                           CDR ;
287
                           CDR ;
288
                           IF
289
                             { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH }
290
                             {} ;
291
                           DUP ;
292
                           CAR ;
293
                           DIP { DUP ; CDR ; CAR } } ;
294
                     PAIR ;
295
                     EXEC ;
296
                     DUP ;
297
                     CAR ;
298
                     DIP { CDR } ;
299
                     DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
300
                     PAIR } } }
301
             { IF_LEFT
302
                 { { DUP ;
303
                     CAR ;
304
                     DIP { CDR } ;
305
                     DIP { ADDRESS } ;
306
                     PAIR ;
307
                     PACK ;
308
                     PUSH string "callGetRedeemAddress" ;
309
                     PAIR ;
310
                     DIP { DUP ;
311
                           CDR ;
312
                           CDR ;
313
                           CDR ;
314
                           IF
315
                             { UNIT ; PUSH string "UpgContractIsMigrating" ; PAIR ; FAILWITH }
316
                             {} ;
317
                           DUP ;
318
                           CAR ;
319
                           DIP { DUP ; CDR ; CAR } } ;
320
                     PAIR ;
321
                     EXEC ;
322
                     DUP ;
323
                     CAR ;
324
                     DIP { CDR } ;
325
                     DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
326
                     PAIR } }
327
                 { IF_LEFT
328
                     { { DUP ;
329
                         CAR ;
330
                         DIP { CDR } ;
331
                         DIP { ADDRESS } ;
332
                         PAIR ;
333
                         PACK ;
334
                         PUSH string "callGetTokenMetadata" ;
335
                         PAIR ;
336
                         DIP { DUP ;
337
                               CDR ;
338
                               CDR ;
339
                               CDR ;
340
                               IF
341
                                 { UNIT ;
342
                                   PUSH string "UpgContractIsMigrating" ;
343
                                   PAIR ;
344
                                   FAILWITH }
345
                                 {} ;
346
                               DUP ;
347
                               CAR ;
348
                               DIP { DUP ; CDR ; CAR } } ;
349
                         PAIR ;
350
                         EXEC ;
351
                         DUP ;
352
                         CAR ;
353
                         DIP { CDR } ;
354
                         DIP { DIP { DUP ; DIP { CDR } ; CAR } ; SWAP ; DROP ; PAIR } ;
355
                         PAIR } }
356
                     { { IF_LEFT
357
                           { IF_LEFT
358
                               { IF_LEFT
359
                                   { IF_LEFT
360
                                       { { DIP { DUP ;
361
                                                 CDR ;
362
                                                 CDR ;
363
                                                 CDR ;
364
                                                 IF
365
                                                   { UNIT ;
366
                                                     PUSH string "UpgContractIsMigrating" ;
367
                                                     PAIR ;
368
                                                     FAILWITH }
369
                                                   {} ;
370
                                                 DUP ;
371
                                                 CAR ;
372
                                                 DIP { DUP ; CDR ; CAR } } ;
373
                                           PAIR ;
374
                                           EXEC ;
375
                                           DUP ;
376
                                           CAR ;
377
                                           DIP { CDR } ;
378
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
379
                                                 SWAP ;
380
                                                 DROP ;
381
                                                 PAIR } ;
382
                                           PAIR } }
383
                                       { { DIP { DUP ;
384
                                                 CAR ;
385
                                                 PUSH bytes 0x0501000000056f776e6572 ;
386
                                                 GET ;
387
                                                 IF_NONE
388
                                                   { PUSH string "UStore: no field owner" ;
389
                                                     FAILWITH }
390
                                                   {} ;
391
                                                 UNPACK address ;
392
                                                 IF_NONE
393
                                                   { PUSH string "UStore: failed to unpack owner" ;
394
                                                     FAILWITH }
395
                                                   {} ;
396
                                                 SENDER ;
397
                                                 COMPARE ;
398
                                                 EQ ;
399
                                                 IF
400
                                                   {}
401
                                                   { UNIT ;
402
                                                     PUSH string "SenderIsNotOwner" ;
403
                                                     PAIR ;
404
                                                     FAILWITH } ;
405
                                                 DUP ;
406
                                                 CDR ;
407
                                                 CDR ;
408
                                                 CDR ;
409
                                                 IF
410
                                                   { UNIT ;
411
                                                     PUSH string "UpgContractIsMigrating" ;
412
                                                     PAIR ;
413
                                                     FAILWITH }
414
                                                   {} } ;
415
                                           DUP ;
416
                                           DIP { CAR ;
417
                                                 CAR ;
418
                                                 DIP { DUP ; CDR ; CDR ; CAR } ;
419
                                                 DIP { DUP } ;
420
                                                 SWAP ;
421
                                                 DIP { DUP } ;
422
                                                 SWAP ;
423
                                                 COMPARE ;
424
                                                 EQ ;
425
                                                 IF
426
                                                   { DROP ; DROP }
427
                                                   { PAIR ;
428
                                                     PUSH string "UpgVersionMismatch" ;
429
                                                     PAIR ;
430
                                                     FAILWITH } } ;
431
                                           DUP ;
432
                                           DIP { CAR ;
433
                                                 CDR ;
434
                                                 DIP { DUP ; CDR } ;
435
                                                 DIP { DUP ; DIP { CAR } ; CDR } ;
436
                                                 DIP { DUP ; DIP { CDR } ; CAR } ;
437
                                                 SWAP ;
438
                                                 DROP ;
439
                                                 PAIR ;
440
                                                 SWAP ;
441
                                                 PAIR ;
442
                                                 DIP { DUP ; DIP { CAR } ; CDR } ;
443
                                                 SWAP ;
444
                                                 DROP ;
445
                                                 SWAP ;
446
                                                 PAIR } ;
447
                                           DUP ;
448
                                           CDR ;
449
                                           CAR ;
450
                                           SWAP ;
451
                                           DIP { DIP { DUP ; CAR } ;
452
                                                 SWAP ;
453
                                                 EXEC ;
454
                                                 DIP { DUP ; DIP { CDR } ; CAR } ;
455
                                                 SWAP ;
456
                                                 DROP ;
457
                                                 PAIR } ;
458
                                           CDR ;
459
                                           CDR ;
460
                                           CAR ;
461
                                           IF_NONE
462
                                             {}
463
                                             { DIP { DUP ; CDR } ;
464
                                               DIP { DUP ; DIP { CDR } ; CAR } ;
465
                                               SWAP ;
466
                                               DROP ;
467
                                               PAIR ;
468
                                               DIP { DUP ; DIP { CAR } ; CDR } ;
469
                                               SWAP ;
470
                                               DROP ;
471
                                               SWAP ;
472
                                               PAIR } ;
473
                                           NIL operation ;
474
                                           PAIR } } }
475
                                   { IF_LEFT
476
                                       { { DIP { DUP ;
477
                                                 CAR ;
478
                                                 PUSH bytes 0x0501000000056f776e6572 ;
479
                                                 GET ;
480
                                                 IF_NONE
481
                                                   { PUSH string "UStore: no field owner" ;
482
                                                     FAILWITH }
483
                                                   {} ;
484
                                                 UNPACK address ;
485
                                                 IF_NONE
486
                                                   { PUSH string "UStore: failed to unpack owner" ;
487
                                                     FAILWITH }
488
                                                   {} ;
489
                                                 SENDER ;
490
                                                 COMPARE ;
491
                                                 EQ ;
492
                                                 IF
493
                                                   {}
494
                                                   { UNIT ;
495
                                                     PUSH string "SenderIsNotOwner" ;
496
                                                     PAIR ;
497
                                                     FAILWITH } ;
498
                                                 DUP ;
499
                                                 CDR ;
500
                                                 CDR ;
501
                                                 CDR ;
502
                                                 IF
503
                                                   { UNIT ;
504
                                                     PUSH string "UpgContractIsMigrating" ;
505
                                                     PAIR ;
506
                                                     FAILWITH }
507
                                                   {} } ;
508
                                           DUP ;
509
                                           DIP { CAR ;
510
                                                 DIP { DUP ; CDR ; CDR ; CAR } ;
511
                                                 DIP { DUP } ;
512
                                                 SWAP ;
513
                                                 DIP { DUP } ;
514
                                                 SWAP ;
515
                                                 COMPARE ;
516
                                                 EQ ;
517
                                                 IF
518
                                                   { DROP ; DROP }
519
                                                   { PAIR ;
520
                                                     PUSH string "UpgVersionMismatch" ;
521
                                                     PAIR ;
522
                                                     FAILWITH } } ;
523
                                           CDR ;
524
                                           DIP { DUP ; CDR } ;
525
                                           DIP { DUP ; DIP { CAR } ; CDR } ;
526
                                           DIP { DUP ; DIP { CDR } ; CAR } ;
527
                                           SWAP ;
528
                                           DROP ;
529
                                           PAIR ;
530
                                           SWAP ;
531
                                           PAIR ;
532
                                           DIP { DUP ; DIP { CAR } ; CDR } ;
533
                                           SWAP ;
534
                                           DROP ;
535
                                           SWAP ;
536
                                           PAIR ;
537
                                           DUP ;
538
                                           CDR ;
539
                                           DUP ;
540
                                           DIP { CAR } ;
541
                                           CDR ;
542
                                           DUP ;
543
                                           DIP { CAR } ;
544
                                           CDR ;
545
                                           PUSH bool True ;
546
                                           SWAP ;
547
                                           DROP ;
548
                                           SWAP ;
549
                                           PAIR ;
550
                                           SWAP ;
551
                                           PAIR ;
552
                                           DIP { DUP ; DIP { CAR } ; CDR } ;
553
                                           SWAP ;
554
                                           DROP ;
555
                                           SWAP ;
556
                                           PAIR ;
557
                                           NIL operation ;
558
                                           PAIR } }
559
                                       { { DIP { DUP ;
560
                                                 CAR ;
561
                                                 PUSH bytes 0x0501000000056f776e6572 ;
562
                                                 GET ;
563
                                                 IF_NONE
564
                                                   { PUSH string "UStore: no field owner" ;
565
                                                     FAILWITH }
566
                                                   {} ;
567
                                                 UNPACK address ;
568
                                                 IF_NONE
569
                                                   { PUSH string "UStore: failed to unpack owner" ;
570
                                                     FAILWITH }
571
                                                   {} ;
572
                                                 SENDER ;
573
                                                 COMPARE ;
574
                                                 EQ ;
575
                                                 IF
576
                                                   {}
577
                                                   { UNIT ;
578
                                                     PUSH string "SenderIsNotOwner" ;
579
                                                     PAIR ;
580
                                                     FAILWITH } ;
581
                                                 DUP ;
582
                                                 CDR ;
583
                                                 CDR ;
584
                                                 CDR ;
585
                                                 IF
586
                                                   {}
587
                                                   { UNIT ;
588
                                                     PUSH string "UpgContractIsNotMigrating" ;
589
                                                     PAIR ;
590
                                                     FAILWITH } } ;
591
                                           DIP { DUP ; CAR } ;
592
                                           SWAP ;
593
                                           EXEC ;
594
                                           DIP { DUP ; DIP { CDR } ; CAR } ;
595
                                           SWAP ;
596
                                           DROP ;
597
                                           PAIR ;
598
                                           NIL operation ;
599
                                           PAIR } } } }
600
                               { IF_LEFT
601
                                   { IF_LEFT
602
                                       { { DIP { DUP ;
603
                                                 CAR ;
604
                                                 PUSH bytes 0x0501000000056f776e6572 ;
605
                                                 GET ;
606
                                                 IF_NONE
607
                                                   { PUSH string "UStore: no field owner" ;
608
                                                     FAILWITH }
609
                                                   {} ;
610
                                                 UNPACK address ;
611
                                                 IF_NONE
612
                                                   { PUSH string "UStore: failed to unpack owner" ;
613
                                                     FAILWITH }
614
                                                   {} ;
615
                                                 SENDER ;
616
                                                 COMPARE ;
617
                                                 EQ ;
618
                                                 IF
619
                                                   {}
620
                                                   { UNIT ;
621
                                                     PUSH string "SenderIsNotOwner" ;
622
                                                     PAIR ;
623
                                                     FAILWITH } ;
624
                                                 DUP ;
625
                                                 CDR ;
626
                                                 CDR ;
627
                                                 CDR ;
628
                                                 IF
629
                                                   {}
630
                                                   { UNIT ;
631
                                                     PUSH string "UpgContractIsNotMigrating" ;
632
                                                     PAIR ;
633
                                                     FAILWITH } } ;
634
                                           DIP { DUP ; CDR } ;
635
                                           DIP { DUP ; DIP { CDR } ; CAR } ;
636
                                           SWAP ;
637
                                           DROP ;
638
                                           PAIR ;
639
                                           DIP { DUP ; DIP { CAR } ; CDR } ;
640
                                           SWAP ;
641
                                           DROP ;
642
                                           SWAP ;
643
                                           PAIR ;
644
                                           NIL operation ;
645
                                           PAIR } }
646
                                       { DROP ;
647
                                         { DUP ;
648
                                           CAR ;
649
                                           PUSH bytes 0x0501000000056f776e6572 ;
650
                                           GET ;
651
                                           IF_NONE
652
                                             { PUSH string "UStore: no field owner" ;
653
                                               FAILWITH }
654
                                             {} ;
655
                                           UNPACK address ;
656
                                           IF_NONE
657
                                             { PUSH string "UStore: failed to unpack owner" ;
658
                                               FAILWITH }
659
                                             {} ;
660
                                           SENDER ;
661
                                           COMPARE ;
662
                                           EQ ;
663
                                           IF
664
                                             {}
665
                                             { UNIT ;
666
                                               PUSH string "SenderIsNotOwner" ;
667
                                               PAIR ;
668
                                               FAILWITH } ;
669
                                           DUP ;
670
                                           CDR ;
671
                                           CDR ;
672
                                           CDR ;
673
                                           IF
674
                                             {}
675
                                             { UNIT ;
676
                                               PUSH string "UpgContractIsNotMigrating" ;
677
                                               PAIR ;
678
                                               FAILWITH } ;
679
                                           DUP ;
680
                                           CDR ;
681
                                           DUP ;
682
                                           DIP { CAR } ;
683
                                           CDR ;
684
                                           DUP ;
685
                                           DIP { CAR } ;
686
                                           CDR ;
687
                                           PUSH bool False ;
688
                                           SWAP ;
689
                                           DROP ;
690
                                           SWAP ;
691
                                           PAIR ;
692
                                           SWAP ;
693
                                           PAIR ;
694
                                           DIP { DUP ; DIP { CAR } ; CDR } ;
695
                                           SWAP ;
696
                                           DROP ;
697
                                           SWAP ;
698
                                           PAIR ;
699
                                           NIL operation ;
700
                                           PAIR } } }
701
                                   { IF_LEFT
702
                                       { { PACK ;
703
                                           PUSH string "callTransfer" ;
704
                                           PAIR ;
705
                                           DIP { DUP ;
706
                                                 CDR ;
707
                                                 CDR ;
708
                                                 CDR ;
709
                                                 IF
710
                                                   { UNIT ;
711
                                                     PUSH string "UpgContractIsMigrating" ;
712
                                                     PAIR ;
713
                                                     FAILWITH }
714
                                                   {} ;
715
                                                 DUP ;
716
                                                 CAR ;
717
                                                 DIP { DUP ; CDR ; CAR } } ;
718
                                           PAIR ;
719
                                           EXEC ;
720
                                           DUP ;
721
                                           CAR ;
722
                                           DIP { CDR } ;
723
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
724
                                                 SWAP ;
725
                                                 DROP ;
726
                                                 PAIR } ;
727
                                           PAIR } }
728
                                       { { PACK ;
729
                                           PUSH string "callApprove" ;
730
                                           PAIR ;
731
                                           DIP { DUP ;
732
                                                 CDR ;
733
                                                 CDR ;
734
                                                 CDR ;
735
                                                 IF
736
                                                   { UNIT ;
737
                                                     PUSH string "UpgContractIsMigrating" ;
738
                                                     PAIR ;
739
                                                     FAILWITH }
740
                                                   {} ;
741
                                                 DUP ;
742
                                                 CAR ;
743
                                                 DIP { DUP ; CDR ; CAR } } ;
744
                                           PAIR ;
745
                                           EXEC ;
746
                                           DUP ;
747
                                           CAR ;
748
                                           DIP { CDR } ;
749
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
750
                                                 SWAP ;
751
                                                 DROP ;
752
                                                 PAIR } ;
753
                                           PAIR } } } } }
754
                           { IF_LEFT
755
                               { IF_LEFT
756
                                   { IF_LEFT
757
                                       { { PACK ;
758
                                           PUSH string "callMint" ;
759
                                           PAIR ;
760
                                           DIP { DUP ;
761
                                                 CDR ;
762
                                                 CDR ;
763
                                                 CDR ;
764
                                                 IF
765
                                                   { UNIT ;
766
                                                     PUSH string "UpgContractIsMigrating" ;
767
                                                     PAIR ;
768
                                                     FAILWITH }
769
                                                   {} ;
770
                                                 DUP ;
771
                                                 CAR ;
772
                                                 DIP { DUP ; CDR ; CAR } } ;
773
                                           PAIR ;
774
                                           EXEC ;
775
                                           DUP ;
776
                                           CAR ;
777
                                           DIP { CDR } ;
778
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
779
                                                 SWAP ;
780
                                                 DROP ;
781
                                                 PAIR } ;
782
                                           PAIR } }
783
                                       { { PACK ;
784
                                           PUSH string "callBurn" ;
785
                                           PAIR ;
786
                                           DIP { DUP ;
787
                                                 CDR ;
788
                                                 CDR ;
789
                                                 CDR ;
790
                                                 IF
791
                                                   { UNIT ;
792
                                                     PUSH string "UpgContractIsMigrating" ;
793
                                                     PAIR ;
794
                                                     FAILWITH }
795
                                                   {} ;
796
                                                 DUP ;
797
                                                 CAR ;
798
                                                 DIP { DUP ; CDR ; CAR } } ;
799
                                           PAIR ;
800
                                           EXEC ;
801
                                           DUP ;
802
                                           CAR ;
803
                                           DIP { CDR } ;
804
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
805
                                                 SWAP ;
806
                                                 DROP ;
807
                                                 PAIR } ;
808
                                           PAIR } } }
809
                                   { IF_LEFT
810
                                       { { PACK ;
811
                                           PUSH string "callAddOperator" ;
812
                                           PAIR ;
813
                                           DIP { DUP ;
814
                                                 CDR ;
815
                                                 CDR ;
816
                                                 CDR ;
817
                                                 IF
818
                                                   { UNIT ;
819
                                                     PUSH string "UpgContractIsMigrating" ;
820
                                                     PAIR ;
821
                                                     FAILWITH }
822
                                                   {} ;
823
                                                 DUP ;
824
                                                 CAR ;
825
                                                 DIP { DUP ; CDR ; CAR } } ;
826
                                           PAIR ;
827
                                           EXEC ;
828
                                           DUP ;
829
                                           CAR ;
830
                                           DIP { CDR } ;
831
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
832
                                                 SWAP ;
833
                                                 DROP ;
834
                                                 PAIR } ;
835
                                           PAIR } }
836
                                       { { PACK ;
837
                                           PUSH string "callRemoveOperator" ;
838
                                           PAIR ;
839
                                           DIP { DUP ;
840
                                                 CDR ;
841
                                                 CDR ;
842
                                                 CDR ;
843
                                                 IF
844
                                                   { UNIT ;
845
                                                     PUSH string "UpgContractIsMigrating" ;
846
                                                     PAIR ;
847
                                                     FAILWITH }
848
                                                   {} ;
849
                                                 DUP ;
850
                                                 CAR ;
851
                                                 DIP { DUP ; CDR ; CAR } } ;
852
                                           PAIR ;
853
                                           EXEC ;
854
                                           DUP ;
855
                                           CAR ;
856
                                           DIP { CDR } ;
857
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
858
                                                 SWAP ;
859
                                                 DROP ;
860
                                                 PAIR } ;
861
                                           PAIR } } } }
862
                               { IF_LEFT
863
                                   { IF_LEFT
864
                                       { { PACK ;
865
                                           PUSH string "callSetRedeemAddress" ;
866
                                           PAIR ;
867
                                           DIP { DUP ;
868
                                                 CDR ;
869
                                                 CDR ;
870
                                                 CDR ;
871
                                                 IF
872
                                                   { UNIT ;
873
                                                     PUSH string "UpgContractIsMigrating" ;
874
                                                     PAIR ;
875
                                                     FAILWITH }
876
                                                   {} ;
877
                                                 DUP ;
878
                                                 CAR ;
879
                                                 DIP { DUP ; CDR ; CAR } } ;
880
                                           PAIR ;
881
                                           EXEC ;
882
                                           DUP ;
883
                                           CAR ;
884
                                           DIP { CDR } ;
885
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
886
                                                 SWAP ;
887
                                                 DROP ;
888
                                                 PAIR } ;
889
                                           PAIR } }
890
                                       { { PACK ;
891
                                           PUSH string "callPause" ;
892
                                           PAIR ;
893
                                           DIP { DUP ;
894
                                                 CDR ;
895
                                                 CDR ;
896
                                                 CDR ;
897
                                                 IF
898
                                                   { UNIT ;
899
                                                     PUSH string "UpgContractIsMigrating" ;
900
                                                     PAIR ;
901
                                                     FAILWITH }
902
                                                   {} ;
903
                                                 DUP ;
904
                                                 CAR ;
905
                                                 DIP { DUP ; CDR ; CAR } } ;
906
                                           PAIR ;
907
                                           EXEC ;
908
                                           DUP ;
909
                                           CAR ;
910
                                           DIP { CDR } ;
911
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
912
                                                 SWAP ;
913
                                                 DROP ;
914
                                                 PAIR } ;
915
                                           PAIR } } }
916
                                   { IF_LEFT
917
                                       { { PACK ;
918
                                           PUSH string "callUnpause" ;
919
                                           PAIR ;
920
                                           DIP { DUP ;
921
                                                 CDR ;
922
                                                 CDR ;
923
                                                 CDR ;
924
                                                 IF
925
                                                   { UNIT ;
926
                                                     PUSH string "UpgContractIsMigrating" ;
927
                                                     PAIR ;
928
                                                     FAILWITH }
929
                                                   {} ;
930
                                                 DUP ;
931
                                                 CAR ;
932
                                                 DIP { DUP ; CDR ; CAR } } ;
933
                                           PAIR ;
934
                                           EXEC ;
935
                                           DUP ;
936
                                           CAR ;
937
                                           DIP { CDR } ;
938
                                           DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
939
                                                 SWAP ;
940
                                                 DROP ;
941
                                                 PAIR } ;
942
                                           PAIR } }
943
                                       { IF_LEFT
944
                                           { { PACK ;
945
                                               PUSH string "callTransferOwnership" ;
946
                                               PAIR ;
947
                                               DIP { DUP ;
948
                                                     CDR ;
949
                                                     CDR ;
950
                                                     CDR ;
951
                                                     IF
952
                                                       { UNIT ;
953
                                                         PUSH string "UpgContractIsMigrating" ;
954
                                                         PAIR ;
955
                                                         FAILWITH }
956
                                                       {} ;
957
                                                     DUP ;
958
                                                     CAR ;
959
                                                     DIP { DUP ; CDR ; CAR } } ;
960
                                               PAIR ;
961
                                               EXEC ;
962
                                               DUP ;
963
                                               CAR ;
964
                                               DIP { CDR } ;
965
                                               DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
966
                                                     SWAP ;
967
                                                     DROP ;
968
                                                     PAIR } ;
969
                                               PAIR } }
970
                                           { { PACK ;
971
                                               PUSH string "callAcceptOwnership" ;
972
                                               PAIR ;
973
                                               DIP { DUP ;
974
                                                     CDR ;
975
                                                     CDR ;
976
                                                     CDR ;
977
                                                     IF
978
                                                       { UNIT ;
979
                                                         PUSH string "UpgContractIsMigrating" ;
980
                                                         PAIR ;
981
                                                         FAILWITH }
982
                                                       {} ;
983
                                                     DUP ;
984
                                                     CAR ;
985
                                                     DIP { DUP ; CDR ; CAR } } ;
986
                                               PAIR ;
987
                                               EXEC ;
988
                                               DUP ;
989
                                               CAR ;
990
                                               DIP { CDR } ;
991
                                               DIP { DIP { DUP ; DIP { CDR } ; CAR } ;
992
                                                     SWAP ;
993
                                                     DROP ;
994
                                                     PAIR } ;
995
                                               PAIR } } } } } } } } } } } }