BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • objkt.com Fee Sharing Helper v3
operations (681K)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
152
 
1
parameter (or
2
            (or (unit %default)
3
                (list %enforce_conditions (pair (pair (nat %amount) (address %claimer))
4
                                               (pair (bytes %condition_id)
5
                                                     (pair (option %extra bytes)
6
                                                           (pair %token
7
                                                             (address %address)
8
                                                             (nat %token_id)))))))
9
            (or (address %update_admin) (or (address %update_treasury) (unit %withdraw))));
10
storage (pair (pair (address %admin) (mutez %amount))
11
              (pair (big_map %metadata string bytes) (address %treasury)));
12
code { UNPAIR ;
13
       IF_LEFT
14
         { IF_LEFT
15
             { DROP ; UNPAIR ; CAR ; AMOUNT ; SWAP ; PAIR ; PAIR ; NIL operation }
16
             { DUP ;
17
               IF_CONS
18
                 { NONE (map address nat) ;
19
                   SWAP ;
20
                   DUP ;
21
                   DUG 2 ;
22
                   GET 5 ;
23
                   IF_NONE
24
                     {}
25
                     { DROP 2 ;
26
                       DUP ;
27
                       GET 5 ;
28
                       IF_NONE { PUSH int 562 ; FAILWITH } {} ;
29
                       UNPACK (map address nat) } ;
30
                   DUP 5 ;
31
                   CAR ;
32
                   CDR ;
33
                   SWAP ;
34
                   DUP ;
35
                   DUG 2 ;
36
                   IF_NONE
37
                     { DROP 5 ;
38
                       DUP ;
39
                       GET 4 ;
40
                       CONTRACT unit ;
41
                       IF_NONE { PUSH int 575 ; FAILWITH } {} ;
42
                       NIL operation ;
43
                       SWAP ;
44
                       DUP 3 ;
45
                       CAR ;
46
                       CDR ;
47
                       UNIT ;
48
                       TRANSFER_TOKENS ;
49
                       CONS }
50
                     { SWAP ;
51
                       DUP ;
52
                       DUG 2 ;
53
                       NIL operation ;
54
                       DUP 3 ;
55
                       ITER { DUP ;
56
                              CDR ;
57
                              PUSH nat 10000 ;
58
                              SWAP ;
59
                              DUP 7 ;
60
                              MUL ;
61
                              EDIV ;
62
                              IF_NONE { PUSH int 568 ; FAILWITH } {} ;
63
                              CAR ;
64
                              DUG 2 ;
65
                              CAR ;
66
                              CONTRACT unit ;
67
                              IF_NONE { PUSH int 569 ; FAILWITH } {} ;
68
                              DUP 3 ;
69
                              UNIT ;
70
                              TRANSFER_TOKENS ;
71
                              CONS ;
72
                              SWAP ;
73
                              DIG 2 ;
74
                              SUB_MUTEZ ;
75
                              IF_NONE { PUSH int 570 ; FAILWITH } {} ;
76
                              SWAP } ;
77
                       DIG 2 ;
78
                       DROP ;
79
                       DIG 2 ;
80
                       DROP ;
81
                       DIG 2 ;
82
                       DROP ;
83
                       DIG 2 ;
84
                       DROP ;
85
                       DIG 2 ;
86
                       DROP ;
87
                       DIG 2 ;
88
                       DROP ;
89
                       PUSH mutez 0 ;
90
                       DUP 3 ;
91
                       COMPARE ;
92
                       GT ;
93
                       IF
94
                         { DUP 3 ;
95
                           GET 4 ;
96
                           CONTRACT unit ;
97
                           IF_NONE { PUSH int 573 ; FAILWITH } {} ;
98
                           DIG 2 ;
99
                           UNIT ;
100
                           TRANSFER_TOKENS ;
101
                           CONS }
102
                         { SWAP ; DROP } } }
103
                 { DROP ; NIL operation } } }
104
         { IF_LEFT
105
             { SWAP ;
106
               DUP ;
107
               DUG 2 ;
108
               CAR ;
109
               CAR ;
110
               SENDER ;
111
               COMPARE ;
112
               EQ ;
113
               IF
114
                 {}
115
                 { PUSH string "WrongCondition: sp.sender == self.data.admin" ; FAILWITH } ;
116
               SWAP ;
117
               UNPAIR ;
118
               CDR ;
119
               DIG 2 ;
120
               PAIR ;
121
               PAIR ;
122
               NIL operation }
123
             { IF_LEFT
124
                 { SWAP ;
125
                   DUP ;
126
                   DUG 2 ;
127
                   CAR ;
128
                   CAR ;
129
                   SENDER ;
130
                   COMPARE ;
131
                   EQ ;
132
                   IF
133
                     {}
134
                     { PUSH string "WrongCondition: sp.sender == self.data.admin" ;
135
                       FAILWITH } ;
136
                   UPDATE 4 ;
137
                   NIL operation }
138
                 { DROP ;
139
                   DUP ;
140
                   GET 4 ;
141
                   CONTRACT unit ;
142
                   IF_NONE { PUSH int 553 ; FAILWITH } {} ;
143
                   NIL operation ;
144
                   SWAP ;
145
                   BALANCE ;
146
                   UNIT ;
147
                   TRANSFER_TOKENS ;
148
                   CONS } } } ;
149
       NIL operation ;
150
       SWAP ;
151
       ITER { CONS } ;
152
       PAIR }