BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Youves yield XTZ legacy
FA1FA1.2
operations (287)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
311
 
1
parameter (or
2
            (or
3
              (or (pair %approve address nat)
4
                  (pair %getAllowance (pair address address) (contract nat)))
5
              (or (pair %getBalance address (contract nat))
6
                  (pair %getTotalSupply unit (contract nat))))
7
            (or (pair %mintOrBurn (int %quantity) (address %target))
8
                (pair %transfer address (pair address nat))));
9
storage (pair
10
          (pair
11
            (pair (address %admin)
12
                  (big_map %ledger address (pair nat (map address nat))))
13
            (pair (big_map %metadata string bytes)
14
                  (big_map %token_metadata nat
15
                                           (pair (nat %token_id)
16
                                                 (map %token_info string bytes)))))
17
          (nat %total_supply));
18
code { PUSH string "NotEnoughAllowance" ;
19
       PUSH string "BurnAmountExceedingFunds" ;
20
       LAMBDA
21
         (pair (map address nat) address)
22
         nat
23
         { UNPAIR ; SWAP ; GET ; IF_NONE { PUSH nat 0 } {} } ;
24
       LAMBDA
25
         (pair (big_map address (pair nat (map address nat))) address)
26
         (pair nat (map address nat))
27
         { UNPAIR ; SWAP ; GET ; IF_NONE { EMPTY_MAP address nat ; PUSH nat 0 ; PAIR } {} } ;
28
       LAMBDA
29
         (pair (big_map address (pair nat (map address nat)))
30
               (pair address (pair nat (map address nat))))
31
         (big_map address (pair nat (map address nat)))
32
         { UNPAIR 4 ; DIG 3 ; DIG 3 ; PAIR ; SOME ; DIG 2 ; UPDATE } ;
33
       LAMBDA
34
         (pair
35
           (pair (pair address (big_map address (pair nat (map address nat))))
36
                 (pair (big_map string bytes)
37
                       (big_map nat (pair nat (map string bytes)))))
38
           nat)
39
         (big_map address (pair nat (map address nat)))
40
         { CAR ; CAR ; CDR } ;
41
       LAMBDA
42
         (pair
43
           (pair
44
             (pair (pair address (big_map address (pair nat (map address nat))))
45
                   (pair (big_map string bytes)
46
                         (big_map nat (pair nat (map string bytes)))))
47
             nat)
48
           (big_map address (pair nat (map address nat))))
49
         (pair
50
           (pair (pair address (big_map address (pair nat (map address nat))))
51
                 (pair (big_map string bytes)
52
                       (big_map nat (pair nat (map string bytes)))))
53
           nat)
54
         { UNPAIR ; DUP ; CDR ; DUP 2 ; CAR ; CDR ; DIG 3 ; DIG 3 ; CAR ; CAR ; CAR ; PAIR ; PAIR ; PAIR } ;
55
       DIG 7 ;
56
       UNPAIR ;
57
       PUSH mutez 0 ;
58
       AMOUNT ;
59
       COMPARE ;
60
       NEQ ;
61
       IF { PUSH string "TezNotAllowed" ; FAILWITH } {} ;
62
       IF_LEFT
63
         { DIG 7 ;
64
           DIG 8 ;
65
           DROP 2 ;
66
           IF_LEFT
67
             { IF_LEFT
68
                 { UNPAIR ;
69
                   DUP 3 ;
70
                   DIG 5 ;
71
                   SWAP ;
72
                   EXEC ;
73
                   DUG 2 ;
74
                   SENDER ;
75
                   DIG 3 ;
76
                   DUP 2 ;
77
                   DUP 2 ;
78
                   PAIR ;
79
                   DIG 8 ;
80
                   SWAP ;
81
                   EXEC ;
82
                   UNPAIR ;
83
                   DUP 5 ;
84
                   DUP 3 ;
85
                   PAIR ;
86
                   DIG 10 ;
87
                   SWAP ;
88
                   EXEC ;
89
                   PUSH string "UnsafeAllowanceChange" ;
90
                   PUSH nat 0 ;
91
                   DUP 9 ;
92
                   COMPARE ;
93
                   EQ ;
94
                   PUSH nat 0 ;
95
                   DIG 3 ;
96
                   COMPARE ;
97
                   EQ ;
98
                   OR ;
99
                   IF { DROP } { FAILWITH } ;
100
                   SWAP ;
101
                   DIG 5 ;
102
                   DIG 5 ;
103
                   SWAP ;
104
                   SOME ;
105
                   SWAP ;
106
                   UPDATE ;
107
                   SWAP ;
108
                   DIG 3 ;
109
                   DIG 3 ;
110
                   PAIR 4 ;
111
                   DIG 3 ;
112
                   SWAP ;
113
                   EXEC ;
114
                   SWAP ;
115
                   PAIR ;
116
                   EXEC ;
117
                   NIL operation }
118
                 { DIG 2 ;
119
                   DIG 3 ;
120
                   DIG 4 ;
121
                   DROP 3 ;
122
                   UNPAIR ;
123
                   UNPAIR ;
124
                   DUP 4 ;
125
                   CAR ;
126
                   CAR ;
127
                   CDR ;
128
                   PAIR ;
129
                   DIG 4 ;
130
                   SWAP ;
131
                   EXEC ;
132
                   CDR ;
133
                   PAIR ;
134
                   DIG 3 ;
135
                   SWAP ;
136
                   EXEC ;
137
                   SWAP ;
138
                   PUSH mutez 0 ;
139
                   DIG 2 ;
140
                   TRANSFER_TOKENS ;
141
                   SWAP ;
142
                   NIL operation ;
143
                   DIG 2 ;
144
                   CONS } }
145
             { DIG 2 ;
146
               DIG 3 ;
147
               DIG 4 ;
148
               DIG 6 ;
149
               DROP 4 ;
150
               IF_LEFT
151
                 { UNPAIR ;
152
                   DUP 3 ;
153
                   CAR ;
154
                   CAR ;
155
                   CDR ;
156
                   PAIR ;
157
                   DIG 3 ;
158
                   SWAP ;
159
                   EXEC ;
160
                   SWAP ;
161
                   PUSH mutez 0 ;
162
                   DIG 2 ;
163
                   CAR ;
164
                   TRANSFER_TOKENS }
165
                 { DIG 2 ; DROP ; CDR ; PUSH mutez 0 ; DUP 3 ; CDR ; TRANSFER_TOKENS } ;
166
               SWAP ;
167
               NIL operation ;
168
               DIG 2 ;
169
               CONS } }
170
         { IF_LEFT
171
             { DIG 2 ;
172
               DIG 6 ;
173
               DIG 8 ;
174
               DROP 3 ;
175
               DUP 2 ;
176
               CAR ;
177
               CAR ;
178
               CAR ;
179
               SENDER ;
180
               COMPARE ;
181
               NEQ ;
182
               IF { PUSH string "OnlyAdminAllowed" ; FAILWITH } {} ;
183
               DUP 2 ;
184
               DIG 3 ;
185
               SWAP ;
186
               EXEC ;
187
               DUP 2 ;
188
               CDR ;
189
               DUP 2 ;
190
               PAIR ;
191
               DIG 5 ;
192
               SWAP ;
193
               EXEC ;
194
               UNPAIR ;
195
               DUP 4 ;
196
               CAR ;
197
               ADD ;
198
               ISNAT ;
199
               IF_NONE { DUP 6 ; FAILWITH } {} ;
200
               DUP 4 ;
201
               CDR ;
202
               DIG 3 ;
203
               PAIR 4 ;
204
               DIG 3 ;
205
               SWAP ;
206
               EXEC ;
207
               SWAP ;
208
               CAR ;
209
               DUP 3 ;
210
               CDR ;
211
               ADD ;
212
               ISNAT ;
213
               IF_NONE { DIG 2 ; FAILWITH } { DIG 3 ; DROP } ;
214
               DUP 3 ;
215
               CAR ;
216
               CDR ;
217
               DIG 2 ;
218
               DIG 3 ;
219
               CAR ;
220
               CAR ;
221
               CAR ;
222
               PAIR ;
223
               PAIR ;
224
               PAIR }
225
             { DIG 7 ;
226
               DROP ;
227
               UNPAIR ;
228
               SWAP ;
229
               UNPAIR ;
230
               DUP 4 ;
231
               DIG 6 ;
232
               SWAP ;
233
               EXEC ;
234
               DUP 3 ;
235
               DIG 4 ;
236
               SENDER ;
237
               DIG 3 ;
238
               DUP 3 ;
239
               DUP 2 ;
240
               PAIR ;
241
               DUP 11 ;
242
               SWAP ;
243
               EXEC ;
244
               UNPAIR ;
245
               DUP 5 ;
246
               DUP 5 ;
247
               COMPARE ;
248
               EQ ;
249
               IF
250
                 { DIG 12 ; DROP ; DUP }
251
                 { DUP 4 ; DUP 3 ; PAIR ; DIG 13 ; SWAP ; EXEC } ;
252
               PUSH string "NotEnoughBalance" ;
253
               DUP 8 ;
254
               DUP 4 ;
255
               COMPARE ;
256
               GE ;
257
               IF { DROP } { FAILWITH } ;
258
               DUP 7 ;
259
               DUP 2 ;
260
               COMPARE ;
261
               LT ;
262
               IF { DUP 7 ; PAIR ; DUP 14 ; PAIR ; FAILWITH } { DROP } ;
263
               DUP 6 ;
264
               DUP 2 ;
265
               SUB ;
266
               ISNAT ;
267
               IF_NONE { DUP 6 ; PAIR ; DUP 13 ; PAIR ; FAILWITH } { SWAP ; DROP } ;
268
               DUP 2 ;
269
               DUP 5 ;
270
               GET ;
271
               IF_NONE
272
                 { SWAP ; DIG 3 ; DIG 5 ; DROP 3 ; DIG 9 ; FAILWITH }
273
                 { DIG 6 ;
274
                   SWAP ;
275
                   SUB ;
276
                   ISNAT ;
277
                   IF_NONE { DIG 11 ; FAILWITH } { DIG 12 ; DROP } ;
278
                   PUSH nat 0 ;
279
                   DUP 2 ;
280
                   COMPARE ;
281
                   GT ;
282
                   IF
283
                     { DIG 2 ; SWAP ; SOME ; DIG 4 ; UPDATE }
284
                     { DROP ; SWAP ; DIG 3 ; NONE nat ; SWAP ; UPDATE } } ;
285
               SWAP ;
286
               DIG 3 ;
287
               DIG 3 ;
288
               PAIR 4 ;
289
               DUP 6 ;
290
               SWAP ;
291
               EXEC ;
292
               DUP 2 ;
293
               DUP 2 ;
294
               PAIR ;
295
               DIG 7 ;
296
               SWAP ;
297
               EXEC ;
298
               UNPAIR ;
299
               DIG 4 ;
300
               ADD ;
301
               DIG 3 ;
302
               DIG 3 ;
303
               PAIR 4 ;
304
               DIG 3 ;
305
               SWAP ;
306
               EXEC ;
307
               SWAP ;
308
               PAIR ;
309
               EXEC } ;
310
           NIL operation } ;
311
       PAIR }