BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • HEN Community Marketplace
operations (8)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
509
 
1
parameter (or
2
            (or (or (nat %cancel_swap) (nat %collect))
3
                (or (unit %payout_balance) (bool %set_pause_collects)))
4
            (or
5
              (or (bool %set_pause_swaps)
6
                  (pair %swap (address %fa2)
7
                              (pair (nat %objkt_id)
8
                                    (pair (nat %objkt_amount)
9
                                          (pair (mutez %xtz_per_objkt)
10
                                                (pair (nat %royalties)
11
                                                      (address %creator)))))))
12
              (or (nat %update_fee) (nat %update_royalties))));
13
storage (pair
14
          (pair (pair (big_map %allowed_fa2s address unit) (bool %collects_paused))
15
                (pair (nat %counter) (pair (nat %fee) (address %fee_recipient))))
16
          (pair (pair (address %manager) (big_map %metadata string bytes))
17
                (pair (nat %royalties)
18
                      (pair
19
                        (big_map %swaps nat
20
                                        (pair (address %issuer)
21
                                              (pair (address %fa2)
22
                                                    (pair (nat %objkt_id)
23
                                                          (pair (nat %objkt_amount)
24
                                                                (pair
25
                                                                  (mutez %xtz_per_objkt)
26
                                                                  (pair (nat %royalties)
27
                                                                        (address %creator))))))))
28
                        (bool %swaps_paused)))));
