BCD

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