BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1KbSL...fsUT
operations (1)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
926
1607
 
1
parameter (or
2
            (or
3
              (or (or (nat %buyTickets) (unit %check))
4
                  (or
5
                    (pair %configureCollection
6
                      (pair (address %collectionContract) (nat %collectionId))
7
                      (nat %nextTokenId))
8
                    (unit %confirmAdmin)))
9
              (or
10
                (or
11
                  (pair %createTickets (pair (nat %amount) (address %artist))
12
                                       (pair (bytes %metadata_cid) (mutez %price)))
13
                  (unit %default))
14
                (or (unit %draw) (bool %pauseTicketSale))))
15
            (or
16
              (or (pair %setAddress (address %community) (address %oracle))
17
                  (option %setAdmin address))
18
              (or
19
                (pair %setPercents (nat %artist) (nat %community) (nat %team)
20
                                   (list %winners nat))
21
                (unit %startTicketSale))));
22
storage (pair
23
          (pair
24
            (pair
25
              (pair (pair (address %admin) (nat %artistPercent))
26
                    (pair (address %artistWallet) (nat %communityPercent)))
27
              (pair (pair (address %communityWallet) (nat %epoch))
28
                    (pair
29
                      (list %lastWinners (pair (address %tz) (nat %percent) (nat %ticket)))
30
                      (address %oracle))))
31
            (pair
32
              (pair (pair (option %pending address) (nat %raffleId))
33
                    (pair (map %shares address nat) (timestamp %startedAt)))
34
              (pair (pair (nat %status) (nat %supply))
35
                    (pair (nat %teamPercent) (nat %ticketCollectionId)))))
36
          (pair
37
            (pair (pair (address %ticketContract) (mutez %ticketPrice))
38
                  (pair (big_map %tickets nat address) (nat %ticketsSold)))
39
            (list %winshares nat)));
