BCD

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