BCD

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