BCD

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