BCD

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