BCD

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