BCD

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