BCD

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