BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Flux Tribe Crowdsale
operations (13.3K)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
882
1068
 
1
parameter (or
2
            (or
3
              (or
4
                (or (list %addToWhitelist address) (list %flushPlaceholderMetadata nat))
5
                (or (unit %getRandomMintIndex) (int %mint)))
6
              (or
7
                (or (address %removeFromWhitelist)
8
                    (list %revealMetadata (pair nat bytes)))
9
                (or (address %setAdmin)
10
                    (or (address %setFluxNftAddress) (nat %setMaxMintPerAddress)))))
11
            (or
12
              (or (or (nat %setMaxSupply) (nat %setNextTokenId))
13
                  (or (nat %setNumberMinted)
14
                      (list %setPlaceholderMetadata (pair nat bytes))))
15
              (or
16
                (or (pair %setRandomMintIndex string (pair timestamp nat))
17
                    (nat %setWhitelistMaxMintPerAddress))
18
                (or (nat %setWhitelistMaxSupply)
19
                    (or (unit %toggleSaleIsPaused) (unit %toggleWhitelistSaleIsPaused))))));
20
storage (pair
21
          (pair
22
            (pair (pair (address %admin) (address %fluxNftAddress))
23
                  (pair (address %fluxTeamAddress) (nat %maxMintPerAddress)))
24
            (pair (pair (nat %maxSupply) (big_map %metadata string bytes))
25
                  (pair (big_map %mintedLedger address nat)
26
                        (pair (nat %nextTokenId) (nat %numberMinted)))))
27
          (pair
28
            (pair
29
              (pair (address %oracleAddress) (big_map %placeholder_metadata nat bytes))
30
              (pair (int %price) (pair (string %provenanceHash) (nat %randomMintIndex))))
31
            (pair (pair (bool %saleIsPaused) (big_map %whitelistLedger address nat))
32
                  (pair (nat %whitelistMaxMintPerAddress)
33
                        (pair (nat %whitelistMaxSupply) (bool %whitelistSaleIsPaused))))));
