BCD

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