BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Tezos Degen Club - Token Flip
operations (15.7K)Storage Code Interact Tokens Fork Views Statistics Details
Latest
​x
796
1129
 
1
{ parameter (or
2
              (or
3
                (or (or (unit %confirmAdmin) (unit %default))
4
                    (or
5
                      (pair %flip (pair %asset address nat) (nat %amount) (bool %heads))
6
                      (nat %push)))
7
                (or (or (option %setAdmin address) (address %setOracle))
8
                    (or (bool %setPause)
9
                        (pair %updateAssets (pair address nat)
10
                                            (pair (nat %minbet) (nat %balance)
11
                                                  (bool %fa2)
12
                                                  (nat %flipped)
13
                                                  (nat %shared)
14
                                                  (address %dest))))))
15
              (pair %withdraw (pair %asset address nat) (nat %amount) (address %target))) ;
16
  storage (pair
17
            (pair
18
              (pair
19
                (pair (address %admin)
20
                      (map %assets (pair address nat)
21
                                   (pair (nat %minbet) (nat %balance) (bool %fa2)
22
                                         (nat %flipped)
23
                                         (nat %shared)
24
                                         (address %dest))))
25
                (pair (nat %fee)
26
                      (big_map %games nat
27
                                      (pair (nat %amount) (pair %asset address nat)
28
                                            (bool %heads)
29
                                            (address %player)
30
                                            (nat %status)
31
                                            (timestamp %ts)))))
32
              (pair (pair (nat %gamesPlayed) (nat %lock))
33
                    (pair (address %oracle) (bool %paused))))
34
            (pair (pair (option %pending address) (big_map %players address nat))
35
                  (pair (nat %processed) (nat %threshold)))) ;
36
  code { NIL operation ;
37
         PUSH string "I don't know you" ;
38
         LAMBDA
39
           (pair (pair address (list (pair address nat)))
40
                 (pair (pair address nat) (list operation)))
41
           (list operation)
42
           { UNPAIR ;
43
             UNPAIR ;
44
             DIG 2 ;
45
             UNPAIR ;
46
             PUSH string "Bad FA1.2 contract" ;
47
             SWAP ;
48
             CAR ;
49
             CONTRACT %transfer (pair (address %from) (pair (address %to) (nat %value))) ;
50
             IF_NONE { FAILWITH } { SWAP ; DROP } ;
51
             SWAP ;
52
             DIG 3 ;
53
             ITER { SWAP ; DUP 3 ; PUSH mutez 0 ; DIG 3 ; DUP 6 ; PAIR ; TRANSFER_TOKENS ; CONS } ;
54
             SWAP ;
55
             DIG 2 ;
56
             DROP 2 } ;
57
         LAMBDA
58
           (pair (pair address (list (pair address nat)))
59
                 (pair (pair address nat) (list operation)))
60
           (list operation)
61
           { UNPAIR ;
62
             UNPAIR ;
63
             DIG 2 ;
64
             UNPAIR ;
65
             NIL (pair address (list (pair address nat nat))) ;
66
             DIG 4 ;
67
             MAP { DUP ; CDR ; DUP 4 ; CDR ; DIG 2 ; CAR ; PAIR 3 } ;
68
             DIG 4 ;
69
             PAIR ;
70
             CONS ;
71
             DIG 2 ;
72
             PUSH string "Bad FA2 contract" ;
73
             DIG 3 ;
74
             CAR ;
75
             CONTRACT %transfer (list (pair (address %from_)
76
                                           (list %txs (pair (address %to_)
77
                                                           (nat %token_id)
78
                                                           (nat %amount))))) ;
79
             IF_NONE { FAILWITH } { SWAP ; DROP } ;
80
             PUSH mutez 0 ;
81
             DIG 3 ;
82
             TRANSFER_TOKENS ;
83
             CONS } ;
84
         DIG 4 ;
85
         UNPAIR ;
86
         IF_LEFT
87
           { IF_LEFT
88
               { IF_LEFT
89
                   { DIG 2 ;
90
                     DIG 3 ;
91
                     DROP 2 ;
92
                     IF_LEFT
93
                       { DROP ;
94
                         DUP ;
95
                         DUG 2 ;
96
                         CDR ;
97
                         CAR ;
98
                         CAR ;
99
                         SENDER ;
100
                         SOME ;
101
                         COMPARE ;
102
                         EQ ;
103
                         IF { DROP } { FAILWITH } ;
104
                         DUP ;
105
                         CDR ;
106
                         SWAP ;
107
                         DUP ;
108
                         DUG 2 ;
109
                         CAR ;
110
                         CDR ;
111
                         DUP 3 ;
112
                         CAR ;
113
                         CAR ;
114
                         CDR ;
115
                         DIG 3 ;
116
                         CAR ;
117
                         CAR ;
118
                         CAR ;
119
                         CDR ;
120
                         SENDER ;
121
                         PAIR ;
122
                         PAIR ;
123
                         PAIR ;
124
                         PAIR ;
125
                         DUP ;
126
                         CDR ;
127
                         CDR ;
128
                         SWAP ;
129
                         DUP ;
130
                         DUG 2 ;
131
                         CDR ;
132
                         CAR ;
133
                         CDR ;
134
                         NONE address ;
135
                         PAIR ;
136
                         PAIR ;
137
                         SWAP ;
138
                         CAR ;
139
                         PAIR ;
140
                         SWAP ;
141
                         PAIR }
142
                       { DIG 2 ; DROP 2 ; SWAP ; PAIR } }
143
                   { DIG 4 ;
144
                     DROP ;
145
                     IF_LEFT
146
                       { PUSH string "Contract is paused" ;
147
                         PUSH bool False ;
148
                         DUP 4 ;
149
                         CAR ;
150
                         CDR ;
151
                         CDR ;
152
                         CDR ;
153
                         COMPARE ;
154
                         EQ ;
155
                         IF { DROP } { FAILWITH } ;
156
                         SWAP ;
157
                         DUP ;
158
                         DUG 2 ;
159
                         SWAP ;
160
                         DUP ;
161
                         DUG 2 ;
162
                         CAR ;
163
                         PUSH string "Unknown asset requested" ;
164
                         DIG 2 ;
165
                         CAR ;
166
                         CAR ;
167
                         CAR ;
168
                         CDR ;
169
                         DIG 2 ;
170
                         GET ;
171
                         IF_NONE { FAILWITH } { SWAP ; DROP } ;
172
                         PUSH string "Bid not accepted" ;
173
                         SOURCE ;
174
                         SENDER ;
175
                         COMPARE ;
176
                         EQ ;
177
                         IF { DROP } { FAILWITH } ;
178
                         PUSH string "Bet is too low" ;
179
                         SWAP ;
180
                         DUP ;
181
                         DUG 2 ;
182
                         CAR ;
183
                         DUP 4 ;
184
                         GET 3 ;
185
                         COMPARE ;
186
                         GE ;
187
                         IF { DROP } { FAILWITH } ;
188
                         PUSH string "Bet is too high for this balance" ;
189
                         DUP 4 ;
190
                         CDR ;
191
                         CDR ;
192
                         CDR ;
193
                         DUP 3 ;
194
                         GET 3 ;
195
                         EDIV ;
196
                         IF_NONE { PUSH string "DIV by 0" ; FAILWITH } {} ;
197
                         CAR ;
198
                         DUP 4 ;
199
                         GET 3 ;
200
                         COMPARE ;
201
                         LE ;
202
                         IF { DROP } { FAILWITH } ;
203
                         DUP 3 ;
204
                         CDR ;
205
                         CAR ;
206
                         CDR ;
207
                         SENDER ;
208
                         GET ;
209
                         IF_NONE
210
                           { UNIT }
211
                           { LEVEL ;
212
                             SWAP ;
213
                             COMPARE ;
214
                             EQ ;
215
                             IF { PUSH string "Robot, huh?" ; FAILWITH } { UNIT } } ;
216
                         DROP ;
217
                         DUP 3 ;
218
                         CDR ;
219
                         CDR ;
220
                         DUP 4 ;
221
                         CDR ;
222
                         CAR ;
223
                         CDR ;
224
                         LEVEL ;
225
                         SOME ;
226
                         SENDER ;
227
                         UPDATE ;
228
                         DUP 5 ;
229
                         CDR ;
230
                         CAR ;
231
                         CAR ;
232
                         PAIR ;
233
                         PAIR ;
234
                         DIG 3 ;
235
                         CAR ;
236
                         PAIR ;
237
                         DUP ;
238
                         CDR ;
239
                         SWAP ;
240
                         DUP ;
241
                         DUG 2 ;
242
                         CAR ;
243
                         CDR ;
244
                         DUP 3 ;
245
                         CAR ;
246
                         CAR ;
247
                         CDR ;
248
                         CDR ;
249
                         NOW ;
250
                         PUSH nat 0 ;
251
                         SENDER ;
252
                         DUP 9 ;
253
                         GET 4 ;
254
                         DUP 10 ;
255
                         CAR ;
256
                         DUP 11 ;
257
                         GET 3 ;
258
                         PAIR 6 ;
259
                         DUP 5 ;
260
                         CAR ;
261
                         CDR ;
262
                         CAR ;
263
                         CAR ;
264
                         SWAP ;
265
                         SOME ;
266
                         SWAP ;
267
                         UPDATE ;
268
                         DUP 4 ;
269
                         CAR ;
270
                         CAR ;
271
                         CDR ;
272
                         CAR ;
273
                         PAIR ;
274
                         DIG 3 ;
275
                         CAR ;
276
                         CAR ;
277
                         CAR ;
278
                         PAIR ;
279
                         PAIR ;
280
                         PAIR ;
281
                         DUP ;
282
                         CDR ;
283
                         SWAP ;
284
                         DUP ;
285
                         DUG 2 ;
286
                         CAR ;
287
                         CDR ;
288
                         CDR ;
289
                         DUP 3 ;
290
                         CAR ;
291
                         CDR ;
292
                         CAR ;
293
                         CDR ;
294
                         PUSH nat 1 ;
295
                         DUP 5 ;
296
                         CAR ;
297
                         CDR ;
298
                         CAR ;
299
                         CAR ;
300
                         ADD ;
301
                         PAIR ;
302
                         PAIR ;
303
                         DIG 2 ;
304
                         CAR ;
305
                         CAR ;
306
                         PAIR ;
307
                         PAIR ;
308
                         SWAP ;
309
                         DUP ;
310
                         DUG 2 ;
311
                         DUP 4 ;
312
                         GET 3 ;
313
                         DIG 3 ;
314
                         GET 7 ;
315
                         ADD ;
316
                         UPDATE 7 ;
317
                         DUP ;
318
                         DUP 4 ;
319
                         GET 3 ;
320
                         DIG 2 ;
321
                         GET 3 ;
322
                         ADD ;
323
                         UPDATE 3 ;
324
                         SWAP ;
325
                         DUP ;
326
                         DUG 2 ;
327
                         CDR ;
328
                         DUP 3 ;
329
                         CAR ;
330
                         CDR ;
331
                         DUP 4 ;
332
                         CAR ;
333
                         CAR ;
334
                         CDR ;
335
                         DUP 5 ;
336
                         CAR ;
337
                         CAR ;
338
                         CAR ;
339
                         CDR ;
340
                         DUP 5 ;
341
                         DUP 8 ;
342
                         CAR ;
343
                         SWAP ;
344
                         SOME ;
345
                         SWAP ;
346
                         UPDATE ;
347
                         DIG 5 ;
348
                         CAR ;
349
                         CAR ;
350
                         CAR ;
351
                         CAR ;
352
                         PAIR ;
353
                         PAIR ;
354
                         PAIR ;
355
                         PAIR ;
356
                         SWAP ;
357
                         GET 5 ;
358
                         IF
359
                           { DIG 3 ;
360
                             DROP ;
361
                             DIG 3 ;
362
                             DUP 3 ;
363
                             CAR ;
364
                             PAIR ;
365
                             NIL (pair address nat) ;
366
                             DIG 3 ;
367
                             GET 3 ;
368
                             SELF_ADDRESS ;
369
                             PAIR ;
370
                             CONS ;
371
                             SENDER ;
372
                             PAIR ;
373
                             PAIR ;
374
                             DIG 2 ;
375
                             SWAP ;
376
                             EXEC }
377
                           { DIG 2 ;
378
                             DROP ;
379
                             DIG 3 ;
380
                             DUP 3 ;
381
                             CAR ;
382
                             PAIR ;
383
                             NIL (pair address nat) ;
384
                             DIG 3 ;
385
                             GET 3 ;
386
                             SELF_ADDRESS ;
387
                             PAIR ;
388
                             CONS ;
389
                             SENDER ;
390
                             PAIR ;
391
                             PAIR ;
392
                             DIG 2 ;
393
                             SWAP ;
394
                             EXEC } ;
395
                         PAIR }
396
                       { PUSH string "Unknown source" ;
397
                         SENDER ;
398
                         DUP 4 ;
399
                         CAR ;
400
                         CDR ;
401
                         CDR ;
402
                         CAR ;
403
                         COMPARE ;
404
                         EQ ;
405
                         IF { DROP } { FAILWITH } ;
406
                         PUSH string "No games pending" ;
407
                         DUP 3 ;
408
                         CAR ;
409
                         CDR ;
410
                         CAR ;
411
                         CAR ;
412
                         DUP 4 ;
413
                         CDR ;
414
                         CDR ;
415
                         CAR ;
416
                         COMPARE ;
417
                         LT ;
418
                         PUSH nat 0 ;
419
                         DUP 5 ;
420
                         CAR ;
421
                         CDR ;
422
                         CAR ;
423
                         CDR ;
424
                         COMPARE ;
425
                         EQ ;
426
                         OR ;
427
                         IF { DROP } { FAILWITH } ;
428
                         DIG 4 ;
429
                         DIG 2 ;
430
                         PUSH nat 0 ;
431
                         PAIR ;
432
                         PAIR ;
433
                         LEFT (pair
434
                                (pair nat
435
                                      (pair
436
                                        (pair
437
                                          (pair
438
                                            (pair address
439
                                                  (map (pair address nat)
440
                                                       (pair nat nat bool nat nat
441
                                                             address)))
442
                                            (pair nat
443
                                                  (big_map nat
444
                                                           (pair nat (pair address nat)
445
                                                                 bool
446
                                                                 address
447
                                                                 nat
448
                                                                 timestamp))))
449
                                          (pair (pair nat nat) (pair address bool)))
450
                                        (pair
451
                                          (pair (option address) (big_map address nat))
452
                                          (pair nat nat))))
453
                                (list operation)) ;
454
                         LOOP_LEFT { DUP ;
455
                                     CAR ;
456
                                     CDR ;
457
                                     SWAP ;
458
                                     DUP ;
459
                                     DUG 2 ;
460
                                     CDR ;
461
                                     DUP 3 ;
462
                                     CAR ;
463
                                     CAR ;
464
                                     PUSH nat 10 ;
465
                                     SWAP ;
466
                                     DUP ;
467
                                     DUG 2 ;
468
                                     COMPARE ;
469
                                     LT ;
470
                                     DUP 4 ;
471
                                     CAR ;
472
                                     CDR ;
473
                                     CAR ;
474
                                     CDR ;
475
                                     DUP 5 ;
476
                                     CDR ;
477
                                     CDR ;
478
                                     CAR ;
479
                                     COMPARE ;
480
                                     LT ;
481
                                     AND ;
482
                                     IF
483
                                       { DIG 3 ;
484
                                         DROP ;
485
                                         DUP 3 ;
486
                                         CAR ;
487
                                         CAR ;
488
                                         CDR ;
489
                                         CDR ;
490
                                         DUP 4 ;
491
                                         CDR ;
492
                                         CDR ;
493
                                         CAR ;
494
                                         GET ;
495
                                         IF_NONE { PUSH int 1 ; FAILWITH } {} ;
496
                                         DUP 4 ;
497
                                         SWAP ;
498
                                         DUP ;
499
                                         DUG 2 ;
500
                                         GET 3 ;
501
                                         PUSH string "Unknown asset requested" ;
502
                                         DIG 2 ;
503
                                         CAR ;
504
                                         CAR ;
505
                                         CAR ;
506
                                         CDR ;
507
                                         DIG 2 ;
508
                                         GET ;
509
                                         IF_NONE { FAILWITH } { SWAP ; DROP } ;
510
                                         PUSH nat 1000 ;
511
                                         DUP 3 ;
512
                                         CAR ;
513
                                         EDIV ;
514
                                         IF_NONE
515
                                           { PUSH string "DIV by 0" ; FAILWITH }
516
                                           {} ;
517
                                         CAR ;
518
                                         PUSH nat 0 ;
519
                                         DUP 5 ;
520
                                         PUSH nat 1 ;
521
                                         LSL ;
522
                                         DUP 9 ;
523
                                         AND ;
524
                                         COMPARE ;
525
                                         GT ;
526
                                         PUSH nat 1 ;
527
                                         DIG 5 ;
528
                                         ADD ;
529
                                         NIL (pair address nat) ;
530
                                         DUP 6 ;
531
                                         DUP 6 ;
532
                                         DUP 3 ;
533
                                         PAIR ;
534
                                         PAIR ;
535
                                         DUP 7 ;
536
                                         GET 5 ;
537
                                         DIG 4 ;
538
                                         COMPARE ;
539
                                         EQ ;
540
                                         IF
541
                                           { DROP 2 ;
542
                                             PUSH nat 2 ;
543
                                             DUP 7 ;
544
                                             CAR ;
545
                                             CAR ;
546
                                             CDR ;
547
                                             CAR ;
548
                                             PUSH nat 1000 ;
549
                                             SUB ;
550
                                             ABS ;
551
                                             DIG 3 ;
552
                                             MUL ;
553
                                             MUL ;
554
                                             DUP 3 ;
555
                                             SWAP ;
556
                                             DUP ;
557
                                             DUG 2 ;
558
                                             DIG 4 ;
559
                                             GET 3 ;
560
                                             SUB ;
561
                                             ABS ;
562
                                             UPDATE 3 ;
563
                                             DUP 4 ;
564
                                             PUSH nat 2 ;
565
                                             UPDATE 9 ;
566
                                             SWAP ;
567
                                             NIL (pair address nat) ;
568
                                             DIG 3 ;
569
                                             DIG 5 ;
570
                                             GET 7 ;
571
                                             PAIR ;
572
                                             CONS ;
573
                                             PAIR ;
574
                                             PAIR }
575
                                           { DIG 3 ;
576
                                             DUP 8 ;
577
                                             CAR ;
578
                                             CAR ;
579
                                             CDR ;
580
                                             CAR ;
581
                                             MUL ;
582
                                             SWAP ;
583
                                             DUP ;
584
                                             DUG 2 ;
585
                                             CDR ;
586
                                             DIG 2 ;
587
                                             CAR ;
588
                                             CDR ;
589
                                             DIG 3 ;
590
                                             DUP 4 ;
591
                                             DUP 7 ;
592
                                             GET 10 ;
593
                                             PAIR ;
594
                                             CONS ;
595
                                             PAIR ;
596
                                             PAIR ;
597
                                             DUP 4 ;
598
                                             DUP 3 ;
599
                                             DIG 5 ;
600
                                             GET 9 ;
601
                                             ADD ;
602
                                             UPDATE 9 ;
603
                                             DUP ;
604
                                             DIG 3 ;
605
                                             DUP 3 ;
606
                                             GET 3 ;
607
                                             SUB ;
608
                                             ABS ;
609
                                             UPDATE 3 ;
610
                                             DIG 4 ;
611
                                             PUSH nat 1 ;
612
                                             UPDATE 9 ;
613
                                             DUP 4 ;
614
                                             CDR ;
615
                                             DIG 3 ;
616
                                             DIG 4 ;
617
                                             CAR ;
618
                                             CAR ;
619
                                             PAIR ;
620
                                             PAIR ;
621
                                             DUP ;
622
                                             CDR ;
623
                                             DIG 3 ;
624
                                             DIG 2 ;
625
                                             CAR ;
626
                                             CAR ;
627
                                             PAIR ;
628
                                             PAIR ;
629
                                             CAR ;
630
                                             PAIR } ;
631
                                         DUP ;
632
                                         CAR ;
633
                                         CAR ;
634
                                         SWAP ;
635
                                         DUP ;
636
                                         DUG 2 ;
637
                                         CDR ;
638
                                         DIG 2 ;
639
                                         CAR ;
640
                                         CDR ;
641
                                         DUP 6 ;
642
                                         CDR ;
643
                                         DUP 7 ;
644
                                         CAR ;
645
                                         CDR ;
646
                                         DUP 8 ;
647
                                         CAR ;
648
                                         CAR ;
649
                                         CDR ;
650
                                         CDR ;
651
                                         DUP 5 ;
652
                                         DUP 10 ;
653
                                         CDR ;
654
                                         CDR ;
655
                                         CAR ;
656
                                         SWAP ;
657
                                         SOME ;
658
                                         SWAP ;
659
                                         UPDATE ;
660
                                         DUP 9 ;
661
                                         CAR ;
662
                                         CAR ;
663
                                         CDR ;
664
                                         CAR ;
665
                                         PAIR ;
666
                                         DIG 8 ;
667
                                         CAR ;
668
                                         CAR ;
669
                                         CAR ;
670
                                         PAIR ;
671
                                         PAIR ;
672
                                         PAIR ;
673
                                         DUP ;
674
                                         CDR ;
675
                                         CDR ;
676
                                         CDR ;
677
                                         PUSH nat 1 ;
678
                                         DUP 3 ;
679
                                         CDR ;
680
                                         CDR ;
681
                                         CAR ;
682
                                         ADD ;
683
                                         PAIR ;
684
                                         SWAP ;
685
                                         DUP ;
686
                                         DUG 2 ;
687
                                         CDR ;
688
                                         CAR ;
689
                                         PAIR ;
690
                                         SWAP ;
691
                                         CAR ;
692
                                         PAIR ;
693
                                         SWAP ;
694
                                         DUP ;
695
                                         DUG 2 ;
696
                                         GET 5 ;
697
                                         IF
698
                                           { DIG 5 ;
699
                                             DUP 4 ;
700
                                             GET 3 ;
701
                                             PAIR ;
702
                                             DIG 4 ;
703
                                             SELF_ADDRESS ;
704
                                             PAIR ;
705
                                             PAIR ;
706
                                             DUP 7 ;
707
                                             SWAP ;
708
                                             EXEC }
709
                                           { DIG 5 ;
710
                                             DUP 4 ;
711
                                             GET 3 ;
712
                                             PAIR ;
713
                                             DIG 4 ;
714
                                             SELF_ADDRESS ;
715
                                             PAIR ;
716
                                             PAIR ;
717
                                             DUP 8 ;
718
                                             SWAP ;
719
                                             EXEC } ;
720
                                         SWAP ;
721
                                         DUP ;
722
                                         DUG 2 ;
723
                                         CDR ;
724
                                         DUP 3 ;
725
                                         CAR ;
726
                                         CDR ;
727
                                         DUP 4 ;
728
                                         CAR ;
729
                                         CAR ;
730
                                         CDR ;
731
                                         DUP 5 ;
732
                                         CAR ;
733
                                         CAR ;
734
                                         CAR ;
735
                                         CDR ;
736
                                         DIG 6 ;
737
                                         DIG 7 ;
738
                                         GET 3 ;
739
                                         SWAP ;
740
                                         SOME ;
741
                                         SWAP ;
742
                                         UPDATE ;
743
                                         DIG 5 ;
744
                                         CAR ;
745
                                         CAR ;
746
                                         CAR ;
747
                                         CAR ;
748
                                         PAIR ;
749
                                         PAIR ;
750
                                         PAIR ;
751
                                         PAIR ;
752
                                         DIG 2 ;
753
                                         PAIR ;
754
                                         PAIR ;
755
                                         LEFT (pair
756
                                                (pair nat
757
                                                      (pair
758
                                                        (pair
759
                                                          (pair
760
                                                            (pair address
761
                                                                  (map
762
                                                                    (pair address nat)
763
                                                                    (pair nat nat bool
764
                                                                          nat
765
                                                                          nat
766
                                                                          address)))
767
                                                            (pair nat
768
                                                                  (big_map nat
769
                                                                           (pair nat
770
                                                                                 (pair
771
                                                                                   address
772
                                                                                   nat)
773
                                                                                 bool
774
                                                                                 address
775
                                                                                 nat
776
                                                                                 timestamp))))
777
                                                          (pair (pair nat nat)
778
                                                                (pair address bool)))
779
                                                        (pair
780
                                                          (pair (option address)
781
                                                                (big_map address nat))
782
                                                          (pair nat nat))))
783
                                                (list operation)) }
784
                                       { DROP 3 ;
785
                                         RIGHT (pair
786
                                                 (pair nat
787
                                                       (pair
788
                                                         (pair
789
                                                           (pair
790
                                                             (pair address
791
                                                                   (map
792
                                                                     (pair address nat)
793
                                                                     (pair nat nat bool
794
                                                                           nat
795
                                                                           nat
796
                                                                           address)))
797
                                                             (pair nat
798
                                                                   (big_map nat
799
                                                                            (pair nat
800
                                                                                  (pair
801
                                                                                    address
802
                                                                                    nat)
803
                                                                                  bool
804
                                                                                  address
805
                                                                                  nat
806
                                                                                  timestamp))))
807
                                                           (pair (pair nat nat)
808
                                                                 (pair address bool)))
809
                                                         (pair
810
                                                           (pair (option address)
811
                                                                 (big_map address nat))
812
                                                           (pair nat nat))))
813
                                                 (list operation)) } } ;
814
                         SWAP ;
815
                         DIG 2 ;
816
                         DIG 3 ;
817
                         DROP 3 ;
818
                         DUP ;
819
                         CAR ;
820
                         CDR ;
821
                         DUP ;
822
                         CDR ;
823
                         SWAP ;
824
                         DUP ;
825
                         DUG 2 ;
826
                         CAR ;
827
                         CDR ;
828
                         CDR ;
829
                         DUP 3 ;
830
                         CAR ;
831
                         CDR ;
832
                         CAR ;
833
                         CAR ;
834
                         DUP 4 ;
835
                         CAR ;
836
                         CDR ;
837
                         CAR ;
838
                         CAR ;
839
                         PAIR ;
840
                         PAIR ;
841
                         DIG 2 ;
842
                         CAR ;
843
                         CAR ;
844
                         PAIR ;
845
                         PAIR ;
846
                         SWAP ;
847
                         CDR ;
848
                         PAIR } } }
849
               { DIG 2 ;
850
                 DIG 3 ;
851
                 DROP 2 ;
852
                 IF_LEFT
853
                   { IF_LEFT
854
                       { DUG 2 ;
855
                         DUP ;
856
                         DUG 3 ;
857
                         CAR ;
858
                         CAR ;
859
                         CAR ;
860
                         CAR ;
861
                         SENDER ;
862
                         COMPARE ;
863
                         EQ ;
864
                         IF { DROP } { FAILWITH } ;
865
                         SWAP ;
866
                         DUP ;
867
                         DUG 2 ;
868
                         CDR ;
869
                         CDR ;
870
                         DUP 3 ;
871
                         CDR ;
872
                         CAR ;
873
                         CDR ;
874
                         DIG 2 ;
875
                         PAIR ;
876
                         PAIR ;
877
                         SWAP ;
878
                         CAR ;
879
                         PAIR ;
880
                         SWAP ;
881
                         PAIR }
882
                       { DUG 2 ;
883
                         DUP ;
884
                         DUG 3 ;
885
                         CAR ;
886
                         CAR ;
887
                         CAR ;
888
                         CAR ;
889
                         SENDER ;
890
                         COMPARE ;
891
                         EQ ;
892
                         IF { DROP } { FAILWITH } ;
893
                         SWAP ;
894
                         DUP ;
895
                         DUG 2 ;
896
                         CDR ;
897
                         DUP 3 ;
898
                         CAR ;
899
                         CDR ;
900
                         CDR ;
901
                         CDR ;
902
                         DIG 2 ;
903
                         PAIR ;
904
                         DUP 3 ;
905
                         CAR ;
906
                         CDR ;
907
                         CAR ;
908
                         PAIR ;
909
                         DIG 2 ;
910
                         CAR ;
911
                         CAR ;
912
                         PAIR ;
913
                         PAIR ;
914
                         SWAP ;
915
                         PAIR } }
916
                   { IF_LEFT
917
                       { DUG 2 ;
918
                         DUP ;
919
                         DUG 3 ;
920
                         CAR ;
921
                         CAR ;
922
                         CAR ;
923
                         CAR ;
924
                         SENDER ;
925
                         COMPARE ;
926
                         EQ ;
927
                         IF { DROP } { FAILWITH } ;
928
                         SWAP ;
929
                         DUP ;
930
                         DUG 2 ;
931
                         CDR ;
932
                         SWAP ;
933
                         DUP 3 ;
934
                         CAR ;
935
                         CDR ;
936
                         CDR ;
937
                         CAR ;
938
                         PAIR ;
939
                         DUP 3 ;
940
                         CAR ;
941
                         CDR ;
942
                         CAR ;
943
                         PAIR ;
944
                         DIG 2 ;
945
                         CAR ;
946
                         CAR ;
947
                         PAIR ;
948
                         PAIR ;
949
                         SWAP ;
950
                         PAIR }
951
                       { DUG 2 ;
952
                         DUP ;
953
                         DUG 3 ;
954
                         CAR ;
955
                         CAR ;
956
                         CAR ;
957
                         CAR ;
958
                         SENDER ;
959
                         COMPARE ;
960
                         EQ ;
961
                         IF { DROP } { FAILWITH } ;
962
                         SWAP ;
963
                         DUP ;
964
                         DUG 2 ;
965
                         CDR ;
966
                         DUP 3 ;
967
                         CAR ;
968
                         CDR ;
969
                         DUP 4 ;
970
                         CAR ;
971
                         CAR ;
972
                         CDR ;
973
                         DUP 5 ;
974
                         CAR ;
975
                         CAR ;
976
                         CAR ;
977
                         CDR ;
978
                         DUP 5 ;
979
                         CDR ;
980
                         DIG 5 ;
981
                         CAR ;
982
                         SWAP ;
983
                         SOME ;
984
                         SWAP ;
985
                         UPDATE ;
986
                         DIG 4 ;
987
                         CAR ;
988
                         CAR ;
989
                         CAR ;
990
                         CAR ;
991
                         PAIR ;
992
                         PAIR ;
993
                         PAIR ;
994
                         PAIR ;
995
                         SWAP ;
996
                         PAIR } } } }
997
           { DIG 4 ;
998
             DUP 3 ;
999
             CAR ;
1000
             CAR ;
1001
             CAR ;
1002
             CAR ;
1003
             SENDER ;
1004
             COMPARE ;
1005
             EQ ;
1006
             IF { DROP } { FAILWITH } ;
1007
             SWAP ;
1008
             DUP ;
1009
             DUG 2 ;
1010
             SWAP ;
1011
             DUP ;
1012
             DUG 2 ;
1013
             CAR ;
1014
             PUSH string "Unknown asset requested" ;
1015
             DIG 2 ;
1016
             CAR ;
1017
             CAR ;
1018
             CAR ;
1019
             CDR ;
1020
             DIG 2 ;
1021
             GET ;
1022
             IF_NONE { FAILWITH } { SWAP ; DROP } ;
1023
             DUP ;
1024
             DUP 3 ;
1025
             GET 3 ;
1026
             DUP 3 ;
1027
             GET 3 ;
1028
             COMPARE ;
1029
             GT ;
1030
             IF
1031
               { DUP 3 ; GET 3 ; DIG 2 ; GET 3 ; SUB ; ABS }
1032
               { SWAP ; DROP ; PUSH nat 0 } ;
1033
             UPDATE 3 ;
1034
             DUP 3 ;
1035
             CDR ;
1036
             DUP 4 ;
1037
             CAR ;
1038
             CDR ;
1039
             DUP 5 ;
1040
             CAR ;
1041
             CAR ;
1042
             CDR ;
1043
             DUP 6 ;
1044
             CAR ;
1045
             CAR ;
1046
             CAR ;
1047
             CDR ;
1048
             DUP 5 ;
1049
             DUP 7 ;
1050
             CAR ;
1051
             SWAP ;
1052
             SOME ;
1053
             SWAP ;
1054
             UPDATE ;
1055
             DIG 6 ;
1056
             CAR ;
1057
             CAR ;
1058
             CAR ;
1059
             CAR ;
1060
             PAIR ;
1061
             PAIR ;
1062
             PAIR ;
1063
             PAIR ;
1064
             SWAP ;
1065
             GET 5 ;
1066
             IF
1067
               { DIG 3 ;
1068
                 DROP ;
1069
                 DIG 3 ;
1070
                 DUP 3 ;
1071
                 CAR ;
1072
                 PAIR ;
1073
                 NIL (pair address nat) ;
1074
                 DUP 4 ;
1075
                 GET 3 ;
1076
                 DIG 4 ;
1077
                 GET 4 ;
1078
                 PAIR ;
1079
                 CONS ;
1080
                 SELF_ADDRESS ;
1081
                 PAIR ;
1082
                 PAIR ;
1083
                 DIG 2 ;
1084
                 SWAP ;
1085
                 EXEC }
1086
               { DIG 2 ;
1087
                 DROP ;
1088
                 DIG 3 ;
1089
                 DUP 3 ;
1090
                 CAR ;
1091
                 PAIR ;
1092
                 NIL (pair address nat) ;
1093
                 DUP 4 ;
1094
                 GET 3 ;
1095
                 DIG 4 ;
1096
                 GET 4 ;
1097
                 PAIR ;
1098
                 CONS ;
1099
                 SELF_ADDRESS ;
1100
                 PAIR ;
1101
                 PAIR ;
1102
                 DIG 2 ;
1103
                 SWAP ;
1104
                 EXEC } ;
1105
             PAIR } } ;
1106
  view "getSharedAmount2" (pair address nat) nat
1107
        { UNPAIR ;
1108
          SWAP ;
1109
          CAR ;
1110
          CAR ;
1111
          CAR ;
1112
          CDR ;
1113
          SWAP ;
1114
          GET ;
1115
          IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
1116
          GET 9 } ;
1117
  view "getSharedAmount" address nat
1118
        { UNPAIR ;
1119
          SWAP ;
1120
          CAR ;
1121
          CAR ;
1122
          CAR ;
1123
          CDR ;
1124
          PUSH nat 0 ;
1125
          DIG 2 ;
1126
          PAIR ;
1127
          GET ;
1128
          IF_NONE { PUSH string "option is None" ; FAILWITH } {} ;
1129
          GET 9 } }