40
code { PUSH address "KT1Aq4wWmVanpQhq4TTfjZXB5AjFpx15iQMM" ;
41
       PUSH string "Access denied" ;
42
       PUSH string "Wrong status" ;
43
       PUSH string "Oracle view not found" ;
44
       NIL operation ;
45
       PUSH nat 0 ;
46
       PUSH nat 1 ;
47
       PUSH nat 2 ;
48
       PUSH nat 3 ;
49
       DIG 9 ;
50
       UNPAIR ;
51
       IF_LEFT
52
         { IF_LEFT
53
             { IF_LEFT
54
                 { DIG 2 ;
55
                   DIG 10 ;
56
                   DROP 2 ;
57
                   IF_LEFT
58
                     { DIG 2 ;
59
                       DIG 4 ;
60
                       DIG 5 ;
61
                       DIG 7 ;
62
                       DROP 4 ;
63
                       DIG 4 ;
64
                       DIG 3 ;
65
                       DUP 4 ;
66
                       CAR ;
67
                       CDR ;
68
                       CDR ;
69
                       CAR ;
70
                       CAR ;
71
                       COMPARE ;
72
                       EQ ;
73
                       IF { DROP } { FAILWITH } ;
74
                       PUSH string "No more tickets left" ;
75
                       DUP 3 ;
76
                       CDR ;
77
                       CAR ;
78
                       CDR ;
79
                       CDR ;
80
                       DUP 4 ;
81
                       CAR ;
82
                       CDR ;
83
                       CDR ;
84
                       CAR ;
85
                       CDR ;
86
                       COMPARE ;
87
                       GT ;
88
                       IF { DROP } { FAILWITH } ;
89
                       PUSH string "Incorrect tickets amount requested" ;
90
                       PUSH nat 20 ;
91
                       DUP 3 ;
92
                       COMPARE ;
93
                       LE ;
94
                       PUSH nat 0 ;
95
                       DUP 4 ;
96
                       COMPARE ;
97
                       GT ;
98
                       AND ;
99
                       IF { DROP } { FAILWITH } ;
100
                       PUSH string "Too many tickets requested" ;
101
                       DUP 3 ;
102
                       CDR ;
103
                       CAR ;
104
                       CDR ;
105
                       CDR ;
106
                       DUP 3 ;
107
                       ADD ;
108
                       DUP 4 ;
109
                       CAR ;
110
                       CDR ;
111
                       CDR ;
112
                       CAR ;
113
                       CDR ;
114
                       COMPARE ;
115
                       GE ;
116
                       IF { DROP } { FAILWITH } ;
117
                       PUSH string "Incorrect xtz amount" ;
118
                       SWAP ;
119
                       DUP ;
120
                       DUG 2 ;
121
                       DUP 4 ;
122
                       CDR ;
123
                       CAR ;
124
                       CAR ;
125
                       CDR ;
126
                       MUL ;
127
                       AMOUNT ;
128
                       COMPARE ;
129
                       EQ ;
130
                       IF { DROP } { FAILWITH } ;
131
                       SWAP ;
132
                       DUP ;
133
                       DUG 2 ;
134
                       CDR ;
135
                       DUP 3 ;
136
                       CAR ;
137
                       CDR ;
138
                       DUP 4 ;
139
                       CAR ;
140
                       CAR ;
141
                       CDR ;
142
                       CDR ;
143
                       DUP 5 ;
144
                       CAR ;
145
                       CAR ;
146
                       CDR ;
147
                       CDR ;
148
                       CDR ;
149
                       UNIT ;
150
                       VIEW "get_epoch" nat ;
151
                       IF_NONE { DIG 5 ; FAILWITH } { DIG 6 ; DROP } ;
152
                       DUP 6 ;
153
                       CAR ;
154
                       CAR ;
155
                       CDR ;
156
                       CAR ;
157
                       CAR ;
158
                       PAIR ;
159
                       PAIR ;
160
                       DIG 4 ;
161
                       CAR ;
162
                       CAR ;
163
                       CAR ;
164
                       PAIR ;
165
                       PAIR ;
166
                       PAIR ;
167
                       PUSH int 1 ;
168
                       SWAP ;
169
                       PAIR ;
170
                       LEFT (pair
171
                              (pair
172
                                (pair
173
                                  (pair (pair (pair address nat) (pair address nat))
174
                                        (pair (pair address nat)
175
                                              (pair (list (pair address nat nat))
176
                                                    address)))
177
                                  (pair
178
                                    (pair (pair (option address) nat)
179
                                          (pair (map address nat) timestamp))
180
                                    (pair (pair nat nat) (pair nat nat))))
181
                                (pair
182
                                  (pair (pair address mutez)
183
                                        (pair (big_map nat address) nat))
184
                                  (list nat)))
185
                              int) ;
186
                       LOOP_LEFT { DUP ;
187
                                   CDR ;
188
                                   DUP 3 ;
189
                                   INT ;
190
                                   SWAP ;
191
                                   DUP ;
192
                                   DUG 2 ;
193
                                   COMPARE ;
194
                                   LE ;
195
                                   IF
196
                                     { SWAP ;
197
                                       CAR ;
198
                                       DUP ;
199
                                       CDR ;
200
                                       CDR ;
201
                                       SWAP ;
202
                                       DUP ;
203
                                       DUG 2 ;
204
                                       CDR ;
205
                                       CAR ;
206
                                       CDR ;
207
                                       CDR ;
208
                                       DUP 3 ;
209
                                       CDR ;
210
                                       CAR ;
211
                                       CDR ;
212
                                       CAR ;
213
                                       SENDER ;
214
                                       DUP 5 ;
215
                                       CDR ;
216
                                       CAR ;
217
                                       CDR ;
218
                                       CDR ;
219
                                       SWAP ;
220
                                       SOME ;
221
                                       SWAP ;
222
                                       UPDATE ;
223
                                       PAIR ;
224
                                       DUP 3 ;
225
                                       CDR ;
226
                                       CAR ;
227
                                       CAR ;
228
                                       PAIR ;
229
                                       PAIR ;
230
                                       SWAP ;
231
                                       CAR ;
232
                                       PAIR ;
233
                                       DUP ;
234
                                       CDR ;
235
                                       CDR ;
236
                                       PUSH nat 1 ;
237
                                       DUP 3 ;
238
                                       CDR ;
239
                                       CAR ;
240
                                       CDR ;
241
                                       CDR ;
242
                                       ADD ;
243
                                       DUP 3 ;
244
                                       CDR ;
245
                                       CAR ;
246
                                       CDR ;
247
                                       CAR ;
248
                                       PAIR ;
249
                                       DUP 3 ;
250
                                       CDR ;
251
                                       CAR ;
252
                                       CAR ;
253
                                       PAIR ;
254
                                       PAIR ;
255
                                       SWAP ;
256
                                       CAR ;
257
                                       PAIR ;
258
                                       PUSH int 1 ;
259
                                       DIG 2 ;
260
                                       ADD ;
261
                                       SWAP ;
262
                                       PAIR ;
263
                                       LEFT (pair
264
                                              (pair
265
                                                (pair
266
                                                  (pair
267
                                                    (pair (pair address nat)
268
                                                          (pair address nat))
269
                                                    (pair (pair address nat)
270
                                                          (pair
271
                                                            (list (pair address nat nat))
272
                                                            address)))
273
                                                  (pair
274
                                                    (pair (pair (option address) nat)
275
                                                          (pair (map address nat)
276
                                                                timestamp))
277
                                                    (pair (pair nat nat) (pair nat nat))))
278
                                                (pair
279
                                                  (pair (pair address mutez)
280
                                                        (pair (big_map nat address) nat))
281
                                                  (list nat)))
282
                                              int) }
283
                                     { DROP ;
284
                                       RIGHT (pair
285
                                               (pair
286
                                                 (pair
287
                                                   (pair
288
                                                     (pair (pair address nat)
289
                                                           (pair address nat))
290
                                                     (pair (pair address nat)
291
                                                           (pair
292
                                                             (list (pair address nat nat))
293
                                                             address)))
294
                                                   (pair
295
                                                     (pair (pair (option address) nat)
296
                                                           (pair (map address nat)
297
                                                                 timestamp))
298
                                                     (pair (pair nat nat) (pair nat nat))))
299
                                                 (pair
300
                                                   (pair (pair address mutez)
301
                                                         (pair (big_map nat address) nat))
302
                                                   (list nat)))
303
                                               int) } } ;
304
                       CAR ;
305
                       DUP ;
306
                       NIL operation ;
307
                       DIG 2 ;
308
                       SENDER ;
309
                       DIG 4 ;
310
                       DUP 3 ;
311
                       CDR ;
312
                       CAR ;
313
                       CAR ;
314
                       CAR ;
315
                       CONTRACT %transfer (list (pair (address %from_)
316
                                                     (list %txs (pair (address %to_)
317
                                                                     (nat %token_id)
318
                                                                     (nat %amount))))) ;
319
                       IF_NONE { PUSH int 1 ; FAILWITH } {} ;
320
                       NIL (pair address (list (pair address nat nat))) ;
321
                       NIL (pair address nat nat) ;
322
                       DIG 3 ;
323
                       DIG 5 ;
324
                       CAR ;
325
                       CDR ;
326
                       CAR ;
327
                       CAR ;
328
                       CDR ;
329
                       DIG 5 ;
330
                       PAIR 3 ;
331
                       CONS ;
332
                       SELF_ADDRESS ;
333
                       PAIR ;
334
                       CONS ;
335
                       SWAP ;
336
                       PUSH mutez 0 ;
337
                       DIG 2 ;
338
                       TRANSFER_TOKENS ;
339
                       CONS ;
340
                       PAIR }
341
                     { DIG 3 ;
342
                       DIG 8 ;
343
                       DROP 3 ;
344
                       DIG 5 ;
345
                       DUG 2 ;
346
                       DUP ;
347
                       DUG 3 ;
348
                       CAR ;
349
                       CDR ;
350
                       CDR ;
351
                       CAR ;
352
                       CAR ;
353
                       COMPARE ;
354
                       EQ ;
355
                       IF { DROP } { FAILWITH } ;
356
                       PUSH nat 0 ;
357
                       SWAP ;
358
                       DUP ;
359
                       DUG 2 ;
360
                       CDR ;
361
                       CAR ;
362
                       CDR ;
363
                       CDR ;
364
                       COMPARE ;
365
                       GT ;
366
                       IF
367
                         { DUP ;
368
                           CDR ;
369
                           SWAP ;
370
                           DUP ;
371
                           DUG 2 ;
372
                           CAR ;
373
                           CDR ;
374
                           DUP 3 ;
375
                           CAR ;
376
                           CAR ;
377
                           CDR ;
378
                           CDR ;
379
                           CDR ;
380
                           NIL (pair address nat nat) ;
381
                           DUP 5 ;
382
                           PUSH nat 3 ;
383
                           DUP 7 ;
384
                           CAR ;
385
                           CAR ;
386
                           CDR ;
387
                           CAR ;
388
                           CDR ;
389
                           ADD ;
390
                           SWAP ;
391
                           CAR ;
392
                           CAR ;
393
                           CDR ;
394
                           CDR ;
395
                           CDR ;
396
                           SWAP ;
397
                           VIEW "get_seed" nat ;
398
                           IF_NONE { DIG 7 ; FAILWITH } { DIG 8 ; DROP } ;
399
                           PAIR ;
400
                           DUP 5 ;
401
                           CDR ;
402
                           CDR ;
403
                           ITER { SWAP ;
404
                                  DUP 6 ;
405
                                  CDR ;
406
                                  CAR ;
407
                                  CDR ;
408
                                  CDR ;
409
                                  SWAP ;
410
                                  DUP ;
411
                                  DUG 2 ;
412
                                  CAR ;
413
                                  EDIV ;
414
                                  IF_NONE { PUSH string "MOD by 0" ; FAILWITH } {} ;
415
                                  CDR ;
416
                                  DUP 7 ;
417
                                  CDR ;
418
                                  CAR ;
419
                                  CDR ;
420
                                  CAR ;
421
                                  SWAP ;
422
                                  DUP ;
423
                                  DUG 2 ;
424
                                  GET ;
425
                                  IF_NONE { SELF_ADDRESS } {} ;
426
                                  DUP 3 ;
427
                                  CDR ;
428
                                  DIG 3 ;
429
                                  CAR ;
430
                                  PUSH nat 13 ;
431
                                  SWAP ;
432
                                  DUP ;
433
                                  DUG 2 ;
434
                                  LSL ;
435
                                  XOR ;
436
                                  PUSH nat 17 ;
437
                                  SWAP ;
438
                                  DUP ;
439
                                  DUG 2 ;
440
                                  LSR ;
441
                                  XOR ;
442
                                  PUSH nat 5 ;
443
                                  SWAP ;
444
                                  DUP ;
445
                                  DUG 2 ;
446
                                  LSL ;
447
                                  XOR ;
448
                                  PUSH nat 4294967295 ;
449
                                  AND ;
450
                                  PAIR ;
451
                                  DUP ;
452
                                  CDR ;
453
                                  DIG 3 ;
454
                                  DIG 4 ;
455
                                  DIG 4 ;
456
                                  PAIR 3 ;
457
                                  CONS ;
458
                                  SWAP ;
459
                                  CAR ;
460
                                  PAIR } ;
461
                           CDR ;
462
                           PAIR ;
463
                           DUP 4 ;
464
                           CAR ;
465
                           CAR ;
466
                           CDR ;
467
                           CAR ;
468
                           PAIR ;
469
                           DIG 3 ;
470
                           CAR ;
471
                           CAR ;
472
                           CAR ;
473
                           PAIR ;
474
                           PAIR ;
475
                           PAIR ;
476
                           DIG 2 ;
477
                           SWAP ;
478
                           DUP ;
479
                           DUG 2 ;
480
                           CAR ;
481
                           CAR ;
482
                           CDR ;
483
                           CDR ;
484
                           CAR ;
485
                           ITER { DUP ;
486
                                  DUG 2 ;
487
                                  CAR ;
488
                                  CONTRACT unit ;
489
                                  IF_NONE { PUSH string "0" ; FAILWITH } {} ;
490
                                  DIG 2 ;
491
                                  GET 3 ;
492
                                  PUSH nat 100 ;
493
                                  BALANCE ;
494
                                  EDIV ;
495
                                  IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
496
                                  CAR ;
497
                                  MUL ;
498
                                  UNIT ;
499
                                  TRANSFER_TOKENS ;
500
                                  CONS } ;
501
                           SWAP ;
502
                           DUP ;
503
                           DUG 2 ;
504
                           CAR ;
505
                           CDR ;
506
                           CDR ;
507
                           CDR ;
508
                           CAR ;
509
                           PUSH nat 100 ;
510
                           BALANCE ;
511
                           EDIV ;
512
                           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
513
                           CAR ;
514
                           MUL ;
515
                           PUSH mutez 0 ;
516
                           SWAP ;
517
                           DUP ;
518
                           DUG 2 ;
519
                           COMPARE ;
520
                           GT ;
521
                           IF
522
                             { SWAP ;
523
                               DUP 3 ;
524
                               CAR ;
525
                               CDR ;
526
                               CAR ;
527
                               CDR ;
528
                               CAR ;
529
                               ITER { DUP ;
530
                                      DUG 2 ;
531
                                      CAR ;
532
                                      CONTRACT unit ;
533
                                      IF_NONE { PUSH string "0" ; FAILWITH } {} ;
534
                                      DIG 2 ;
535
                                      CDR ;
536
                                      PUSH nat 1000 ;
537
                                      DUP 5 ;
538
                                      EDIV ;
539
                                      IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
540
                                      CAR ;
541
                                      MUL ;
542
                                      UNIT ;
543
                                      TRANSFER_TOKENS ;
544
                                      CONS } ;
545
                               SWAP ;
546
                               DROP }
547
                             { DROP } ;
548
                           SWAP ;
549
                           DUP ;
550
                           DUG 2 ;
551
                           CAR ;
552
                           CAR ;
553
                           CAR ;
554
                           CAR ;
555
                           CDR ;
556
                           PUSH nat 100 ;
557
                           BALANCE ;
558
                           EDIV ;
559
                           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
560
                           CAR ;
561
                           MUL ;
562
                           PUSH mutez 0 ;
563
                           SWAP ;
564
                           DUP ;
565
                           DUG 2 ;
566
                           COMPARE ;
567
                           GT ;
568
                           IF
569
                             { SWAP ;
570
                               DUP 3 ;
571
                               CAR ;
572
                               CAR ;
573
                               CAR ;
574
                               CDR ;
575
                               CAR ;
576
                               CONTRACT unit ;
577
                               IF_NONE { PUSH string "0" ; FAILWITH } {} ;
578
                               DIG 2 ;
579
                               UNIT ;
580
                               TRANSFER_TOKENS ;
581
                               CONS }
582
                             { DROP } ;
583
                           SWAP ;
584
                           DUP ;
585
                           DUG 2 ;
586
                           CAR ;
587
                           CAR ;
588
                           CAR ;
589
                           CDR ;
590
                           CDR ;
591
                           PUSH nat 100 ;
592
                           BALANCE ;
593
                           EDIV ;
594
                           IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
595
                           CAR ;
596
                           MUL ;
597
                           PUSH mutez 0 ;
598
                           SWAP ;
599
                           DUP ;
600
                           DUG 2 ;
601
                           COMPARE ;
602
                           GT ;
603
                           IF
604
                             { SWAP ;
605
                               DUP 3 ;
606
                               CAR ;
607
                               CAR ;
608
                               CDR ;
609
                               CAR ;
610
                               CAR ;
611
                               CONTRACT unit ;
612
                               IF_NONE { PUSH string "0" ; FAILWITH } {} ;
613
                               DIG 2 ;
614
                               UNIT ;
615
                               TRANSFER_TOKENS ;
616
                               CONS }
617
                             { DROP } ;
618
                           SWAP ;
619
                           PAIR }
620
                         { DIG 3 ; DROP ; DIG 2 ; SWAP ; PAIR } ;
621
                       DUP ;
622
                       CAR ;
623
                       DUP ;
624
                       CDR ;
625
                       SWAP ;
626
                       DUP ;
627
                       DUG 2 ;
628
                       CAR ;
629
                       CDR ;
630
                       CDR ;
631
                       DUP 3 ;
632
                       CAR ;
633
                       CDR ;
634
                       CAR ;
635
                       CDR ;
636
                       PUSH nat 1 ;
637
                       DUP 5 ;
638
                       CAR ;
639
                       CDR ;
640
                       CAR ;
641
                       CAR ;
642
                       CDR ;
643
                       ADD ;
644
                       DUP 5 ;
645
                       CAR ;
646
                       CDR ;
647
                       CAR ;
648
                       CAR ;
649
                       CAR ;
650
                       PAIR ;
651
                       PAIR ;
652
                       PAIR ;
653
                       DIG 2 ;
654
                       CAR ;
655
                       CAR ;
656
                       PAIR ;
657
                       PAIR ;
658
                       DUP ;
659
                       CDR ;
660
                       SWAP ;
661
                       DUP ;
662
                       DUG 2 ;
663
                       CAR ;
664
                       CDR ;
665
                       CDR ;
666
                       CDR ;
667
                       DUP 3 ;
668
                       CAR ;
669
                       CDR ;
670
                       CDR ;
671
                       CAR ;
672
                       CDR ;
673
                       DIG 5 ;
674
                       PAIR ;
675
                       PAIR ;
676
                       DUP 3 ;
677
                       CAR ;
678
                       CDR ;
679
                       CAR ;
680
                       PAIR ;
681
                       DIG 2 ;
682
                       CAR ;
683
                       CAR ;
684
                       PAIR ;
685
                       PAIR ;
686
                       SWAP ;
687
                       CDR ;
688
                       PAIR } }
689
                 { DIG 3 ;
690
                   DIG 4 ;
691
                   DIG 7 ;
692
                   DROP 3 ;
693
                   IF_LEFT
694
                     { DIG 4 ;
695
                       DROP ;
696
                       DIG 5 ;
697
                       DUP 3 ;
698
                       CAR ;
699
                       CAR ;
700
                       CAR ;
701
                       CAR ;
702
                       CAR ;
703
                       SENDER ;
704
                       COMPARE ;
705
                       EQ ;
706
                       IF { DROP } { FAILWITH } ;
707
                       DIG 4 ;
708
                       DIG 3 ;
709
                       DUP 4 ;
710
                       CAR ;
711
                       CDR ;
712
                       CDR ;
713
                       CAR ;
714
                       CAR ;
715
                       COMPARE ;
716
                       EQ ;
717
                       DIG 4 ;
718
                       DUP 5 ;
719
                       CAR ;
720
                       CDR ;
721
                       CDR ;
722
                       CAR ;
723
                       CAR ;
724
                       COMPARE ;
725
                       EQ ;
726
                       OR ;
727
                       IF { DROP } { FAILWITH } ;
728
                       SWAP ;
729
                       DUP ;
730
                       DUG 2 ;
731
                       CDR ;
732
                       SWAP ;
733
                       DUP ;
734
                       DUG 2 ;
735
                       CAR ;
736
                       CDR ;
737
                       DUP 4 ;
738
                       CAR ;
739
                       CDR ;
740
                       CDR ;
741
                       CDR ;
742
                       CAR ;
743
                       PAIR ;
744
                       DUP 4 ;
745
                       CAR ;
746
                       CDR ;
747
                       CDR ;
748
                       CAR ;
749
                       PAIR ;
750
                       DUP 4 ;
751
                       CAR ;
752
                       CDR ;
753
                       CAR ;
754
                       PAIR ;
755
                       DIG 3 ;
756
                       CAR ;
757
                       CAR ;
758
                       PAIR ;
759
                       PAIR ;
760
                       DUP ;
761
                       CDR ;
762
                       CDR ;
763
                       SWAP ;
764
                       DUP ;
765
                       DUG 2 ;
766
                       CDR ;
767
                       CAR ;
768
                       CDR ;
769
                       DUP 3 ;
770
                       CDR ;
771
                       CAR ;
772
                       CAR ;
773
                       CDR ;
774
                       DUP 5 ;
775
                       CAR ;
776
                       CAR ;
777
                       PAIR ;
778
                       PAIR ;
779
                       PAIR ;
780
                       SWAP ;
781
                       CAR ;
782
                       PAIR ;
783
                       DIG 2 ;
784
                       CONTRACT %accept_invitation nat ;
785
                       IF_NONE
786
                         { PUSH string "Factory contract not found" ; FAILWITH }
787
                         {} ;
788
                       SWAP ;
789
                       DUP ;
790
                       DUG 2 ;
791
                       CDR ;
792
                       DUP 3 ;
793
                       CAR ;
794
                       CDR ;
795
                       CDR ;
796
                       DUP 4 ;
797
                       CAR ;
798
                       CDR ;
799
                       CAR ;
800
                       CDR ;
801
                       DUP 6 ;
802
                       CDR ;
803
                       DUP 6 ;
804
                       CAR ;
805
                       CDR ;
806
                       CAR ;
807
                       CAR ;
808
                       CAR ;
809
                       PAIR ;
810
                       PAIR ;
811
                       PAIR ;
812
                       DIG 3 ;
813
                       CAR ;
814
                       CAR ;
815
                       PAIR ;
816
                       PAIR ;
817
                       NIL operation ;
818
                       DIG 2 ;
819
                       PUSH mutez 0 ;
820
                       DIG 4 ;
821
                       CAR ;
822
                       CDR ;
823
                       TRANSFER_TOKENS ;
824
                       CONS ;
825
                       PAIR }
826
                     { DIG 2 ;
827
                       DIG 3 ;
828
                       DIG 5 ;
829
                       DIG 6 ;
830
                       DIG 7 ;
831
                       DROP 6 ;
832
                       PUSH string "Not a pending admin" ;
833
                       SWAP ;
834
                       DUP ;
835
                       DUG 2 ;
836
                       CAR ;
837
                       CDR ;
838
                       CAR ;
839
                       CAR ;
840
                       CAR ;
841
                       IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
842
                       SENDER ;
843
                       COMPARE ;
844
                       EQ ;
845
                       IF { DROP } { FAILWITH } ;
846
                       DUP ;
847
                       CDR ;
848
                       SWAP ;
849
                       DUP ;
850
                       DUG 2 ;
851
                       CAR ;
852
                       CDR ;
853
                       DUP 3 ;
854
                       CAR ;
855
                       CAR ;
856
                       CDR ;
857
                       DUP 4 ;
858
                       CAR ;
859
                       CAR ;
860
                       CAR ;
861
                       CDR ;
862
                       DIG 4 ;
863
                       CAR ;
864
                       CAR ;
865
                       CAR ;
866
                       CAR ;
867
                       CDR ;
868
                       SENDER ;
869
                       PAIR ;
870
                       PAIR ;
871
                       PAIR ;
872
                       PAIR ;
873
                       PAIR ;
874
                       DUP ;
875
                       CDR ;
876
                       SWAP ;
877
                       DUP ;
878
                       DUG 2 ;
879
                       CAR ;
880
                       CDR ;
881
                       CDR ;
882
                       DUP 3 ;
883
                       CAR ;
884
                       CDR ;
885
                       CAR ;
886
                       CDR ;
887
                       DUP 4 ;
888
                       CAR ;
889
                       CDR ;
890
                       CAR ;
891
                       CAR ;
892
                       CDR ;
893
                       NONE address ;
894
                       PAIR ;
895
                       PAIR ;
896
                       PAIR ;
897
                       DIG 2 ;
898
                       CAR ;
899
                       CAR ;
900
                       PAIR ;
901
                       PAIR ;
902
                       SWAP ;
903
                       PAIR } } }
904
             { DIG 7 ;
905
               DROP ;
906
               IF_LEFT
907
                 { DIG 3 ;
908
                   DIG 4 ;
909
                   DROP 2 ;
910
                   IF_LEFT
911
                     { DIG 4 ;
912
                       DROP ;
913
                       DIG 5 ;
914
                       DUP 3 ;
915
                       CAR ;
916
                       CAR ;
917
                       CAR ;
918
                       CAR ;
919
                       CAR ;
920
                       SENDER ;
921
                       COMPARE ;
922
                       EQ ;
923
                       IF { DROP } { FAILWITH } ;
924
                       DIG 4 ;
925
                       DIG 3 ;
926
                       DUP 4 ;
927
                       CAR ;
928
                       CDR ;
929
                       CDR ;
930
                       CAR ;
931
                       CAR ;
932
                       COMPARE ;
933
                       EQ ;
934
                       DIG 4 ;
935
                       DUP 5 ;
936
                       CAR ;
937
                       CDR ;
938
                       CDR ;
939
                       CAR ;
940
                       CAR ;
941
                       COMPARE ;
942
                       EQ ;
943
                       OR ;
944
                       IF { DROP } { FAILWITH } ;
945
                       SWAP ;
946
                       DUP ;
947
                       DUG 2 ;
948
                       CDR ;
949
                       DUP 3 ;
950
                       CAR ;
951
                       CDR ;
952
                       DUP 4 ;
953
                       CAR ;
954
                       CAR ;
955
                       CDR ;
956
                       DUP 5 ;
957
                       CAR ;
958
                       CAR ;
959
                       CAR ;
960
                       CDR ;
961
                       CDR ;
962
                       DUP 5 ;
963
                       CAR ;
964
                       CDR ;
965
                       PAIR ;
966
                       DIG 5 ;
967
                       CAR ;
968
                       CAR ;
969
                       CAR ;
970
                       CAR ;
971
                       PAIR ;
972
                       PAIR ;
973
                       PAIR ;
974
                       PAIR ;
975
                       DUP ;
976
                       CDR ;
977
                       SWAP ;
978
                       DUP ;
979
                       DUG 2 ;
980
                       CAR ;
981
                       CDR ;
982
                       CDR ;
983
                       CDR ;
984
                       DUP 4 ;
985
                       CAR ;
986
                       CAR ;
987
                       DUP 4 ;
988
                       CAR ;
989
                       CDR ;
990
                       CDR ;
991
                       CAR ;
992
                       CAR ;
993
                       PAIR ;
994
                       PAIR ;
995
                       DUP 3 ;
996
                       CAR ;
997
                       CDR ;
998
                       CAR ;
999
                       PAIR ;
1000
                       DIG 2 ;
1001
                       CAR ;
1002
                       CAR ;
1003
                       PAIR ;
1004
                       PAIR ;
1005
                       DUP ;
1006
                       CDR ;
1007
                       CDR ;
1008
                       SWAP ;
1009
                       DUP ;
1010
                       DUG 2 ;
1011
                       CDR ;
1012
                       CAR ;
1013
                       CDR ;
1014
                       DUP 4 ;
1015
                       CDR ;
1016
                       CDR ;
1017
                       DUP 4 ;
1018
                       CDR ;
1019
                       CAR ;
1020
                       CAR ;
1021
                       CAR ;
1022
                       PAIR ;
1023
                       PAIR ;
1024
                       PAIR ;
1025
                       SWAP ;
1026
                       CAR ;
1027
                       PAIR ;
1028
                       DUP ;
1029
                       NIL operation ;
1030
                       DIG 2 ;
1031
                       DUP 4 ;
1032
                       CDR ;
1033
                       CAR ;
1034
                       DIG 4 ;
1035
                       CAR ;
1036
                       CAR ;
1037
                       DIG 5 ;
1038
                       CONTRACT %mint_artist (pair
1039
                                               (pair (nat %collection_id)
1040
                                                     (nat %editions))
1041
                                               (pair (bytes %metadata_cid)
1042
                                                     (address %target))) ;
1043
                       IF_NONE { PUSH int 1 ; FAILWITH } {} ;
1044
                       PUSH mutez 0 ;
1045
                       SELF_ADDRESS ;
1046
                       DIG 4 ;
1047
                       PAIR ;
1048
                       DIG 3 ;
1049
                       DIG 4 ;
1050
                       CAR ;
1051
                       CDR ;
1052
                       CDR ;
1053
                       CDR ;
1054
                       CDR ;
1055
                       PAIR ;
1056
                       PAIR ;
1057
                       TRANSFER_TOKENS ;
1058
                       CONS ;
1059
                       PAIR }
1060
                     { DIG 2 ; DIG 3 ; DIG 5 ; DIG 6 ; DIG 7 ; DROP 6 ; SWAP ; PAIR } }
1061
                 { DIG 5 ;
1062
                   DIG 9 ;
1063
                   DROP 2 ;
1064
                   IF_LEFT
1065
                     { DIG 2 ;
1066
                       DROP 2 ;
1067
                       DIG 5 ;
1068
                       SWAP ;
1069
                       DUP ;
1070
                       DUG 2 ;
1071
                       CAR ;
1072
                       CAR ;
1073
                       CAR ;
1074
                       CAR ;
1075
                       CAR ;
1076
                       SENDER ;
1077
                       COMPARE ;
1078
                       EQ ;
1079
                       IF { DROP } { FAILWITH } ;
1080
                       DIG 4 ;
1081
                       DIG 3 ;
1082
                       DUP 3 ;
1083
                       CAR ;
1084
                       CDR ;
1085
                       CDR ;
1086
                       CAR ;
1087
                       CAR ;
1088
                       COMPARE ;
1089
                       EQ ;
1090
                       IF { DROP } { FAILWITH } ;
1091
                       DUP ;
1092
                       CDR ;
1093
                       SWAP ;
1094
                       DUP ;
1095
                       DUG 2 ;
1096
                       CAR ;
1097
                       CDR ;
1098
                       CDR ;
1099
                       CDR ;
1100
                       DUP 3 ;
1101
                       CAR ;
1102
                       CDR ;
1103
                       CDR ;
1104
                       CAR ;
1105
                       CDR ;
1106
                       DIG 4 ;
1107
                       PAIR ;
1108
                       PAIR ;
1109
                       DUP 3 ;
1110
                       CAR ;
1111
                       CDR ;
1112
                       CAR ;
1113
                       PAIR ;
1114
                       DIG 2 ;
1115
                       CAR ;
1116
                       CAR ;
1117
                       PAIR ;
1118
                       PAIR ;
1119
                       SWAP ;
1120
                       PAIR }
1121
                     { DIG 3 ;
1122
                       DROP ;
1123
                       DIG 6 ;
1124
                       DUP 3 ;
1125
                       CAR ;
1126
                       CAR ;
1127
                       CAR ;
1128
                       CAR ;
1129
                       CAR ;
1130
                       SENDER ;
1131
                       COMPARE ;
1132
                       EQ ;
1133
                       IF { DROP } { FAILWITH } ;
1134
                       IF
1135
                         { DIG 4 ;
1136
                           DIG 3 ;
1137
                           DUP 3 ;
1138
                           CAR ;
1139
                           CDR ;
1140
                           CDR ;
1141
                           CAR ;
1142
                           CAR ;
1143
                           COMPARE ;
1144
                           EQ ;
1145
                           IF { DROP } { FAILWITH } ;
1146
                           DUP ;
1147
                           CDR ;
1148
                           SWAP ;
1149
                           DUP ;
1150
                           DUG 2 ;
1151
                           CAR ;
1152
                           CDR ;
1153
                           CDR ;
1154
                           CDR ;
1155
                           DUP 3 ;
1156
                           CAR ;
1157
                           CDR ;
1158
                           CDR ;
1159
                           CAR ;
1160
                           CDR ;
1161
                           DIG 4 ;
1162
                           PAIR ;
1163
                           PAIR ;
1164
                           DUP 3 ;
1165
                           CAR ;
1166
                           CDR ;
1167
                           CAR ;
1168
                           PAIR ;
1169
                           DIG 2 ;
1170
                           CAR ;
1171
                           CAR ;
1172
                           PAIR ;
1173
                           PAIR }
1174
                         { DIG 4 ;
1175
                           DUG 2 ;
1176
                           DUP ;
1177
                           DUG 3 ;
1178
                           CAR ;
1179
                           CDR ;
1180
                           CDR ;
1181
                           CAR ;
1182
                           CAR ;
1183
                           COMPARE ;
1184
                           EQ ;
1185
                           IF { DROP } { FAILWITH } ;
1186
                           DUP ;
1187
                           CDR ;
1188
                           SWAP ;
1189
                           DUP ;
1190
                           DUG 2 ;
1191
                           CAR ;
1192
                           CDR ;
1193
                           CDR ;
1194
                           CDR ;
1195
                           DUP 3 ;
1196
                           CAR ;
1197
                           CDR ;
1198
                           CDR ;
1199
                           CAR ;
1200
                           CDR ;
1201
                           DIG 4 ;
1202
                           PAIR ;
1203
                           PAIR ;
1204
                           DUP 3 ;
1205
                           CAR ;
1206
                           CDR ;
1207
                           CAR ;
1208
                           PAIR ;
1209
                           DIG 2 ;
1210
                           CAR ;
1211
                           CAR ;
1212
                           PAIR ;
1213
                           PAIR } ;
1214
                       SWAP ;
1215
                       PAIR } } } }
1216
         { DIG 2 ;
1217
           DIG 3 ;
1218
           DIG 7 ;
1219
           DIG 10 ;
1220
           DROP 4 ;
1221
           IF_LEFT
1222
             { DIG 2 ;
1223
               DIG 3 ;
1224
               DIG 5 ;
1225
               DROP 3 ;
1226
               IF_LEFT
1227
                 { DIG 3 ;
1228
                   DUP 3 ;
1229
                   CAR ;
1230
                   CAR ;
1231
                   CAR ;
1232
                   CAR ;
1233
                   CAR ;
1234
                   SENDER ;
1235
                   COMPARE ;
1236
                   EQ ;
1237
                   IF { DROP } { FAILWITH } ;
1238
                   SWAP ;
1239
                   DUP ;
1240
                   DUG 2 ;
1241
                   CDR ;
1242
                   DUP 3 ;
1243
                   CAR ;
1244
                   CDR ;
1245
                   DUP 4 ;
1246
                   CAR ;
1247
                   CAR ;
1248
                   CDR ;
1249
                   CDR ;
1250
                   DUP 5 ;
1251
                   CAR ;
1252
                   CAR ;
1253
                   CDR ;
1254
                   CAR ;
1255
                   CDR ;
1256
                   DUP 5 ;
1257
                   CAR ;
1258
                   PAIR ;
1259
                   PAIR ;
1260
                   DIG 4 ;
1261
                   CAR ;
1262
                   CAR ;
1263
                   CAR ;
1264
                   PAIR ;
1265
                   PAIR ;
1266
                   PAIR ;
1267
                   DUP ;
1268
                   CDR ;
1269
                   SWAP ;
1270
                   DUP ;
1271
                   DUG 2 ;
1272
                   CAR ;
1273
                   CDR ;
1274
                   DIG 3 ;
1275
                   CDR ;
1276
                   DUP 4 ;
1277
                   CAR ;
1278
                   CAR ;
1279
                   CDR ;
1280
                   CDR ;
1281
                   CAR ;
1282
                   PAIR ;
1283
                   DUP 4 ;
1284
                   CAR ;
1285
                   CAR ;
1286
                   CDR ;
1287
                   CAR ;
1288
                   PAIR ;
1289
                   DIG 3 ;
1290
                   CAR ;
1291
                   CAR ;
1292
                   CAR ;
1293
                   PAIR ;
1294
                   PAIR ;
1295
                   PAIR ;
1296
                   SWAP ;
1297
                   PAIR }
1298
                 { DIG 3 ;
1299
                   DUP 3 ;
1300
                   CAR ;
1301
                   CAR ;
1302
                   CAR ;
1303
                   CAR ;
1304
                   CAR ;
1305
                   SENDER ;
1306
                   COMPARE ;
1307
                   EQ ;
1308
                   IF { DROP } { FAILWITH } ;
1309
                   SWAP ;
1310
                   DUP ;
1311
                   DUG 2 ;
1312
                   CDR ;
1313
                   DUP 3 ;
1314
                   CAR ;
1315
                   CDR ;
1316
                   CDR ;
1317
                   DUP 4 ;
1318
                   CAR ;
1319
                   CDR ;
1320
                   CAR ;
1321
                   CDR ;
1322
                   DUP 5 ;
1323
                   CAR ;
1324
                   CDR ;
1325
                   CAR ;
1326
                   CAR ;
1327
                   CDR ;
1328
                   DIG 4 ;
1329
                   PAIR ;
1330
                   PAIR ;
1331
                   PAIR ;
1332
                   DIG 2 ;
1333
                   CAR ;
1334
                   CAR ;
1335
                   PAIR ;
1336
                   PAIR ;
1337
                   SWAP ;
1338
                   PAIR } }
1339
             { IF_LEFT
1340
                 { DIG 2 ;
1341
                   DIG 3 ;
1342
                   DIG 5 ;
1343
                   DROP 3 ;
1344
                   DIG 3 ;
1345
                   DUP 3 ;
1346
                   CAR ;
1347
                   CAR ;
1348
                   CAR ;
1349
                   CAR ;
1350
                   CAR ;
1351
                   SENDER ;
1352
                   COMPARE ;
1353
                   EQ ;
1354
                   IF { DROP } { FAILWITH } ;
1355
                   PUSH nat 0 ;
1356
                   SWAP ;
1357
                   DUP ;
1358
                   DUG 2 ;
1359
                   GET 6 ;
1360
                   ITER { ADD } ;
1361
                   PUSH string "Shares don't add up to 100%" ;
1362
                   PUSH nat 100 ;
1363
                   DUP 4 ;
1364
                   GET 5 ;
1365
                   DUP 5 ;
1366
                   GET 3 ;
1367
                   DUP 6 ;
1368
                   CAR ;
1369
                   DIG 5 ;
1370
                   ADD ;
1371
                   ADD ;
1372
                   ADD ;
1373
                   COMPARE ;
1374
                   EQ ;
1375
                   IF { DROP } { FAILWITH } ;
1376
                   SWAP ;
1377
                   DUP ;
1378
                   DUG 2 ;
1379
                   CDR ;
1380
                   DUP 3 ;
1381
                   CAR ;
1382
                   CDR ;
1383
                   CDR ;
1384
                   CDR ;
1385
                   CDR ;
1386
                   DUP 3 ;
1387
                   GET 5 ;
1388
                   PAIR ;
1389
                   DUP 4 ;
1390
                   CAR ;
1391
                   CDR ;
1392
                   CDR ;
1393
                   CAR ;
1394
                   PAIR ;
1395
                   DUP 4 ;
1396
                   CAR ;
1397
                   CDR ;
1398
                   CAR ;
1399
                   PAIR ;
1400
                   DIG 3 ;
1401
                   CAR ;
1402
                   CAR ;
1403
                   PAIR ;
1404
                   PAIR ;
1405
                   SWAP ;
1406
                   DUP ;
1407
                   DUG 2 ;
1408
                   GET 6 ;
1409
                   SWAP ;
1410
                   DUP ;
1411
                   DUG 2 ;
1412
                   CDR ;
1413
                   CAR ;
1414
                   PAIR ;
1415
                   SWAP ;
1416
                   CAR ;
1417
                   PAIR ;
1418
                   DUP ;
1419
                   CDR ;
1420
                   SWAP ;
1421
                   DUP ;
1422
                   DUG 2 ;
1423
                   CAR ;
1424
                   CDR ;
1425
                   DUP 3 ;
1426
                   CAR ;
1427
                   CAR ;
1428
                   CDR ;
1429
                   DUP 5 ;
1430
                   GET 3 ;
1431
                   DUP 5 ;
1432
                   CAR ;
1433
                   CAR ;
1434
                   CAR ;
1435
                   CDR ;
1436
                   CAR ;
1437
                   PAIR ;
1438
                   DIG 4 ;
1439
                   CAR ;
1440
                   CAR ;
1441
                   CAR ;
1442
                   CAR ;
1443
                   PAIR ;
1444
                   PAIR ;
1445
                   PAIR ;
1446
                   PAIR ;
1447
                   DUP ;
1448
                   CDR ;
1449
                   SWAP ;
1450
                   DUP ;
1451
                   DUG 2 ;
1452
                   CAR ;
1453
                   CDR ;
1454
                   DUP 3 ;
1455
                   CAR ;
1456
                   CAR ;
1457
                   CDR ;
1458
                   DUP 4 ;
1459
                   CAR ;
1460
                   CAR ;
1461
                   CAR ;
1462
                   CDR ;
1463
                   DIG 5 ;
1464
                   CAR ;
1465
                   DIG 5 ;
1466
                   CAR ;
1467
                   CAR ;
1468
                   CAR ;
1469
                   CAR ;
1470
                   CAR ;
1471
                   PAIR ;
1472
                   PAIR ;
1473
                   PAIR ;
1474
                   PAIR ;
1475
                   PAIR ;
1476
                   SWAP ;
1477
                   PAIR }
1478
                 { DROP ;
1479
                   DIG 5 ;
1480
                   SWAP ;
1481
                   DUP ;
1482
                   DUG 2 ;
1483
                   CAR ;
1484
                   CAR ;
1485
                   CAR ;
1486
                   CAR ;
1487
                   CAR ;
1488
                   SENDER ;
1489
                   COMPARE ;
1490
                   EQ ;
1491
                   IF { DROP } { FAILWITH } ;
1492
                   DIG 4 ;
1493
                   DIG 3 ;
1494
                   DUP 3 ;
1495
                   CAR ;
1496
                   CDR ;
1497
                   CDR ;
1498
                   CAR ;
1499
                   CAR ;
1500
                   COMPARE ;
1501
                   EQ ;
1502
                   IF { DROP } { FAILWITH } ;
1503
                   DUP ;
1504
                   CDR ;
1505
                   SWAP ;
1506
                   DUP ;
1507
                   DUG 2 ;
1508
                   CAR ;
1509
                   CDR ;
1510
                   CDR ;
1511
                   CDR ;
1512
                   DUP 3 ;
1513
                   CAR ;
1514
                   CDR ;
1515
                   CDR ;
1516
                   CAR ;
1517
                   CDR ;
1518
                   DIG 4 ;
1519
                   PAIR ;
1520
                   PAIR ;
1521
                   DUP 3 ;
1522
                   CAR ;
1523
                   CDR ;
1524
                   CAR ;
1525
                   PAIR ;
1526
                   DIG 2 ;
1527
                   CAR ;
1528
                   CAR ;
1529
                   PAIR ;
1530
                   PAIR ;
1531
                   DUP ;
1532
                   CDR ;
1533
                   SWAP ;
1534
                   DUP ;
1535
                   DUG 2 ;
1536
                   CAR ;
1537
                   CDR ;
1538
                   CDR ;
1539
                   NOW ;
1540
                   DUP 4 ;
1541
                   CAR ;
1542
                   CDR ;
1543
                   CAR ;
1544
                   CDR ;
1545
                   CAR ;
1546
                   PAIR ;
1547
                   DUP 4 ;
1548
                   CAR ;
1549
                   CDR ;
1550
                   CAR ;
1551
                   CAR ;
1552
                   PAIR ;
1553
                   PAIR ;
1554
                   DIG 2 ;
1555
                   CAR ;
1556
                   CAR ;
1557
                   PAIR ;
1558
                   PAIR ;
1559
                   DUP ;
1560
                   CDR ;
1561
                   CDR ;
1562
                   PUSH nat 0 ;
1563
                   DUP 3 ;
1564
                   CDR ;
1565
                   CAR ;
1566
                   CDR ;
1567
                   CAR ;
1568
                   PAIR ;
1569
                   DUP 3 ;
1570
                   CDR ;
1571
                   CAR ;
1572
                   CAR ;
1573
                   PAIR ;
1574
                   PAIR ;
1575
                   SWAP ;
1576
                   CAR ;
1577
                   PAIR ;
1578
                   DUP ;
1579
                   CDR ;
1580
                   SWAP ;
1581
                   DUP ;
1582
                   DUG 2 ;
1583
                   CAR ;
1584
                   CDR ;
1585
                   DUP 3 ;
1586
                   CAR ;
1587
                   CAR ;
1588
                   CDR ;
1589
                   CDR ;
1590
                   CDR ;
1591
                   NIL (pair address nat nat) ;
1592
                   PAIR ;
1593
                   DUP 4 ;
1594
                   CAR ;
1595
                   CAR ;
1596
                   CDR ;
1597
                   CAR ;
1598
                   PAIR ;
1599
                   DIG 3 ;
1600
                   CAR ;
1601
                   CAR ;
1602
                   CAR ;
1603
                   PAIR ;
1604
                   PAIR ;
1605
                   PAIR ;
1606
                   SWAP ;
1607
                   PAIR } } } }