BCD

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