BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Victoria West x Codecrafting Labs : Generation : Framework Voting
operations (178)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
955
 
1
parameter (or
2
            (list %transfer_hook (pair (address %from_)
3
                                      (list %txs (pair (address %to_) (nat %token_id)
4
                                                      (nat %amount)))))
5
            (bytes %vote));
6
storage (pair (big_map %metadata string bytes) (bytes %current_vote)
7
              (big_map %votes bytes nat)
8
              (big_map %user_votes address bytes)
9
              (bool %editions_punished)
10
              (bool %controller_punished)
11
              (timestamp %controller_cooldown_end));
12
code { PUSH address "KT1Qsf5L7M7Vsv5b428VTFYG7YQdRPeUpHT9" ;
13
       PUSH nat 2 ;
14
       PUSH nat 3 ;
15
       PUSH nat 2000 ;
16
       EMPTY_SET bytes ;
17
       PUSH bool True ;
18
       PUSH bytes 0x07000000 ;
19
       UPDATE ;
20
       PUSH bool True ;
21
       PUSH bytes 0x07000001 ;
22
       UPDATE ;
23
       PUSH bool True ;
24
       PUSH bytes 0x07000100 ;
25
       UPDATE ;
26
       PUSH bool True ;
27
       PUSH bytes 0x07000101 ;
28
       UPDATE ;
29
       PUSH bool True ;
30
       PUSH bytes 0x07000200 ;
31
       UPDATE ;
32
       PUSH bool True ;
33
       PUSH bytes 0x07000201 ;
34
       UPDATE ;
35
       PUSH bool True ;
36
       PUSH bytes 0x07000300 ;
37
       UPDATE ;
38
       PUSH bool True ;
39
       PUSH bytes 0x07000301 ;
40
       UPDATE ;
41
       PUSH bool True ;
42
       PUSH bytes 0x07000400 ;
43
       UPDATE ;
44
       PUSH bool True ;
45
       PUSH bytes 0x07000401 ;
46
       UPDATE ;
47
       PUSH bool True ;
48
       PUSH bytes 0x07000500 ;
49
       UPDATE ;
50
       PUSH bool True ;
51
       PUSH bytes 0x07000501 ;
52
       UPDATE ;
53
       PUSH bool True ;
54
       PUSH bytes 0x07000600 ;
55
       UPDATE ;
56
       PUSH bool True ;
57
       PUSH bytes 0x07000601 ;
58
       UPDATE ;
59
       PUSH bool True ;
60
       PUSH bytes 0x07010000 ;
61
       UPDATE ;
62
       PUSH bool True ;
63
       PUSH bytes 0x07010001 ;
64
       UPDATE ;
65
       PUSH bool True ;
66
       PUSH bytes 0x07010100 ;
67
       UPDATE ;
68
       PUSH bool True ;
69
       PUSH bytes 0x07010101 ;
70
       UPDATE ;
71
       PUSH bool True ;
72
       PUSH bytes 0x07010200 ;
73
       UPDATE ;
74
       PUSH bool True ;
75
       PUSH bytes 0x07010201 ;
76
       UPDATE ;
77
       PUSH bool True ;
78
       PUSH bytes 0x07010300 ;
79
       UPDATE ;
80
       PUSH bool True ;
81
       PUSH bytes 0x07010301 ;
82
       UPDATE ;
83
       PUSH bool True ;
84
       PUSH bytes 0x07010400 ;
85
       UPDATE ;
86
       PUSH bool True ;
87
       PUSH bytes 0x07010401 ;
88
       UPDATE ;
89
       PUSH bool True ;
90
       PUSH bytes 0x07010500 ;
91
       UPDATE ;
92
       PUSH bool True ;
93
       PUSH bytes 0x07010501 ;
94
       UPDATE ;
95
       PUSH bool True ;
96
       PUSH bytes 0x07010600 ;
97
       UPDATE ;
98
       PUSH bool True ;
99
       PUSH bytes 0x07010601 ;
100
       UPDATE ;
101
       PUSH bool True ;
102
       PUSH bytes 0x07020000 ;
103
       UPDATE ;
104
       PUSH bool True ;
105
       PUSH bytes 0x07020001 ;
106
       UPDATE ;
107
       PUSH bool True ;
108
       PUSH bytes 0x07020100 ;
109
       UPDATE ;
110
       PUSH bool True ;
111
       PUSH bytes 0x07020101 ;
112
       UPDATE ;
113
       PUSH bool True ;
114
       PUSH bytes 0x07020200 ;
115
       UPDATE ;
116
       PUSH bool True ;
117
       PUSH bytes 0x07020201 ;
118
       UPDATE ;
119
       PUSH bool True ;
120
       PUSH bytes 0x07020300 ;
121
       UPDATE ;
122
       PUSH bool True ;
123
       PUSH bytes 0x07020301 ;
124
       UPDATE ;
125
       PUSH bool True ;
126
       PUSH bytes 0x07020400 ;
127
       UPDATE ;
128
       PUSH bool True ;
129
       PUSH bytes 0x07020401 ;
130
       UPDATE ;
131
       PUSH bool True ;
132
       PUSH bytes 0x07020500 ;
133
       UPDATE ;
134
       PUSH bool True ;
135
       PUSH bytes 0x07020501 ;
136
       UPDATE ;
137
       PUSH bool True ;
138
       PUSH bytes 0x07020600 ;
139
       UPDATE ;
140
       PUSH bool True ;
141
       PUSH bytes 0x07020601 ;
142
       UPDATE ;
143
       PUSH bytes 0x07ffffff ;
144
       LAMBDA
145
         (pair bytes
146
               (pair address (big_map string bytes) bytes (big_map bytes nat)
147
                     (big_map address bytes)
148
                     bool
149
                     bool
150
                     timestamp))
151
         bytes
152
         { UNPAIR ; SWAP ; UNPAIR ; SWAP ; GET 7 ; SWAP ; GET ; IF_NONE {} { SWAP ; DROP } } ;
153
       DUP 2 ;
154
       APPLY ;
155
       LAMBDA
156
         (pair bytes (big_map string bytes) bytes (big_map bytes nat)
157
               (big_map address bytes)
158
               bool
159
               bool
160
               timestamp)
161
         nat
162
         { UNPAIR ; SWAP ; GET 5 ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ;
163
       LAMBDA
164
         (pair address (pair (pair nat bytes) bool))
165
         operation
166
         { UNPAIR ;
167
           SWAP ;
168
           UNPAIR ;
169
           UNPAIR ;
170
           DIG 3 ;
171
           CONTRACT %update_metadata (pair (nat %token_id)
172
                                           (map %token_info string bytes)) ;
173
           IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
174
           EMPTY_MAP bytes string ;
175
           PUSH string "020601" ;
176
           SOME ;
177
           PUSH bytes 0x07020601 ;
178
           UPDATE ;
179
           PUSH string "020600" ;
180
           SOME ;
181
           PUSH bytes 0x07020600 ;
182
           UPDATE ;
183
           PUSH string "020501" ;
184
           SOME ;
185
           PUSH bytes 0x07020501 ;
186
           UPDATE ;
187
           PUSH string "020500" ;
188
           SOME ;
189
           PUSH bytes 0x07020500 ;
190
           UPDATE ;
191
           PUSH string "020401" ;
192
           SOME ;
193
           PUSH bytes 0x07020401 ;
194
           UPDATE ;
195
           PUSH string "020400" ;
196
           SOME ;
197
           PUSH bytes 0x07020400 ;
198
           UPDATE ;
199
           PUSH string "020301" ;
200
           SOME ;
201
           PUSH bytes 0x07020301 ;
202
           UPDATE ;
203
           PUSH string "020300" ;
204
           SOME ;
205
           PUSH bytes 0x07020300 ;
206
           UPDATE ;
207
           PUSH string "020201" ;
208
           SOME ;
209
           PUSH bytes 0x07020201 ;
210
           UPDATE ;
211
           PUSH string "020200" ;
212
           SOME ;
213
           PUSH bytes 0x07020200 ;
214
           UPDATE ;
215
           PUSH string "020101" ;
216
           SOME ;
217
           PUSH bytes 0x07020101 ;
218
           UPDATE ;
219
           PUSH string "020100" ;
220
           SOME ;
221
           PUSH bytes 0x07020100 ;
222
           UPDATE ;
223
           PUSH string "020001" ;
224
           SOME ;
225
           PUSH bytes 0x07020001 ;
226
           UPDATE ;
227
           PUSH string "020000" ;
228
           SOME ;
229
           PUSH bytes 0x07020000 ;
230
           UPDATE ;
231
           PUSH string "010601" ;
232
           SOME ;
233
           PUSH bytes 0x07010601 ;
234
           UPDATE ;
235
           PUSH string "010600" ;
236
           SOME ;
237
           PUSH bytes 0x07010600 ;
238
           UPDATE ;
239
           PUSH string "010501" ;
240
           SOME ;
241
           PUSH bytes 0x07010501 ;
242
           UPDATE ;
243
           PUSH string "010500" ;
244
           SOME ;
245
           PUSH bytes 0x07010500 ;
246
           UPDATE ;
247
           PUSH string "010401" ;
248
           SOME ;
249
           PUSH bytes 0x07010401 ;
250
           UPDATE ;
251
           PUSH string "010400" ;
252
           SOME ;
253
           PUSH bytes 0x07010400 ;
254
           UPDATE ;
255
           PUSH string "010301" ;
256
           SOME ;
257
           PUSH bytes 0x07010301 ;
258
           UPDATE ;
259
           PUSH string "010300" ;
260
           SOME ;
261
           PUSH bytes 0x07010300 ;
262
           UPDATE ;
263
           PUSH string "010201" ;
264
           SOME ;
265
           PUSH bytes 0x07010201 ;
266
           UPDATE ;
267
           PUSH string "010200" ;
268
           SOME ;
269
           PUSH bytes 0x07010200 ;
270
           UPDATE ;
271
           PUSH string "010101" ;
272
           SOME ;
273
           PUSH bytes 0x07010101 ;
274
           UPDATE ;
275
           PUSH string "010100" ;
276
           SOME ;
277
           PUSH bytes 0x07010100 ;
278
           UPDATE ;
279
           PUSH string "010001" ;
280
           SOME ;
281
           PUSH bytes 0x07010001 ;
282
           UPDATE ;
283
           PUSH string "010000" ;
284
           SOME ;
285
           PUSH bytes 0x07010000 ;
286
           UPDATE ;
287
           PUSH string "000601" ;
288
           SOME ;
289
           PUSH bytes 0x07000601 ;
290
           UPDATE ;
291
           PUSH string "000600" ;
292
           SOME ;
293
           PUSH bytes 0x07000600 ;
294
           UPDATE ;
295
           PUSH string "000501" ;
296
           SOME ;
297
           PUSH bytes 0x07000501 ;
298
           UPDATE ;
299
           PUSH string "000500" ;
300
           SOME ;
301
           PUSH bytes 0x07000500 ;
302
           UPDATE ;
303
           PUSH string "000401" ;
304
           SOME ;
305
           PUSH bytes 0x07000401 ;
306
           UPDATE ;
307
           PUSH string "000400" ;
308
           SOME ;
309
           PUSH bytes 0x07000400 ;
310
           UPDATE ;
311
           PUSH string "000301" ;
312
           SOME ;
313
           PUSH bytes 0x07000301 ;
314
           UPDATE ;
315
           PUSH string "000300" ;
316
           SOME ;
317
           PUSH bytes 0x07000300 ;
318
           UPDATE ;
319
           PUSH string "000201" ;
320
           SOME ;
321
           PUSH bytes 0x07000201 ;
322
           UPDATE ;
323
           PUSH string "000200" ;
324
           SOME ;
325
           PUSH bytes 0x07000200 ;
326
           UPDATE ;
327
           PUSH string "000101" ;
328
           SOME ;
329
           PUSH bytes 0x07000101 ;
330
           UPDATE ;
331
           PUSH string "000100" ;
332
           SOME ;
333
           PUSH bytes 0x07000100 ;
334
           UPDATE ;
335
           PUSH string "000001" ;
336
           SOME ;
337
           PUSH bytes 0x07000001 ;
338
           UPDATE ;
339
           PUSH string "000000" ;
340
           SOME ;
341
           PUSH bytes 0x07000000 ;
342
           UPDATE ;
343
           DIG 3 ;
344
           GET ;
345
           IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
346
           PUSH string "-" ;
347
           CONCAT ;
348
           DUP 3 ;
349
           { PUSH string "" ;
350
             PAIR ;
351
             LEFT (pair string nat) ;
352
             LOOP_LEFT { DUP ;
353
                         CDR ;
354
                         PUSH nat 0 ;
355
                         SWAP ;
356
                         DUP ;
357
                         DUG 2 ;
358
                         COMPARE ;
359
                         GT ;
360
                         IF
361
                           { SWAP ;
362
                             CAR ;
363
                             PUSH nat 10 ;
364
                             DUP 3 ;
365
                             EDIV ;
366
                             IF_NONE { PUSH string "MOD by 0" ; FAILWITH } {} ;
367
                             CDR ;
368
                             EMPTY_MAP nat string ;
369
                             PUSH string "9" ;
370
                             SOME ;
371
                             PUSH nat 9 ;
372
                             UPDATE ;
373
                             PUSH string "8" ;
374
                             SOME ;
375
                             PUSH nat 8 ;
376
                             UPDATE ;
377
                             PUSH string "7" ;
378
                             SOME ;
379
                             PUSH nat 7 ;
380
                             UPDATE ;
381
                             PUSH string "6" ;
382
                             SOME ;
383
                             PUSH nat 6 ;
384
                             UPDATE ;
385
                             PUSH string "5" ;
386
                             SOME ;
387
                             PUSH nat 5 ;
388
                             UPDATE ;
389
                             PUSH string "4" ;
390
                             SOME ;
391
                             PUSH nat 4 ;
392
                             UPDATE ;
393
                             PUSH string "3" ;
394
                             SOME ;
395
                             PUSH nat 3 ;
396
                             UPDATE ;
397
                             PUSH string "2" ;
398
                             SOME ;
399
                             PUSH nat 2 ;
400
                             UPDATE ;
401
                             PUSH string "1" ;
402
                             SOME ;
403
                             PUSH nat 1 ;
404
                             UPDATE ;
405
                             PUSH string "0" ;
406
                             SOME ;
407
                             PUSH nat 0 ;
408
                             UPDATE ;
409
                             SWAP ;
410
                             GET ;
411
                             IF_NONE { PUSH string "INVALID_NAT" ; FAILWITH } {} ;
412
                             CONCAT ;
413
                             PUSH nat 10 ;
414
                             DIG 2 ;
415
                             EDIV ;
416
                             IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
417
                             CAR ;
418
                             SWAP ;
419
                             PAIR ;
420
                             LEFT (pair string nat) }
421
                           { DROP ; RIGHT (pair string nat) } } ;
422
             CAR ;
423
             PUSH string "" ;
424
             SWAP ;
425
             DUP ;
426
             DUG 2 ;
427
             COMPARE ;
428
             EQ ;
429
             IF { DROP ; PUSH string "0" } {} } ;
430
           CONCAT ;
431
           PUSH string "ipfs://bafybeifzcronmrkosek2ydpi7uhob7lt6rsi5qfabh3bu5nz56nyyfrj7i/" ;
432
           CONCAT ;
433
           PUSH bool True ;
434
           DIG 4 ;
435
           COMPARE ;
436
           EQ ;
437
           IF
438
             { PUSH string "01" ; SWAP ; CONCAT }
439
             { PUSH string "00" ; SWAP ; CONCAT } ;
440
           PUSH string ".json" ;
441
           SWAP ;
442
           CONCAT ;
443
           EMPTY_MAP string bytes ;
444
           SWAP ;
445
           PACK ;
446
           DUP ;
447
           PUSH nat 6 ;
448
           DIG 2 ;
449
           SIZE ;
450
           SUB ;
451
           ABS ;
452
           PUSH nat 6 ;
453
           SLICE ;
454
           IF_NONE { PUSH string "SLICE" ; FAILWITH } {} ;
455
           SOME ;
456
           PUSH string "" ;
457
           UPDATE ;
458
           DIG 2 ;
459
           PAIR ;
460
           SWAP ;
461
           PUSH mutez 0 ;
462
           DIG 2 ;
463
           TRANSFER_TOKENS } ;
464
       DUP 9 ;
465
       APPLY ;
466
       LAMBDA
467
         (pair
468
           (pair (lambda (pair (pair nat bytes) bool) operation)
469
                 (lambda
470
                   (pair bytes (big_map string bytes) bytes (big_map bytes nat)
471
                         (big_map address bytes)
472
                         bool
473
                         bool
474
                         timestamp)
475
                   nat)
476
                 bytes
477
                 (set bytes)
478
                 nat
479
                 nat
480
                 address)
481
           (pair (list operation) (big_map string bytes) bytes (big_map bytes nat)
482
                 (big_map address bytes)
483
                 bool
484
                 bool
485
                 timestamp))
486
         (pair (list operation) (big_map string bytes) bytes (big_map bytes nat)
487
               (big_map address bytes)
488
               bool
489
               bool
490
               timestamp)
491
         { UNPAIR ;
492
           UNPAIR 7 ;
493
           DIG 7 ;
494
           UNPAIR ;
495
           DUP 5 ;
496
           PUSH nat 0 ;
497
           PUSH nat 0 ;
498
           DIG 8 ;
499
           ITER { DUP 6 ;
500
                  DUP 2 ;
501
                  PAIR ;
502
                  DUP 9 ;
503
                  SWAP ;
504
                  EXEC ;
505
                  DUP 4 ;
506
                  DUP 2 ;
507
                  COMPARE ;
508
                  GT ;
509
                  IF
510
                    { DIG 3 ; DIG 4 ; DROP 2 ; DUP ; DUG 3 ; SWAP ; DUG 3 }
511
                    { SWAP ; DROP } ;
512
                  ADD } ;
513
           DIG 6 ;
514
           DROP ;
515
           DIG 6 ;
516
           DUP 4 ;
517
           COMPARE ;
518
           NEQ ;
519
           IF
520
             { DIG 8 ;
521
               DUP 9 ;
522
               VIEW "total_supply" nat ;
523
               IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
524
               DUP ;
525
               PUSH nat 10000 ;
526
               DIG 4 ;
527
               MUL ;
528
               EDIV ;
529
               IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
530
               CAR ;
531
               SWAP ;
532
               PUSH nat 10000 ;
533
               DIG 3 ;
534
               MUL ;
535
               EDIV ;
536
               IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
537
               CAR ;
538
               DUP 7 ;
539
               DIG 2 ;
540
               COMPARE ;
541
               GE ;
542
               IF
543
                 { DIG 5 ;
544
                   DROP 2 ;
545
                   PUSH bool True ;
546
                   DUP 4 ;
547
                   GET 9 ;
548
                   COMPARE ;
549
                   EQ ;
550
                   DUP 2 ;
551
                   DUP 5 ;
552
                   GET 3 ;
553
                   COMPARE ;
554
                   NEQ ;
555
                   OR ;
556
                   IF
557
                     { DIG 2 ;
558
                       DUP 2 ;
559
                       UPDATE 3 ;
560
                       PUSH bool False ;
561
                       UPDATE 9 ;
562
                       DUG 2 ;
563
                       SWAP ;
564
                       PUSH bool False ;
565
                       DIG 2 ;
566
                       DIG 5 ;
567
                       PAIR ;
568
                       PAIR ;
569
                       DIG 3 ;
570
                       SWAP ;
571
                       EXEC ;
572
                       CONS }
573
                     { DIG 3 ; DIG 4 ; DROP 3 } }
574
                 { SWAP ;
575
                   DROP ;
576
                   DIG 4 ;
577
                   SWAP ;
578
                   COMPARE ;
579
                   GE ;
580
                   IF
581
                     { SWAP ;
582
                       PUSH bool True ;
583
                       UPDATE 9 ;
584
                       SWAP ;
585
                       PUSH bool True ;
586
                       DUP 3 ;
587
                       GET 3 ;
588
                       DIG 5 ;
589
                       PAIR ;
590
                       PAIR ;
591
                       DIG 3 ;
592
                       SWAP ;
593
                       EXEC ;
594
                       CONS }
595
                     { DIG 2 ; DIG 3 ; DROP 2 } } }
596
             { SWAP ; DIG 2 ; DIG 5 ; DIG 6 ; DIG 7 ; DIG 8 ; DROP 7 } ;
597
           PAIR } ;
598
       DUP 10 ;
599
       DUP 9 ;
600
       DUP 9 ;
601
       DUP 9 ;
602
       DUP 9 ;
603
       DUP 8 ;
604
       DUP 8 ;
605
       PAIR 7 ;
606
       APPLY ;
607
       DIG 10 ;
608
       UNPAIR ;
609
       SWAP ;
610
       PUSH mutez 0 ;
611
       AMOUNT ;
612
       COMPARE ;
613
       NEQ ;
614
       IF { PUSH string "DONT_SEND_TEZ" ; FAILWITH } {} ;
615
       SWAP ;
616
       IF_LEFT
617
         { DIG 3 ;
618
           DIG 7 ;
619
           DIG 8 ;
620
           DIG 10 ;
621
           DROP 4 ;
622
           SWAP ;
623
           DIG 7 ;
624
           SENDER ;
625
           COMPARE ;
626
           NEQ ;
627
           IF { PUSH string "INVALID_TRANSFER_HOOK_ACCESS" ; FAILWITH } {} ;
628
           PUSH bool False ;
629
           DIG 2 ;
630
           ITER { DUP ;
631
                  CDR ;
632
                  ITER { DUP 9 ;
633
                         DUP 2 ;
634
                         GET 3 ;
635
                         COMPARE ;
636
                         EQ ;
637
                         IF
638
                           { DUP 4 ;
639
                             DUP 3 ;
640
                             CAR ;
641
                             PAIR ;
642
                             DUP 8 ;
643
                             SWAP ;
644
                             EXEC ;
645
                             DUP 5 ;
646
                             DUP 3 ;
647
                             CAR ;
648
                             PAIR ;
649
                             DUP 9 ;
650
                             SWAP ;
651
                             EXEC ;
652
                             DUP ;
653
                             DUP 3 ;
654
                             COMPARE ;
655
                             NEQ ;
656
                             IF
657
                               { DUP 10 ;
658
                                 DUP 3 ;
659
                                 COMPARE ;
660
                                 NEQ ;
661
                                 IF
662
                                   { DIG 4 ;
663
                                     DROP ;
664
                                     DUP 5 ;
665
                                     DUP 6 ;
666
                                     GET 5 ;
667
                                     DUP 5 ;
668
                                     GET 4 ;
669
                                     DIG 7 ;
670
                                     DUP 6 ;
671
                                     PAIR ;
672
                                     DUP 10 ;
673
                                     SWAP ;
674
                                     EXEC ;
675
                                     SUB ;
676
                                     ABS ;
677
                                     DIG 4 ;
678
                                     SWAP ;
679
                                     SOME ;
680
                                     SWAP ;
681
                                     UPDATE ;
682
                                     UPDATE 5 ;
683
                                     DUG 3 ;
684
                                     PUSH bool True ;
685
                                     DUG 3 }
686
                                   { SWAP ; DROP } ;
687
                                 DUP 9 ;
688
                                 DUP 2 ;
689
                                 COMPARE ;
690
                                 NEQ ;
691
                                 IF
692
                                   { DIG 3 ;
693
                                     DROP ;
694
                                     DUP 4 ;
695
                                     DUP 5 ;
696
                                     GET 5 ;
697
                                     DIG 3 ;
698
                                     GET 4 ;
699
                                     DIG 5 ;
700
                                     DUP 5 ;
701
                                     PAIR ;
702
                                     DUP 8 ;
703
                                     SWAP ;
704
                                     EXEC ;
705
                                     ADD ;
706
                                     DIG 3 ;
707
                                     SWAP ;
708
                                     SOME ;
709
                                     SWAP ;
710
                                     UPDATE ;
711
                                     UPDATE 5 ;
712
                                     SWAP ;
713
                                     PUSH bool True ;
714
                                     SWAP }
715
                                   { DROP 2 } }
716
                               { DROP 3 } }
717
                           { DROP } } ;
718
                  DROP } ;
719
           DIG 3 ;
720
           DIG 4 ;
721
           DIG 5 ;
722
           DIG 6 ;
723
           DROP 4 ;
724
           NIL operation ;
725
           PUSH bool True ;
726
           DIG 2 ;
727
           COMPARE ;
728
           EQ ;
729
           IF { PAIR ; EXEC ; DUP ; CAR ; SWAP ; CDR ; SWAP } { DIG 2 ; DROP } }
730
         { SWAP ;
731
           NOW ;
732
           PUSH timestamp 1667257200 ;
733
           COMPARE ;
734
           GT ;
735
           IF { PUSH string "Voting opens at 7PM Est" ; FAILWITH } {} ;
736
           PUSH bool False ;
737
           DIG 8 ;
738
           DUP 4 ;
739
           MEM ;
740
           COMPARE ;
741
           EQ ;
742
           IF { PUSH string "The dark fire will not avail you" ; FAILWITH } {} ;
743
           DUP 10 ;
744
           SENDER ;
745
           PAIR ;
746
           DUP 12 ;
747
           SWAP ;
748
           VIEW "get_balance" nat ;
749
           IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
750
           DUP 10 ;
751
           SENDER ;
752
           PAIR ;
753
           DUP 13 ;
754
           SWAP ;
755
           VIEW "get_balance" nat ;
756
           IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
757
           PUSH nat 0 ;
758
           DIG 2 ;
759
           COMPARE ;
760
           GT ;
761
           PUSH nat 0 ;
762
           DUP 3 ;
763
           COMPARE ;
764
           GT ;
765
           PUSH bool False ;
766
           DUP 2 ;
767
           COMPARE ;
768
           EQ ;
769
           PUSH bool False ;
770
           DUP 4 ;
771
           COMPARE ;
772
           EQ ;
773
           AND ;
774
           IF { PUSH string "You cannot pass!" ; FAILWITH } {} ;
775
           NIL operation ;
776
           PUSH bool True ;
777
           DIG 3 ;
778
           COMPARE ;
779
           EQ ;
780
           IF
781
             { NOW ;
782
               DUP 5 ;
783
               GET 12 ;
784
               COMPARE ;
785
               GT ;
786
               IF { PUSH string "Calm down and wait!" ; FAILWITH } {} ;
787
               PUSH bool True ;
788
               DUP 5 ;
789
               GET 11 ;
790
               COMPARE ;
791
               EQ ;
792
               IF
793
                 { DIG 10 ;
794
                   DIG 11 ;
795
                   DIG 13 ;
796
                   DROP 3 ;
797
                   DUP 4 ;
798
                   GET 3 ;
799
                   DUP 6 ;
800
                   COMPARE ;
801
                   EQ ;
802
                   IF
803
                     { PUSH bool False ;
804
                       DUP 6 ;
805
                       DIG 12 ;
806
                       PAIR ;
807
                       PAIR ;
808
                       DIG 7 ;
809
                       SWAP ;
810
                       EXEC ;
811
                       CONS ;
812
                       DIG 3 ;
813
                       PUSH bool False ;
814
                       UPDATE 11 ;
815
                       DUG 3 }
816
                     { DIG 6 ; DIG 10 ; DROP 2 } }
817
                 { DIG 13 ;
818
                   DUP 13 ;
819
                   VIEW "total_supply" nat ;
820
                   IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
821
                   DUP 5 ;
822
                   DUP 6 ;
823
                   GET 3 ;
824
                   PAIR ;
825
                   DUP 10 ;
826
                   SWAP ;
827
                   EXEC ;
828
                   SWAP ;
829
                   PUSH nat 10000 ;
830
                   DIG 2 ;
831
                   MUL ;
832
                   EDIV ;
833
                   IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
834
                   CAR ;
835
                   SWAP ;
836
                   PUSH bool False ;
837
                   DUP 7 ;
838
                   DIG 14 ;
839
                   PAIR ;
840
                   PAIR ;
841
                   DUP 9 ;
842
                   SWAP ;
843
                   EXEC ;
844
                   CONS ;
845
                   SWAP ;
846
                   DIG 4 ;
847
                   PUSH bool False ;
848
                   UPDATE 9 ;
849
                   DUG 4 ;
850
                   DIG 11 ;
851
                   SWAP ;
852
                   COMPARE ;
853
                   LT ;
854
                   IF
855
                     { PUSH bool False ; DUP 6 ; DIG 12 ; PAIR ; PAIR ; DIG 7 ; SWAP ; EXEC ; CONS }
856
                     { PUSH bool True ;
857
                       DUP 6 ;
858
                       DIG 12 ;
859
                       PAIR ;
860
                       PAIR ;
861
                       DIG 7 ;
862
                       SWAP ;
863
                       EXEC ;
864
                       CONS ;
865
                       DIG 3 ;
866
                       PUSH bool True ;
867
                       UPDATE 11 ;
868
                       DUG 3 } ;
869
                   DIG 3 ;
870
                   EMPTY_BIG_MAP bytes nat ;
871
                   UPDATE 5 ;
872
                   EMPTY_BIG_MAP address bytes ;
873
                   UPDATE 7 ;
874
                   DUG 3 } ;
875
               DIG 3 ;
876
               PUSH int 3600 ;
877
               NOW ;
878
               ADD ;
879
               UPDATE 12 ;
880
               DUG 3 }
881
             { DIG 6 ; DIG 10 ; DIG 11 ; DIG 12 ; DIG 13 ; DROP 5 } ;
882
           PUSH bool True ;
883
           DIG 2 ;
884
           COMPARE ;
885
           EQ ;
886
           IF
887
             { DUP 3 ;
888
               SENDER ;
889
               PAIR ;
890
               DIG 7 ;
891
               SWAP ;
892
               EXEC ;
893
               DIG 7 ;
894
               DUP 2 ;
895
               COMPARE ;
896
               NEQ ;
897
               IF
898
                 { DUP 4 ;
899
                   DUP 5 ;
900
                   GET 5 ;
901
                   DUP 5 ;
902
                   DIG 6 ;
903
                   DUP 5 ;
904
                   PAIR ;
905
                   DUP 10 ;
906
                   SWAP ;
907
                   EXEC ;
908
                   SUB ;
909
                   ABS ;
910
                   DIG 3 ;
911
                   SWAP ;
912
                   SOME ;
913
                   SWAP ;
914
                   UPDATE ;
915
                   UPDATE 5 ;
916
                   DUG 2 }
917
                 { DROP } ;
918
               DUP 3 ;
919
               DUP 4 ;
920
               GET 5 ;
921
               DIG 3 ;
922
               DIG 4 ;
923
               DUP 6 ;
924
               PAIR ;
925
               DIG 7 ;
926
               SWAP ;
927
               EXEC ;
928
               ADD ;
929
               DUP 5 ;
930
               SWAP ;
931
               SOME ;
932
               SWAP ;
933
               UPDATE ;
934
               UPDATE 5 ;
935
               SWAP ;
936
               DUP 2 ;
937
               DIG 2 ;
938
               GET 7 ;
939
               DIG 3 ;
940
               SENDER ;
941
               SWAP ;
942
               SOME ;
943
               SWAP ;
944
               UPDATE ;
945
               UPDATE 7 ;
946
               SWAP ;
947
               PAIR ;
948
               EXEC ;
949
               DUP ;
950
               CAR ;
951
               SWAP ;
952
               CDR ;
953
               SWAP }
954
             { SWAP ; DIG 3 ; DIG 4 ; DIG 5 ; DIG 6 ; DIG 7 ; DROP 6 } } ;
955
       PAIR }