29
code { UNPAIR ;
30
       IF_LEFT
31
         { IF_LEFT
32
             { IF_LEFT
33
                 { PUSH mutez 0 ;
34
                   AMOUNT ;
35
                   COMPARE ;
36
                   EQ ;
37
                   IF {} { PUSH string "MP_TEZ_TRANSFER" ; FAILWITH } ;
38
                   SWAP ;
39
                   DUP ;
40
                   DUG 2 ;
41
                   GET 7 ;
42
                   SWAP ;
43
                   DUP ;
44
                   DUG 2 ;
45
                   MEM ;
46
                   IF {} { PUSH string "MP_WRONG_SWAP_ID" ; FAILWITH } ;
47
                   SWAP ;
48
                   DUP ;
49
                   DUG 2 ;
50
                   GET 7 ;
51
                   SWAP ;
52
                   DUP ;
53
                   DUG 2 ;
54
                   GET ;
55
                   IF_NONE { PUSH int 83 ; FAILWITH } {} ;
56
                   DUP ;
57
                   CAR ;
58
                   SENDER ;
59
                   COMPARE ;
60
                   EQ ;
61
                   IF {} { PUSH string "MP_NOT_SWAP_ISSUER" ; FAILWITH } ;
62
                   DUP ;
63
                   GET 7 ;
64
                   PUSH nat 0 ;
65
                   COMPARE ;
66
                   LT ;
67
                   IF {} { PUSH string "MP_SWAP_COLLECTED" ; FAILWITH } ;
68
                   DUP ;
69
                   GET 3 ;
70
                   CONTRACT %transfer (list (pair (address %from_)
71
                                                 (list %txs (pair (address %to_)
72
                                                                 (pair (nat %token_id)
73
                                                                       (nat %amount)))))) ;
74
                   IF_NONE { PUSH int 125 ; FAILWITH } {} ;
75
                   NIL operation ;
76
                   SWAP ;
77
                   PUSH mutez 0 ;
78
                   NIL (pair address (list (pair address (pair nat nat)))) ;
79
                   NIL (pair address (pair nat nat)) ;
80
                   DIG 5 ;
81
                   DUP ;
82
                   GET 7 ;
83
                   SWAP ;
84
                   GET 5 ;
85
                   SENDER ;
86
                   PAIR 3 ;
87
                   CONS ;
88
                   SELF_ADDRESS ;
89
                   PAIR ;
90
                   CONS ;
91
                   TRANSFER_TOKENS ;
92
                   CONS ;
93
                   DIG 2 ;
94
                   DUP ;
95
                   GET 7 ;
96
                   NONE (pair address
97
                              (pair address
98
                                    (pair nat (pair nat (pair mutez (pair nat address)))))) ;
99
                   DIG 4 ;
100
                   UPDATE ;
101
                   UPDATE 7 ;
102
                   SWAP }
103
                 { SWAP ;
104
                   DUP ;
105
                   DUG 2 ;
106
                   CAR ;
107
                   CAR ;
108
                   CDR ;
109
                   IF { PUSH string "MP_COLLECTS_PAUSED" ; FAILWITH } {} ;
110
                   SWAP ;
111
                   DUP ;
112
                   DUG 2 ;
113
                   GET 7 ;
114
                   SWAP ;
115
                   DUP ;
116
                   DUG 2 ;
117
                   MEM ;
118
                   IF {} { PUSH string "MP_WRONG_SWAP_ID" ; FAILWITH } ;
119
                   SWAP ;
120
                   DUP ;
121
                   DUG 2 ;
122
                   GET 7 ;
123
                   SWAP ;
124
                   DUP ;
125
                   DUG 2 ;
126
                   GET ;
127
                   IF_NONE { PUSH int 61 ; FAILWITH } {} ;
128
                   DUP ;
129
                   CAR ;
130
                   SENDER ;
131
                   COMPARE ;
132
                   NEQ ;
133
                   IF {} { PUSH string "MP_IS_SWAP_ISSUER" ; FAILWITH } ;
134
                   DUP ;
135
                   GET 9 ;
136
                   AMOUNT ;
137
                   COMPARE ;
138
                   EQ ;
139
                   IF {} { PUSH string "MP_WRONG_TEZ_AMOUNT" ; FAILWITH } ;
140
                   DUP ;
141
                   GET 7 ;
142
                   PUSH nat 0 ;
143
                   COMPARE ;
144
                   LT ;
145
                   IF {} { PUSH string "MP_SWAP_COLLECTED" ; FAILWITH } ;
146
                   DUP ;
147
                   GET 9 ;
148
                   PUSH mutez 0 ;
149
                   COMPARE ;
150
                   NEQ ;
151
                   IF
152
                     { PUSH nat 1000 ;
153
                       SWAP ;
154
                       DUP ;
155
                       GET 11 ;
156
                       SWAP ;
157
                       DUP ;
158
                       DUG 3 ;
159
                       GET 9 ;
160
                       MUL ;
161
                       EDIV ;
162
                       IF_NONE { PUSH int 66 ; FAILWITH } {} ;
163
                       CAR ;
164
                       DUP ;
165
                       PUSH mutez 0 ;
166
                       COMPARE ;
167
                       LT ;
168
                       IF
169
                         { NIL operation ;
170
                           DUP 3 ;
171
                           GET 12 ;
172
                           CONTRACT unit ;
173
                           IF_NONE { PUSH int 68 ; FAILWITH } {} ;
174
                           DUP 3 ;
175
                           UNIT ;
176
                           TRANSFER_TOKENS ;
177
                           CONS }
178
                         { NIL operation } ;
179
                       PUSH nat 1000 ;
180
                       DUP 6 ;
181
                       CAR ;
182
                       GET 5 ;
183
                       DUP 5 ;
184
                       GET 9 ;
185
                       MUL ;
186
                       EDIV ;
187
                       IF_NONE { PUSH int 69 ; FAILWITH } {} ;
188
                       CAR ;
189
                       DUP ;
190
                       PUSH mutez 0 ;
191
                       COMPARE ;
192
                       LT ;
193
                       IF
194
                         { SWAP ;
195
                           DUP 6 ;
196
                           CAR ;
197
                           GET 6 ;
198
                           CONTRACT unit ;
199
                           IF_NONE { PUSH int 71 ; FAILWITH } {} ;
200
                           DUP 3 ;
201
                           UNIT ;
202
                           TRANSFER_TOKENS ;
203
                           CONS ;
204
                           SWAP }
205
                         {} ;
206
                       SWAP ;
207
                       DUP 4 ;
208
                       CAR ;
209
                       CONTRACT unit ;
210
                       IF_NONE { PUSH int 72 ; FAILWITH } {} ;
211
                       DIG 2 ;
212
                       DIG 3 ;
213
                       AMOUNT ;
214
                       SUB_MUTEZ ;
215
                       IF_NONE { PUSH int 72 ; FAILWITH } {} ;
216
                       SUB_MUTEZ ;
217
                       IF_NONE { PUSH int 72 ; FAILWITH } {} ;
218
                       UNIT ;
219
                       TRANSFER_TOKENS ;
220
                       CONS }
221
                     { NIL operation } ;
222
                   SWAP ;
223
                   DUP ;
224
                   DUG 2 ;
225
                   GET 3 ;
226
                   CONTRACT %transfer (list (pair (address %from_)
227
                                                 (list %txs (pair (address %to_)
228
                                                                 (pair (nat %token_id)
229
                                                                       (nat %amount)))))) ;
230
                   IF_NONE { PUSH int 125 ; FAILWITH } {} ;
231
                   PUSH mutez 0 ;
232
                   NIL (pair address (list (pair address (pair nat nat)))) ;
233
                   NIL (pair address (pair nat nat)) ;
234
                   PUSH nat 1 ;
235
                   DUP 7 ;
236
                   GET 5 ;
237
                   SENDER ;
238
                   PAIR 3 ;
239
                   CONS ;
240
                   SELF_ADDRESS ;
241
                   PAIR ;
242
                   CONS ;
243
                   TRANSFER_TOKENS ;
244
                   CONS ;
245
                   DIG 3 ;
246
                   DUP ;
247
                   GET 7 ;
248
                   DUP ;
249
                   DUP 6 ;
250
                   DUP ;
251
                   DUG 2 ;
252
                   GET ;
253
                   IF_NONE { PUSH int 74 ; FAILWITH } {} ;
254
                   PUSH nat 1 ;
255
                   DIG 6 ;
256
                   GET 7 ;
257
                   SUB ;
258
                   ISNAT ;
259
                   IF_NONE { PUSH int 74 ; FAILWITH } {} ;
260
                   UPDATE 7 ;
261
                   SOME ;
262
                   SWAP ;
263
                   UPDATE ;
264
                   UPDATE 7 ;
265
                   DUG 2 ;
266
                   PUSH nat 0 ;
267
                   DUP 4 ;
268
                   GET 7 ;
269
                   DUP 4 ;
270
                   GET ;
271
                   IF_NONE { PUSH int 75 ; FAILWITH } {} ;
272
                   GET 7 ;
273
                   COMPARE ;
274
                   EQ ;
275
                   IF
276
                     { DIG 2 ;
277
                       DUP ;
278
                       GET 7 ;
279
                       NONE (pair address
280
                                  (pair address
281
                                        (pair nat
282
                                              (pair nat (pair mutez (pair nat address)))))) ;
283
                       DIG 4 ;
284
                       UPDATE ;
285
                       UPDATE 7 ;
286
                       SWAP }
287
                     { SWAP ; DROP } } }
288
             { IF_LEFT
289
                 { DROP ;
290
                   DUP ;
291
                   GET 3 ;
292
                   CAR ;
293
                   SENDER ;
294
                   COMPARE ;
295
                   EQ ;
296
                   IF
297
                     {}
298
                     { PUSH string "only the admin can receive the payment from the contract" ;
299
                       FAILWITH } ;
300
                   DUP ;
301
                   GET 3 ;
302
                   CAR ;
303
                   CONTRACT unit ;
304
                   IF_NONE { PUSH int 122 ; FAILWITH } {} ;
305
                   NIL operation ;
306
                   SWAP ;
307
                   BALANCE ;
308
                   UNIT ;
309
                   TRANSFER_TOKENS ;
310
                   CONS }
311
                 { SWAP ;
312
                   DUP ;
313
                   DUG 2 ;
314
                   GET 3 ;
315
                   CAR ;
316
                   SENDER ;
317
                   COMPARE ;
318
                   EQ ;
319
                   IF {} { PUSH string "MP_NOT_MANAGER" ; FAILWITH } ;
320
                   PUSH mutez 0 ;
321
                   AMOUNT ;
322
                   COMPARE ;
323
                   EQ ;
324
                   IF {} { PUSH string "MP_TEZ_TRANSFER" ; FAILWITH } ;
325
                   SWAP ;
326
                   UNPAIR ;
327
                   UNPAIR ;
328
                   CAR ;
329
                   DIG 3 ;
330
                   SWAP ;
331
                   PAIR ;
332
                   PAIR ;
333
                   PAIR ;
334
                   NIL operation } } }
335
         { IF_LEFT
336
             { IF_LEFT
337
                 { SWAP ;
338
                   DUP ;
339
                   DUG 2 ;
340
                   GET 3 ;
341
                   CAR ;
342
                   SENDER ;
343
                   COMPARE ;
344
                   EQ ;
345
                   IF {} { PUSH string "MP_NOT_MANAGER" ; FAILWITH } ;
346
                   PUSH mutez 0 ;
347
                   AMOUNT ;
348
                   COMPARE ;
349
                   EQ ;
350
                   IF {} { PUSH string "MP_TEZ_TRANSFER" ; FAILWITH } ;
351
                   UPDATE 8 ;
352
                   NIL operation }
353
                 { SWAP ;
354
                   DUP ;
355
                   DUG 2 ;
356
                   GET 8 ;
357
                   IF { PUSH string "MP_SWAPS_PAUSED" ; FAILWITH } {} ;
358
                   PUSH mutez 0 ;
359
                   AMOUNT ;
360
                   COMPARE ;
361
                   EQ ;
362
                   IF {} { PUSH string "MP_TEZ_TRANSFER" ; FAILWITH } ;
363
                   SWAP ;
364
                   DUP ;
365
                   DUG 2 ;
366
                   CAR ;
367
                   CAR ;
368
                   CAR ;
369
                   SWAP ;
370
                   DUP ;
371
                   DUG 2 ;
372
                   CAR ;
373
                   MEM ;
374
                   IF {} { PUSH string "MP_FA2_NOT_ALLOWED" ; FAILWITH } ;
375
                   DUP ;
376
                   GET 5 ;
377
                   PUSH nat 0 ;
378
                   COMPARE ;
379
                   LT ;
380
                   IF {} { PUSH string "MP_NO_SWAPPED_EDITIONS" ; FAILWITH } ;
381
                   DUP ;
382
                   CAR ;
383
                   CONTRACT %transfer (list (pair (address %from_)
384
                                                 (list %txs (pair (address %to_)
385
                                                                 (pair (nat %token_id)
386
                                                                       (nat %amount)))))) ;
387
                   IF_NONE { PUSH int 125 ; FAILWITH } {} ;
388
                   NIL operation ;
389
                   SWAP ;
390
                   PUSH mutez 0 ;
391
                   NIL (pair address (list (pair address (pair nat nat)))) ;
392
                   NIL (pair address (pair nat nat)) ;
393
                   DIG 5 ;
394
                   DUP ;
395
                   GET 5 ;
396
                   SWAP ;
397
                   DUP ;
398
                   DUG 7 ;
399
                   GET 3 ;
400
                   SELF_ADDRESS ;
401
                   PAIR 3 ;
402
                   CONS ;
403
                   SENDER ;
404
                   PAIR ;
405
                   CONS ;
406
                   TRANSFER_TOKENS ;
407
                   CONS ;
408
                   DUP 3 ;
409
                   DUP ;
410
                   GET 7 ;
411
                   DUP 4 ;
412
                   GET 10 ;
413
                   DUP 6 ;
414
                   GET 5 ;
415
                   DIG 5 ;
416
                   DUP ;
417
                   GET 7 ;
418
                   SWAP ;
419
                   DUP ;
420
                   GET 5 ;
421
                   SWAP ;
422
                   DUP ;
423
                   GET 3 ;
424
                   SWAP ;
425
                   DUP ;
426
                   DUG 9 ;
427
                   CAR ;
428
                   SENDER ;
429
                   PAIR 7 ;
430
                   DIG 4 ;
431
                   DROP ;
432
                   SOME ;
433
                   DIG 4 ;
434
                   CAR ;
435
                   GET 3 ;
436
                   UPDATE ;
437
                   UPDATE 7 ;
438
                   UNPAIR ;
439
                   UNPAIR ;
440
                   SWAP ;
441
                   UNPAIR ;
442
                   PUSH nat 1 ;
443
                   ADD ;
444
                   PAIR ;
445
                   SWAP ;
446
                   PAIR ;
447
                   PAIR ;
448
                   SWAP } }
449
             { IF_LEFT
450
                 { SWAP ;
451
                   DUP ;
452
                   DUG 2 ;
453
                   GET 3 ;
454
                   CAR ;
455
                   SENDER ;
456
                   COMPARE ;
457
                   EQ ;
458
                   IF {} { PUSH string "MP_NOT_MANAGER" ; FAILWITH } ;
459
                   PUSH mutez 0 ;
460
                   AMOUNT ;
461
                   COMPARE ;
462
                   EQ ;
463
                   IF {} { PUSH string "MP_TEZ_TRANSFER" ; FAILWITH } ;
464
                   DUP ;
465
                   PUSH nat 250 ;
466
                   SWAP ;
467
                   COMPARE ;
468
                   LE ;
469
                   IF {} { PUSH string "MP_WRONG_FEES" ; FAILWITH } ;
470
                   SWAP ;
471
                   UNPAIR ;
472
                   UNPAIR ;
473
                   SWAP ;
474
                   UNPAIR ;
475
                   SWAP ;
476
                   CDR ;
477
                   DIG 4 ;
478
                   PAIR ;
479
                   SWAP ;
480
                   PAIR ;
481
                   SWAP ;
482
                   PAIR ;
483
                   PAIR }
484
                 { SWAP ;
485
                   DUP ;
486
                   DUG 2 ;
487
                   GET 3 ;
488
                   CAR ;
489
                   SENDER ;
490
                   COMPARE ;
491
                   EQ ;
492
                   IF {} { PUSH string "MP_NOT_MANAGER" ; FAILWITH } ;
493
                   PUSH mutez 0 ;
494
                   AMOUNT ;
495
                   COMPARE ;
496
                   EQ ;
497
                   IF {} { PUSH string "MP_TEZ_TRANSFER" ; FAILWITH } ;
498
                   DUP ;
499
                   PUSH nat 250 ;
500
                   SWAP ;
501
                   COMPARE ;
502
                   LE ;
503
                   IF {} { PUSH string "MP_WRONG_ROYALTIES" ; FAILWITH } ;
504
                   UPDATE 5 } ;
505
               NIL operation } } ;
506
       NIL operation ;
507
       SWAP ;
508
       ITER { CONS } ;
509
       PAIR }