34
code { UNPAIR ;
35
       IF_LEFT
36
         { IF_LEFT
37
             { IF_LEFT
38
                 { IF_LEFT
39
                     { SENDER ;
40
                       DUP 3 ;
41
                       CAR ;
42
                       CAR ;
43
                       CAR ;
44
                       CAR ;
45
                       COMPARE ;
46
                       EQ ;
47
                       IF
48
                         {}
49
                         { PUSH string "Only the contract admin can add to the whitelist." ;
50
                           FAILWITH } ;
51
                       DUP ;
52
                       ITER { DIG 2 ;
53
                              UNPAIR ;
54
                              SWAP ;
55
                              UNPAIR ;
56
                              SWAP ;
57
                              UNPAIR ;
58
                              UNPAIR ;
59
                              SWAP ;
60
                              PUSH (option nat) (Some 0) ;
61
                              DIG 6 ;
62
                              UPDATE ;
63
                              SWAP ;
64
                              PAIR ;
65
                              PAIR ;
66
                              SWAP ;
67
                              PAIR ;
68
                              SWAP ;
69
                              PAIR ;
70
                              SWAP } ;
71
                       DROP }
72
                     { SENDER ;
73
                       DUP 3 ;
74
                       CAR ;
75
                       CAR ;
76
                       CAR ;
77
                       CAR ;
78
                       COMPARE ;
79
                       EQ ;
80
                       IF
81
                         {}
82
                         { PUSH string "Only the contract admin can flush placeholder metadata." ;
83
                           FAILWITH } ;
84
                       DUP ;
85
                       ITER { DIG 2 ;
86
                              UNPAIR ;
87
                              SWAP ;
88
                              UNPAIR ;
89
                              UNPAIR ;
90
                              UNPAIR ;
91
                              SWAP ;
92
                              NONE bytes ;
93
                              DIG 6 ;
94
                              UPDATE ;
95
                              SWAP ;
96
                              PAIR ;
97
                              PAIR ;
98
                              PAIR ;
99
                              SWAP ;
100
                              PAIR ;
101
                              SWAP } ;
102
                       DROP } ;
103
                   NIL operation }
104
                 { IF_LEFT
105
                     { DROP ;
106
                       DUP ;
107
                       CAR ;
108
                       CAR ;
109
                       CAR ;
110
                       CAR ;
111
                       SENDER ;
112
                       COMPARE ;
113
                       EQ ;
114
                       IF
115
                         {}
116
                         { PUSH string "Only the admin can get random mint index." ;
117
                           FAILWITH } ;
118
                       DUP ;
119
                       GET 3 ;
120
                       CAR ;
121
                       CAR ;
122
                       CONTRACT %get (pair string
123
                                           (contract (pair string (pair timestamp nat)))) ;
124
                       IF_NONE { PUSH int 219 ; FAILWITH } {} ;
125
                       NIL operation ;
126
                       SWAP ;
127
                       PUSH mutez 0 ;
128
                       SELF %setRandomMintIndex ;
129
                       PUSH string "XTZ-USD" ;
130
                       PAIR ;
131
                       TRANSFER_TOKENS ;
132
                       CONS }
133
                     { PUSH bool False ;
134
                       DUP 3 ;
135
                       GET 5 ;
136
                       CAR ;
137
                       COMPARE ;
138
                       EQ ;
139
                       IF {} { PUSH string "Sale has not started yet." ; FAILWITH } ;
140
                       DUP ;
141
                       PUSH int 1 ;
142
                       COMPARE ;
143
                       EQ ;
144
                       IF
145
                         {}
146
                         { PUSH string "You can only mint 1 at a time." ; FAILWITH } ;
147
                       SWAP ;
148
                       DUP ;
149
                       CAR ;
150
                       GET 3 ;
151
                       CAR ;
152
                       SWAP ;
153
                       DUP ;
154
                       DUG 3 ;
155
                       CAR ;
156
                       GET 8 ;
157
                       COMPARE ;
158
                       LE ;
159
                       IF {} { PUSH string "Max supply has been reached" ; FAILWITH } ;
160
                       PUSH bool False ;
161
                       DUP 3 ;
162
                       GET 5 ;
163
                       CAR ;
164
                       COMPARE ;
165
                       EQ ;
166
                       IF
167
                         { PUSH bool False ;
168
                           DUP 3 ;
169
                           GET 10 ;
170
                           COMPARE ;
171
                           EQ ;
172
                           IF
173
                             { SWAP ;
174
                               DUP ;
175
                               DUG 2 ;
176
                               GET 5 ;
177
                               CDR ;
178
                               SENDER ;
179
                               MEM ;
180
                               IF
181
                                 {}
182
                                 { PUSH string "You are not on the whitelist." ;
183
                                   FAILWITH } ;
184
                               SWAP ;
185
                               DUP ;
186
                               GET 9 ;
187
                               SWAP ;
188
                               DUP ;
189
                               DUG 3 ;
190
                               CAR ;
191
                               GET 8 ;
192
                               COMPARE ;
193
                               LE ;
194
                               IF
195
                                 {}
196
                                 { PUSH string "Max whitelist supply has been reached" ;
197
                                   FAILWITH } ;
198
                               AMOUNT ;
199
                               PUSH mutez 20000000 ;
200
                               COMPARE ;
201
                               EQ ;
202
                               IF
203
                                 {}
204
                                 { PUSH string "Tez amount is not correct" ; FAILWITH } ;
205
                               SWAP ;
206
                               DUP ;
207
                               DUG 2 ;
208
                               GET 7 ;
209
                               PUSH nat 1 ;
210
                               DUP 4 ;
211
                               GET 5 ;
212
                               CDR ;
213
                               SENDER ;
214
                               GET ;
215
                               IF_NONE { PUSH int 165 ; FAILWITH } {} ;
216
                               ADD ;
217
                               COMPARE ;
218
                               LE ;
219
                               IF
220
                                 {}
221
                                 { PUSH string "You have reached the max amount of mints for whitelist." ;
222
                                   FAILWITH } ;
223
                               NIL operation ;
224
                               DUP 3 ;
225
                               CAR ;
226
                               CAR ;
227
                               CAR ;
228
                               CDR ;
229
                               CONTRACT %mint (pair (pair address int)
230
                                                    (pair (map string bytes) nat)) ;
231
                               IF_NONE { PUSH int 169 ; FAILWITH } {} ;
232
                               PUSH mutez 0 ;
233
                               DUP 5 ;
234
                               CAR ;
235
                               GET 7 ;
236
                               EMPTY_MAP string bytes ;
237
                               DIG 6 ;
238
                               DUP ;
239
                               GET 3 ;
240
                               CAR ;
241
                               CDR ;
242
                               SWAP ;
243
                               DUP ;
244
                               DUG 8 ;
245
                               CAR ;
246
                               GET 7 ;
247
                               GET ;
248
                               IF_NONE { PUSH int 158 ; FAILWITH } {} ;
249
                               SOME ;
250
                               PUSH string "" ;
251
                               UPDATE ;
252
                               PAIR ;
253
                               DIG 4 ;
254
                               SENDER ;
255
                               PAIR ;
256
                               PAIR ;
257
                               TRANSFER_TOKENS ;
258
                               CONS ;
259
                               SWAP ;
260
                               DUP ;
261
                               DUG 2 ;
262
                               CAR ;
263
                               CAR ;
264
                               GET 3 ;
265
                               CONTRACT unit ;
266
                               IF_NONE { PUSH int 172 ; FAILWITH } {} ;
267
                               AMOUNT ;
268
                               UNIT ;
269
                               TRANSFER_TOKENS ;
270
                               CONS ;
271
                               SWAP ;
272
                               DUP ;
273
                               DUG 2 ;
274
                               CAR ;
275
                               GET 3 ;
276
                               CAR ;
277
                               PUSH nat 1 ;
278
                               DUP 4 ;
279
                               CAR ;
280
                               GET 7 ;
281
                               ADD ;
282
                               COMPARE ;
283
                               GT ;
284
                               IF
285
                                 { SWAP ;
286
                                   DUP ;
287
                                   DUG 2 ;
288
                                   UNPAIR ;
289
                                   UNPAIR ;
290
                                   SWAP ;
291
                                   UNPAIR ;
292
                                   SWAP ;
293
                                   UNPAIR ;
294
                                   SWAP ;
295
                                   CDR ;
296
                                   DUP 7 ;
297
                                   CAR ;
298
                                   GET 3 ;
299
                                   CAR ;
300
                                   PUSH nat 1 ;
301
                                   DIG 8 ;
302
                                   CAR ;
303
                                   GET 7 ;
304
                                   ADD ;
305
                                   SUB ;
306
                                   ABS ;
307
                                   PAIR ;
308
                                   SWAP ;
309
                                   PAIR ;
310
                                   SWAP ;
311
                                   PAIR ;
312
                                   SWAP ;
313
                                   PAIR ;
314
                                   PAIR ;
315
                                   SWAP }
316
                                 { SWAP ;
317
                                   UNPAIR ;
318
                                   UNPAIR ;
319
                                   SWAP ;
320
                                   UNPAIR ;
321
                                   SWAP ;
322
                                   UNPAIR ;
323
                                   SWAP ;
324
                                   UNPAIR ;
325
                                   PUSH nat 1 ;
326
                                   ADD ;
327
                                   PAIR ;
328
                                   SWAP ;
329
                                   PAIR ;
330
                                   SWAP ;
331
                                   PAIR ;
332
                                   SWAP ;
333
                                   PAIR ;
334
                                   PAIR ;
335
                                   SWAP } ;
336
                               SWAP ;
337
                               UNPAIR ;
338
                               UNPAIR ;
339
                               SWAP ;
340
                               UNPAIR ;
341
                               SWAP ;
342
                               UNPAIR ;
343
                               SWAP ;
344
                               UNPAIR ;
345
                               SWAP ;
346
                               PUSH nat 1 ;
347
                               ADD ;
348
                               SWAP ;
349
                               PAIR ;
350
                               SWAP ;
351
                               PAIR ;
352
                               SWAP ;
353
                               PAIR ;
354
                               SWAP ;
355
                               PAIR ;
356
                               SWAP ;
357
                               UNPAIR ;
358
                               SWAP ;
359
                               UNPAIR ;
360
                               UNPAIR ;
361
                               SWAP ;
362
                               DUP ;
363
                               SENDER ;
364
                               DUP ;
365
                               DUG 2 ;
366
                               GET ;
367
                               IF_NONE { PUSH int 175 ; FAILWITH } {} ;
368
                               PUSH nat 1 ;
369
                               ADD ;
370
                               SOME ;
371
                               SWAP ;
372
                               UPDATE ;
373
                               SWAP ;
374
                               PAIR ;
375
                               PAIR ;
376
                               SWAP ;
377
                               PAIR ;
378
                               SWAP ;
379
                               PAIR ;
380
                               DUP ;
381
                               DUG 2 ;
382
                               CAR ;
383
                               GET 5 ;
384
                               SENDER ;
385
                               MEM ;
386
                               IF
387
                                 { SWAP ;
388
                                   UNPAIR ;
389
                                   UNPAIR ;
390
                                   SWAP ;
391
                                   UNPAIR ;
392
                                   SWAP ;
393
                                   UNPAIR ;
394
                                   DUP ;
395
                                   SENDER ;
396
                                   DUP ;
397
                                   DUG 2 ;
398
                                   GET ;
399
                                   IF_NONE { PUSH int 177 ; FAILWITH } {} ;
400
                                   PUSH nat 1 ;
401
                                   ADD ;
402
                                   SOME ;
403
                                   SWAP ;
404
                                   UPDATE ;
405
                                   PAIR ;
406
                                   SWAP ;
407
                                   PAIR ;
408
                                   SWAP ;
409
                                   PAIR ;
410
                                   PAIR ;
411
                                   SWAP }
412
                                 { SWAP ;
413
                                   UNPAIR ;
414
                                   UNPAIR ;
415
                                   SWAP ;
416
                                   UNPAIR ;
417
                                   SWAP ;
418
                                   UNPAIR ;
419
                                   PUSH (option nat) (Some 1) ;
420
                                   SENDER ;
421
                                   UPDATE ;
422
                                   PAIR ;
423
                                   SWAP ;
424
                                   PAIR ;
425
                                   SWAP ;
426
                                   PAIR ;
427
                                   PAIR ;
428
                                   SWAP } }
429
                             { AMOUNT ;
430
                               PUSH mutez 20000000 ;
431
                               COMPARE ;
432
                               EQ ;
433
                               IF
434
                                 {}
435
                                 { PUSH string "Tez amount is not correct" ; FAILWITH } ;
436
                               SWAP ;
437
                               DUP ;
438
                               DUG 2 ;
439
                               CAR ;
440
                               GET 5 ;
441
                               SENDER ;
442
                               MEM ;
443
                               IF
444
                                 { SWAP ;
445
                                   DUP ;
446
                                   DUG 2 ;
447
                                   CAR ;
448
                                   CAR ;
449
                                   GET 4 ;
450
                                   PUSH nat 1 ;
451
                                   DUP 4 ;
452
                                   CAR ;
453
                                   GET 5 ;
454
                                   SENDER ;
455
                                   GET ;
456
                                   IF_NONE { PUSH int 185 ; FAILWITH } {} ;
457
                                   ADD ;
458
                                   COMPARE ;
459
                                   LE ;
460
                                   IF
461
                                     {}
462
                                     { PUSH string "You have reached the max amount of mints per address." ;
463
                                       FAILWITH } }
464
                                 {} ;
465
                               NIL operation ;
466
                               DUP 3 ;
467
                               CAR ;
468
                               CAR ;
469
                               CAR ;
470
                               CDR ;
471
                               CONTRACT %mint (pair (pair address int)
472
                                                    (pair (map string bytes) nat)) ;
473
                               IF_NONE { PUSH int 187 ; FAILWITH } {} ;
474
                               PUSH mutez 0 ;
475
                               DUP 5 ;
476
                               CAR ;
477
                               GET 7 ;
478
                               EMPTY_MAP string bytes ;
479
                               DIG 6 ;
480
                               DUP ;
481
                               GET 3 ;
482
                               CAR ;
483
                               CDR ;
484
                               SWAP ;
485
                               DUP ;
486
                               DUG 8 ;
487
                               CAR ;
488
                               GET 7 ;
489
                               GET ;
490
                               IF_NONE { PUSH int 158 ; FAILWITH } {} ;
491
                               SOME ;
492
                               PUSH string "" ;
493
                               UPDATE ;
494
                               PAIR ;
495
                               DIG 4 ;
496
                               SENDER ;
497
                               PAIR ;
498
                               PAIR ;
499
                               TRANSFER_TOKENS ;
500
                               CONS ;
501
                               SWAP ;
502
                               DUP ;
503
                               DUG 2 ;
504
                               CAR ;
505
                               CAR ;
506
                               GET 3 ;
507
                               CONTRACT unit ;
508
                               IF_NONE { PUSH int 190 ; FAILWITH } {} ;
509
                               AMOUNT ;
510
                               UNIT ;
511
                               TRANSFER_TOKENS ;
512
                               CONS ;
513
                               SWAP ;
514
                               DUP ;
515
                               DUG 2 ;
516
                               CAR ;
517
                               GET 3 ;
518
                               CAR ;
519
                               PUSH nat 1 ;
520
                               DUP 4 ;
521
                               CAR ;
522
                               GET 7 ;
523
                               ADD ;
524
                               COMPARE ;
525
                               GT ;
526
                               IF
527
                                 { SWAP ;
528
                                   DUP ;
529
                                   DUG 2 ;
530
                                   UNPAIR ;
531
                                   UNPAIR ;
532
                                   SWAP ;
533
                                   UNPAIR ;
534
                                   SWAP ;
535
                                   UNPAIR ;
536
                                   SWAP ;
537
                                   CDR ;
538
                                   DUP 7 ;
539
                                   CAR ;
540
                                   GET 3 ;
541
                                   CAR ;
542
                                   PUSH nat 1 ;
543
                                   DIG 8 ;
544
                                   CAR ;
545
                                   GET 7 ;
546
                                   ADD ;
547
                                   SUB ;
548
                                   ABS ;
549
                                   PAIR ;
550
                                   SWAP ;
551
                                   PAIR ;
552
                                   SWAP ;
553
                                   PAIR ;
554
                                   SWAP ;
555
                                   PAIR ;
556
                                   PAIR ;
557
                                   SWAP }
558
                                 { SWAP ;
559
                                   UNPAIR ;
560
                                   UNPAIR ;
561
                                   SWAP ;
562
                                   UNPAIR ;
563
                                   SWAP ;
564
                                   UNPAIR ;
565
                                   SWAP ;
566
                                   UNPAIR ;
567
                                   PUSH nat 1 ;
568
                                   ADD ;
569
                                   PAIR ;
570
                                   SWAP ;
571
                                   PAIR ;
572
                                   SWAP ;
573
                                   PAIR ;
574
                                   SWAP ;
575
                                   PAIR ;
576
                                   PAIR ;
577
                                   SWAP } ;
578
                               SWAP ;
579
                               UNPAIR ;
580
                               UNPAIR ;
581
                               SWAP ;
582
                               UNPAIR ;
583
                               SWAP ;
584
                               UNPAIR ;
585
                               SWAP ;
586
                               UNPAIR ;
587
                               SWAP ;
588
                               PUSH nat 1 ;
589
                               ADD ;
590
                               SWAP ;
591
                               PAIR ;
592
                               SWAP ;
593
                               PAIR ;
594
                               SWAP ;
595
                               PAIR ;
596
                               SWAP ;
597
                               PAIR ;
598
                               PAIR ;
599
                               DUP ;
600
                               DUG 2 ;
601
                               CAR ;
602
                               GET 5 ;
603
                               SENDER ;
604
                               MEM ;
605
                               IF
606
                                 { SWAP ;
607
                                   UNPAIR ;
608
                                   UNPAIR ;
609
                                   SWAP ;
610
                                   UNPAIR ;
611
                                   SWAP ;
612
                                   UNPAIR ;
613
                                   DUP ;
614
                                   SENDER ;
615
                                   DUP ;
616
                                   DUG 2 ;
617
                                   GET ;
618
                                   IF_NONE { PUSH int 194 ; FAILWITH } {} ;
619
                                   PUSH nat 1 ;
620
                                   ADD ;
621
                                   SOME ;
622
                                   SWAP ;
623
                                   UPDATE ;
624
                                   PAIR ;
625
                                   SWAP ;
626
                                   PAIR ;
627
                                   SWAP ;
628
                                   PAIR ;
629
                                   PAIR ;
630
                                   SWAP }
631
                                 { SWAP ;
632
                                   UNPAIR ;
633
                                   UNPAIR ;
634
                                   SWAP ;
635
                                   UNPAIR ;
636
                                   SWAP ;
637
                                   UNPAIR ;
638
                                   PUSH (option nat) (Some 1) ;
639
                                   SENDER ;
640
                                   UPDATE ;
641
                                   PAIR ;
642
                                   SWAP ;
643
                                   PAIR ;
644
                                   SWAP ;
645
                                   PAIR ;
646
                                   PAIR ;
647
                                   SWAP } } }
648
                         { DROP ; NIL operation } } } }
649
             { IF_LEFT
650
                 { IF_LEFT
651
                     { SENDER ;
652
                       DUP 3 ;
653
                       CAR ;
654
                       CAR ;
655
                       CAR ;
656
                       CAR ;
657
                       COMPARE ;
658
                       EQ ;
659
                       IF
660
                         {}
661
                         { PUSH string "Only the contract admin can remove from the whitelist." ;
662
                           FAILWITH } ;
663
                       SWAP ;
664
                       UNPAIR ;
665
                       SWAP ;
666
                       UNPAIR ;
667
                       SWAP ;
668
                       UNPAIR ;
669
                       UNPAIR ;
670
                       SWAP ;
671
                       NONE nat ;
672
                       DIG 6 ;
673
                       UPDATE ;
674
                       SWAP ;
675
                       PAIR ;
676
                       PAIR ;
677
                       SWAP ;
678
                       PAIR ;
679
                       SWAP ;
680
                       PAIR ;
681
                       NIL operation }
682
                     { SENDER ;
683
                       DUP 3 ;
684
                       CAR ;
685
                       CAR ;
686
                       CAR ;
687
                       CAR ;
688
                       COMPARE ;
689
                       EQ ;
690
                       IF
691
                         {}
692
                         { PUSH string "Only the contract admin can reveal metadata." ;
693
                           FAILWITH } ;
694
                       NIL operation ;
695
                       DUP 3 ;
696
                       CAR ;
697
                       CAR ;
698
                       CAR ;
699
                       CDR ;
700
                       CONTRACT %reveal (list (pair nat bytes)) ;
701
                       IF_NONE { PUSH int 245 ; FAILWITH } {} ;
702
                       PUSH mutez 0 ;
703
                       DIG 3 ;
704
                       TRANSFER_TOKENS ;
705
                       CONS } }
706
                 { IF_LEFT
707
                     { SENDER ;
708
                       DUP 3 ;
709
                       CAR ;
710
                       CAR ;
711
                       CAR ;
712
                       CAR ;
713
                       COMPARE ;
714
                       EQ ;
715
                       IF
716
                         {}
717
                         { PUSH string "Only the contract admin can designate a new admin." ;
718
                           FAILWITH } ;
719
                       SWAP ;
720
                       UNPAIR ;
721
                       UNPAIR ;
722
                       UNPAIR ;
723
                       CDR ;
724
                       DIG 4 ;
725
                       PAIR ;
726
                       PAIR ;
727
                       PAIR ;
728
                       PAIR }
729
                     { IF_LEFT
730
                         { SENDER ;
731
                           DUP 3 ;
732
                           CAR ;
733
                           CAR ;
734
                           CAR ;
735
                           CAR ;
736
                           COMPARE ;
737
                           EQ ;
738
                           IF
739
                             {}
740
                             { PUSH string "Only the contract admin can set a new flux nft address." ;
741
                               FAILWITH } ;
742
                           SWAP ;
743
                           UNPAIR ;
744
                           UNPAIR ;
745
                           UNPAIR ;
746
                           CAR ;
747
                           DIG 4 ;
748
                           SWAP ;
749
                           PAIR ;
750
                           PAIR ;
751
                           PAIR ;
752
                           PAIR }
753
                         { SENDER ;
754
                           DUP 3 ;
755
                           CAR ;
756
                           CAR ;
757
                           CAR ;
758
                           CAR ;
759
                           COMPARE ;
760
                           EQ ;
761
                           IF
762
                             {}
763
                             { PUSH string "Only the contract admin can set the max mint per address." ;
764
                               FAILWITH } ;
765
                           SWAP ;
766
                           UNPAIR ;
767
                           UNPAIR ;
768
                           UNPAIR ;
769
                           SWAP ;
770
                           CAR ;
771
                           DIG 4 ;
772
                           SWAP ;
773
                           PAIR ;
774
                           SWAP ;
775
                           PAIR ;
776
                           PAIR ;
777
                           PAIR } } ;
778
                   NIL operation } } }
779
         { IF_LEFT
780
             { IF_LEFT
781
                 { IF_LEFT
782
                     { SENDER ;
783
                       DUP 3 ;
784
                       CAR ;
785
                       CAR ;
786
                       CAR ;
787
                       CAR ;
788
                       COMPARE ;
789
                       EQ ;
790
                       IF
791
                         {}
792
                         { PUSH string "Only the contract admin can set the max supply." ;
793
                           FAILWITH } ;
794
                       SWAP ;
795
                       UNPAIR ;
796
                       UNPAIR ;
797
                       SWAP ;
798
                       UNPAIR ;
799
                       CDR ;
800
                       DIG 4 ;
801
                       PAIR ;
802
                       PAIR ;
803
                       SWAP ;
804
                       PAIR ;
805
                       PAIR }
806
                     { SENDER ;
807
                       DUP 3 ;
808
                       CAR ;
809
                       CAR ;
810
                       CAR ;
811
                       CAR ;
812
                       COMPARE ;
813
                       EQ ;
814
                       IF
815
                         {}
816
                         { PUSH string "Only the contract admin can set the next token id." ;
817
                           FAILWITH } ;
818
                       SWAP ;
819
                       UNPAIR ;
820
                       UNPAIR ;
821
                       SWAP ;
822
                       UNPAIR ;
823
                       SWAP ;
824
                       UNPAIR ;
825
                       SWAP ;
826
                       CDR ;
827
                       DIG 5 ;
828
                       PAIR ;
829
                       SWAP ;
830
                       PAIR ;
831
                       SWAP ;
832
                       PAIR ;
833
                       SWAP ;
834
                       PAIR ;
835
                       PAIR } }
836
                 { IF_LEFT
837
                     { SENDER ;
838
                       DUP 3 ;
839
                       CAR ;
840
                       CAR ;
841
                       CAR ;
842
                       CAR ;
843
                       COMPARE ;
844
                       EQ ;
845
                       IF
846
                         {}
847
                         { PUSH string "Only the contract admin can set the number minted." ;
848
                           FAILWITH } ;
849
                       SWAP ;
850
                       UNPAIR ;
851
                       UNPAIR ;
852
                       SWAP ;
853
                       UNPAIR ;
854
                       SWAP ;
855
                       UNPAIR ;
856
                       SWAP ;
857
                       CAR ;
858
                       DIG 5 ;
859
                       SWAP ;
860
                       PAIR ;
861
                       SWAP ;
862
                       PAIR ;
863
                       SWAP ;
864
                       PAIR ;
865
                       SWAP ;
866
                       PAIR ;
867
                       PAIR }
868
                     { SENDER ;
869
                       DUP 3 ;
870
                       CAR ;
871
                       CAR ;
872
                       CAR ;
873
                       CAR ;
874
                       COMPARE ;
875
                       EQ ;
876
                       IF
877
                         {}
878
                         { PUSH string "Only the contract admin can set placeholder metadata." ;
879
                           FAILWITH } ;
880
                       DUP ;
881
                       ITER { DIG 2 ;
882
                              UNPAIR ;
883
                              SWAP ;
884
                              UNPAIR ;
885
                              UNPAIR ;
886
                              UNPAIR ;
887
                              SWAP ;
888
                              DUP 6 ;
889
                              CDR ;
890
                              SOME ;
891
                              DIG 6 ;
892
                              CAR ;
893
                              UPDATE ;
894
                              SWAP ;
895
                              PAIR ;
896
                              PAIR ;
897
                              PAIR ;
898
                              SWAP ;
899
                              PAIR ;
900
                              SWAP } ;
901
                       DROP } } }
902
             { IF_LEFT
903
                 { IF_LEFT
904
                     { SENDER ;
905
                       DUP 3 ;
906
                       GET 3 ;
907
                       CAR ;
908
                       CAR ;
909
                       COMPARE ;
910
                       EQ ;
911
                       IF
912
                         {}
913
                         { PUSH string "Only the oracle can set random mint index." ;
914
                           FAILWITH } ;
915
                       SWAP ;
916
                       DUP ;
917
                       DUG 2 ;
918
                       UNPAIR ;
919
                       SWAP ;
920
                       UNPAIR ;
921
                       UNPAIR ;
922
                       SWAP ;
923
                       UNPAIR ;
924
                       SWAP ;
925
                       CAR ;
926
                       DIG 6 ;
927
                       CAR ;
928
                       GET 3 ;
929
                       CAR ;
930
                       DUP 7 ;
931
                       GET 4 ;
932
                       EDIV ;
933
                       IF_NONE { PUSH int 211 ; FAILWITH } { CDR } ;
934
                       SWAP ;
935
                       PAIR ;
936
                       SWAP ;
937
                       PAIR ;
938
                       SWAP ;
939
                       PAIR ;
940
                       PAIR ;
941
                       SWAP ;
942
                       PAIR ;
943
                       DUP ;
944
                       DUG 2 ;
945
                       UNPAIR ;
946
                       UNPAIR ;
947
                       SWAP ;
948
                       UNPAIR ;
949
                       SWAP ;
950
                       UNPAIR ;
951
                       SWAP ;
952
                       CDR ;
953
                       DIG 6 ;
954
                       CAR ;
955
                       GET 3 ;
956
                       CAR ;
957
                       DIG 6 ;
958
                       GET 4 ;
959
                       EDIV ;
960
                       IF_NONE { PUSH int 212 ; FAILWITH } { CDR } ;
961
                       PAIR ;
962
                       SWAP ;
963
                       PAIR ;
964
                       SWAP ;
965
                       PAIR ;
966
                       SWAP ;
967
                       PAIR ;
968
                       PAIR }
969
                     { SENDER ;
970
                       DUP 3 ;
971
                       CAR ;
972
                       CAR ;
973
                       CAR ;
974
                       CAR ;
975
                       COMPARE ;
976
                       EQ ;
977
                       IF
978
                         {}
979
                         { PUSH string "Only the contract admin can set the whitelist max mint per address." ;
980
                           FAILWITH } ;
981
                       UPDATE 7 } }
982
                 { IF_LEFT
983
                     { SENDER ;
984
                       DUP 3 ;
985
                       CAR ;
986
                       CAR ;
987
                       CAR ;
988
                       CAR ;
989
                       COMPARE ;
990
                       EQ ;
991
                       IF
992
                         {}
993
                         { PUSH string "Only the contract admin can set the max whitelist supply." ;
994
                           FAILWITH } ;
995
                       UPDATE 9 }
996
                     { IF_LEFT
997
                         { DROP ;
998
                           DUP ;
999
                           CAR ;
1000
                           CAR ;
1001
                           CAR ;
1002
                           CAR ;
1003
                           SENDER ;
1004
                           COMPARE ;
1005
                           EQ ;
1006
                           IF
1007
                             {}
1008
                             { PUSH string "Only the contract admin can toggle saleIsPaused bool." ;
1009
                               FAILWITH } ;
1010
                           DUP ;
1011
                           GET 5 ;
1012
                           CAR ;
1013
                           PUSH bool True ;
1014
                           COMPARE ;
1015
                           EQ ;
1016
                           IF
1017
                             { UNPAIR ;
1018
                               SWAP ;
1019
                               UNPAIR ;
1020
                               SWAP ;
1021
                               UNPAIR ;
1022
                               CDR ;
1023
                               PUSH bool False ;
1024
                               PAIR ;
1025
                               PAIR ;
1026
                               SWAP ;
1027
                               PAIR ;
1028
                               SWAP ;
1029
                               PAIR }
1030
                             { UNPAIR ;
1031
                               SWAP ;
1032
                               UNPAIR ;
1033
                               SWAP ;
1034
                               UNPAIR ;
1035
                               CDR ;
1036
                               PUSH bool True ;
1037
                               PAIR ;
1038
                               PAIR ;
1039
                               SWAP ;
1040
                               PAIR ;
1041
                               SWAP ;
1042
                               PAIR } }
1043
                         { DROP ;
1044
                           DUP ;
1045
                           CAR ;
1046
                           CAR ;
1047
                           CAR ;
1048
                           CAR ;
1049
                           SENDER ;
1050
                           COMPARE ;
1051
                           EQ ;
1052
                           IF
1053
                             {}
1054
                             { PUSH string "Only the contract admin can toggle whitelistSaleIsPaused bool." ;
1055
                               FAILWITH } ;
1056
                           DUP ;
1057
                           GET 10 ;
1058
                           PUSH bool True ;
1059
                           COMPARE ;
1060
                           EQ ;
1061
                           IF
1062
                             { PUSH bool False ; UPDATE 10 }
1063
                             { PUSH bool True ; UPDATE 10 } } } } } ;
1064
           NIL operation } ;
1065
       NIL operation ;
1066
       SWAP ;
1067
       ITER { CONS } ;
1068
       PAIR }