BCD

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