BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Shadownet
  • /
  • KT1AH3w...Q2Qi
Delegatable
operations (26)Storage Code Interact Tokens Fork Views Statistics Details
Latest
​x
737
1439
 
1
{ parameter (or
2
              (or
3
                (or
4
                  (pair %bid (nat %auction_id)
5
                             (pair (nat %amount)
6
                                   (pair (map %referrers address nat)
7
                                         (option %condition_extra bytes))))
8
                  (nat %cancel_auction))
9
                (or
10
                  (pair %create_auction (pair %token (address %address) (nat %token_id))
11
                                        (pair
12
                                          (or %currency (address %fa12)
13
                                                        (pair %fa2 (address %address)
14
                                                                   (nat %token_id)))
15
                                          (pair (nat %reserve)
16
                                                (pair (option %start_time timestamp)
17
                                                      (pair (nat %duration)
18
                                                            (pair (nat %extension_time)
19
                                                                  (pair
20
                                                                    (nat %price_increment)
21
                                                                    (pair
22
                                                                      (map %shares
23
                                                                        address
24
                                                                        nat)
25
                                                                      (pair
26
                                                                        (nat %referral_bonus)
27
                                                                        (option %condition (pair
28
                                                                                            (address %address)
29
                                                                                            (bytes %id))))))))))))
30
                  (or
31
                    (pair %create_auction_gallery
32
                      (pair %token (address %address) (nat %token_id))
33
                      (pair (nat %exhibition_id)
34
                            (pair
35
                              (or %currency (address %fa12)
36
                                            (pair %fa2 (address %address)
37
                                                       (nat %token_id)))
38
                              (pair (nat %reserve)
39
                                    (pair (option %start_time timestamp)
40
                                          (pair (nat %duration)
41
                                                (pair (nat %extension_time)
42
                                                      (pair (nat %price_increment)
43
                                                            (pair
44
                                                              (map %shares address nat)
45
                                                              (pair
46
                                                                (nat %referral_bonus)
47
                                                                (option %condition (pair
48
                                                                                    (address %address)
49
                                                                                    (bytes %id)))))))))))))
50
                    (unit %default))))
51
              (or (or (unit %delegate) (nat %settle_auction))
52
                  (or (address %update_fee_sharing_registry)
53
                      (or (address %update_gallery_factory)
54
                          (address %update_permission_module))))) ;
55
  storage (pair
56
            (pair
57
              (big_map %auctions nat
58
                                 (pair (address %creator)
59
                                       (pair
60
                                         (pair %token (address %address) (nat %token_id))
61
                                         (pair (option %exhibition_id nat)
62
                                               (pair
63
                                                 (or %currency (address %fa12)
64
                                                               (pair %fa2
65
                                                                 (address %address)
66
                                                                 (nat %token_id)))
67
                                                 (pair (nat %reserve)
68
                                                       (pair (nat %duration)
69
                                                             (pair
70
                                                               (timestamp %start_time)
71
                                                               (pair
72
                                                                 (option %end_time timestamp)
73
                                                                 (pair
74
                                                                   (nat %extension_time)
75
                                                                   (pair
76
                                                                     (nat %price_increment)
77
                                                                     (pair
78
                                                                       (nat %current_price)
79
                                                                       (pair
80
                                                                         (address %highest_bidder)
81
                                                                         (pair
82
                                                                           (map %shares
83
                                                                             address
84
                                                                             nat)
85
                                                                           (pair
86
                                                                             (nat %platform_fee)
87
                                                                             (pair
88
                                                                               (nat %referral_bonus)
89
                                                                               (pair
90
                                                                                 (map %share_fees
91
                                                                                   address
92
                                                                                   nat)
93
                                                                                 (option %condition (pair
94
                                                                                                     (address %address)
95
                                                                                                     (bytes %id))))))))))))))))))))
96
              (pair (address %fee_sharing_registry) (address %gallery_factory)))
97
            (pair (big_map %metadata string bytes)
98
                  (pair (nat %next_auction_id) (address %permission_module)))) ;
99
  code { LAMBDA
100
           (pair (pair (pair nat address) (pair address (pair address nat)))
101
                 (pair (list operation)
102
                       (pair
103
                         (pair
104
                           (big_map nat
105
                                    (pair address
106
                                          (pair (pair address nat)
107
                                                (pair (option nat)
108
                                                      (pair
109
                                                        (or address (pair address nat))
110
                                                        (pair nat
111
                                                              (pair nat
112
                                                                    (pair timestamp
113
                                                                          (pair
114
                                                                            (option timestamp)
115
                                                                            (pair nat
116
                                                                                  (pair
117
                                                                                    nat
118
                                                                                    (pair
119
                                                                                      nat
120
                                                                                      (pair
121
                                                                                        address
122
                                                                                        (pair
123
                                                                                          (map
124
                                                                                            address
125
                                                                                            nat)
126
                                                                                          (pair
127
                                                                                            nat
128
                                                                                            (pair
129
                                                                                              nat
130
                                                                                              (pair
131
                                                                                                (map
132
                                                                                                  address
133
                                                                                                  nat)
134
                                                                                                (option (pair
135
                                                                                                         address
136
                                                                                                         bytes)))))))))))))))))))
137
                           (pair address address))
138
                         (pair (big_map string bytes) (pair nat address)))))
139
           (pair unit
140
                 (pair (list operation)
141
                       (pair
142
                         (pair
143
                           (big_map nat
144
                                    (pair address
145
                                          (pair (pair address nat)
146
                                                (pair (option nat)
147
                                                      (pair
148
                                                        (or address (pair address nat))
149
                                                        (pair nat
150
                                                              (pair nat
151
                                                                    (pair timestamp
152
                                                                          (pair
153
                                                                            (option timestamp)
154
                                                                            (pair nat
155
                                                                                  (pair
156
                                                                                    nat
157
                                                                                    (pair
158
                                                                                      nat
159
                                                                                      (pair
160
                                                                                        address
161
                                                                                        (pair
162
                                                                                          (map
163
                                                                                            address
164
                                                                                            nat)
165
                                                                                          (pair
166
                                                                                            nat
167
                                                                                            (pair
168
                                                                                              nat
169
                                                                                              (pair
170
                                                                                                (map
171
                                                                                                  address
172
                                                                                                  nat)
173
                                                                                                (option (pair
174
                                                                                                         address
175
                                                                                                         bytes)))))))))))))))))))
176
                           (pair address address))
177
                         (pair (big_map string bytes) (pair nat address)))))
178
           { UNPAIR 3 ;
179
             DUP ;
180
             DUG 2 ;
181
             CAR ;
182
             CDR ;
183
             CONTRACT %transfer (list (pair (address %from_)
184
                                           (list %txs (pair (address %to_)
185
                                                           (pair (nat %token_id)
186
                                                                 (nat %amount)))))) ;
187
             IF_NONE { PUSH int 336 ; FAILWITH } {} ;
188
             PUSH mutez 0 ;
189
             NIL (pair address (list (pair address (pair nat nat)))) ;
190
             NIL (pair address (pair nat nat)) ;
191
             DIG 5 ;
192
             DUP ;
193
             CAR ;
194
             CAR ;
195
             SWAP ;
196
             DUP ;
197
             GET 6 ;
198
             SWAP ;
199
             DUP ;
200
             DUG 8 ;
201
             GET 5 ;
202
             PAIR 3 ;
203
             CONS ;
204
             DIG 5 ;
205
             GET 3 ;
206
             PAIR ;
207
             CONS ;
208
             TRANSFER_TOKENS ;
209
             CONS ;
210
             UNIT ;
211
             PAIR 3 } ;
212
         SWAP ;
213
         UNPAIR ;
214
         IF_LEFT
215
           { IF_LEFT
216
               { IF_LEFT
217
                   { DUP ;
218
                     GET 5 ;
219
                     SIZE ;
220
                     PUSH nat 50 ;
221
                     SWAP ;
222
                     COMPARE ;
223
                     LE ;
224
                     IF {} { PUSH string "E_MAX_50_REFERRERS" ; FAILWITH } ;
225
                     SWAP ;
226
                     DUP ;
227
                     DUG 2 ;
228
                     CAR ;
229
                     CAR ;
230
                     SWAP ;
231
                     DUP ;
232
                     DUG 2 ;
233
                     CAR ;
234
                     GET ;
235
                     IF_NONE { PUSH int 388 ; FAILWITH } {} ;
236
                     DUP ;
237
                     CAR ;
238
                     SENDER ;
239
                     COMPARE ;
240
                     EQ ;
241
                     IF { PUSH string "E_NO_SELF_BID" ; FAILWITH } {} ;
242
                     DUP ;
243
                     GET 13 ;
244
                     NOW ;
245
                     COMPARE ;
246
                     GE ;
247
                     IF {} { PUSH string "E_NOT_STARTED" ; FAILWITH } ;
248
                     DUP ;
249
                     GET 15 ;
250
                     IF_NONE { PUSH bool False } { DROP ; PUSH bool True } ;
251
                     DUP ;
252
                     IF
253
                       { SWAP ;
254
                         DUP ;
255
                         DUG 2 ;
256
                         GET 15 ;
257
                         IF_NONE { PUSH int 399 ; FAILWITH } {} ;
258
                         NOW ;
259
                         COMPARE ;
260
                         LT }
261
                       { PUSH bool True } ;
262
                     IF {} { PUSH string "E_NOT_IN_WINDOW" ; FAILWITH } ;
263
                     DUP ;
264
                     IF
265
                       { PUSH bool False }
266
                       { SWAP ; DUP ; DUG 2 ; GET 9 ; DUP 4 ; GET 3 ; COMPARE ; GE } ;
267
                     IF
268
                       { PUSH bool True }
269
                       { DUP ;
270
                         IF
271
                           { SWAP ; DUP ; GET 19 ; SWAP ; DUP ; DUG 3 ; GET 21 ; ADD ; DUP 4 ; GET 3 ; COMPARE ; GE }
272
                           { PUSH bool False } } ;
273
                     IF {} { PUSH string "E_BID_TOO_SMALL" ; FAILWITH } ;
274
                     PUSH nat 0 ;
275
                     DUP 4 ;
276
                     GET 3 ;
277
                     COMPARE ;
278
                     GT ;
279
                     IF
280
                       {}
281
                       { PUSH string "WrongCondition: params.amount > 0" ; FAILWITH } ;
282
                     DUP ;
283
                     IF
284
                       {}
285
                       { DIG 3 ;
286
                         UNPAIR ;
287
                         UNPAIR ;
288
                         DUP ;
289
                         DUP 7 ;
290
                         CAR ;
291
                         DUP ;
292
                         DUG 2 ;
293
                         GET ;
294
                         IF_NONE { PUSH int 411 ; FAILWITH } {} ;
295
                         DUP 7 ;
296
                         GET 11 ;
297
                         INT ;
298
                         NOW ;
299
                         ADD ;
300
                         SOME ;
301
                         UPDATE 15 ;
302
                         SOME ;
303
                         SWAP ;
304
                         UPDATE ;
305
                         PAIR ;
306
                         PAIR ;
307
                         DUG 3 } ;
308
                     DUP 4 ;
309
                     CAR ;
310
                     GET 3 ;
311
                     DUP 4 ;
312
                     GET 5 ;
313
                     DIG 3 ;
314
                     DUP ;
315
                     GET 29 ;
316
                     SWAP ;
317
                     DUP ;
318
                     DUG 5 ;
319
                     GET 27 ;
320
                     PAIR 3 ;
321
                     VIEW "get_share_fee" (map address nat) ;
322
                     IF_NONE { PUSH int 136 ; FAILWITH } {} ;
323
                     DIG 4 ;
324
                     UNPAIR ;
325
                     UNPAIR ;
326
                     DUP ;
327
                     DUP 8 ;
328
                     CAR ;
329
                     DUP ;
330
                     DUG 2 ;
331
                     GET ;
332
                     IF_NONE { PUSH int 422 ; FAILWITH } {} ;
333
                     DUP 6 ;
334
                     UPDATE 31 ;
335
                     SOME ;
336
                     SWAP ;
337
                     UPDATE ;
338
                     PAIR ;
339
                     PAIR ;
340
                     DUG 4 ;
341
                     DUP 3 ;
342
                     GET 7 ;
343
                     IF_LEFT
344
                       { DUP ;
345
                         CONTRACT %transfer (pair address (pair address nat)) ;
346
                         IF_NONE { PUSH int 460 ; FAILWITH } {} ;
347
                         NIL operation ;
348
                         SWAP ;
349
                         PUSH mutez 0 ;
350
                         DUP 8 ;
351
                         GET 3 ;
352
                         SELF_ADDRESS ;
353
                         PAIR ;
354
                         SENDER ;
355
                         PAIR ;
356
                         TRANSFER_TOKENS ;
357
                         CONS ;
358
                         PUSH nat 0 ;
359
                         DUP 6 ;
360
                         GET 21 ;
361
                         COMPARE ;
362
                         EQ ;
363
                         IF
364
                           { SWAP ; DROP }
365
                           { SWAP ;
366
                             CONTRACT %transfer (pair address (pair address nat)) ;
367
                             IF_NONE { PUSH int 460 ; FAILWITH } {} ;
368
                             PUSH mutez 0 ;
369
                             DIG 5 ;
370
                             DUP ;
371
                             GET 21 ;
372
                             SWAP ;
373
                             DUP ;
374
                             DUG 7 ;
375
                             GET 23 ;
376
                             PAIR ;
377
                             SELF_ADDRESS ;
378
                             PAIR ;
379
                             TRANSFER_TOKENS ;
380
                             CONS } }
381
                       { NIL operation ;
382
                         DUP 8 ;
383
                         DUP 3 ;
384
                         CDR ;
385
                         SELF_ADDRESS ;
386
                         PAIR ;
387
                         SENDER ;
388
                         PAIR ;
389
                         DUP 4 ;
390
                         CAR ;
391
                         DUP 9 ;
392
                         GET 3 ;
393
                         PAIR ;
394
                         PAIR ;
395
                         SWAP ;
396
                         DIG 8 ;
397
                         DIG 3 ;
398
                         DIG 3 ;
399
                         PAIR 3 ;
400
                         EXEC ;
401
                         CDR ;
402
                         UNPAIR ;
403
                         DIG 7 ;
404
                         DIG 2 ;
405
                         DUG 7 ;
406
                         DUG 7 ;
407
                         PUSH nat 0 ;
408
                         DUP 6 ;
409
                         GET 21 ;
410
                         COMPARE ;
411
                         EQ ;
412
                         IF
413
                           { SWAP ; DROP }
414
                           { DUP 8 ;
415
                             DUP 3 ;
416
                             CDR ;
417
                             DUP 7 ;
418
                             GET 23 ;
419
                             PAIR ;
420
                             SELF_ADDRESS ;
421
                             PAIR ;
422
                             DIG 3 ;
423
                             CAR ;
424
                             DUP 7 ;
425
                             GET 21 ;
426
                             PAIR ;
427
                             PAIR ;
428
                             SWAP ;
429
                             DIG 7 ;
430
                             DIG 3 ;
431
                             DIG 3 ;
432
                             PAIR 3 ;
433
                             EXEC ;
434
                             CDR ;
435
                             UNPAIR ;
436
                             DIG 6 ;
437
                             DIG 2 ;
438
                             DUG 6 ;
439
                             DUG 6 } } ;
440
                     DUP 4 ;
441
                     GET 32 ;
442
                     IF_NONE
443
                       { SWAP ; DROP ; SWAP ; DROP ; SWAP ; DROP }
444
                       { DIG 2 ;
445
                         DROP ;
446
                         DIG 2 ;
447
                         DROP ;
448
                         DUP ;
449
                         DUG 2 ;
450
                         CAR ;
451
                         CONTRACT %enforce_conditions (list (pair
452
                                                             (pair (nat %amount)
453
                                                                   (pair
454
                                                                     (address %claimer)
455
                                                                     (bytes %condition_id)))
456
                                                             (pair (address %creator)
457
                                                                   (pair
458
                                                                     (option %extra bytes)
459
                                                                     (pair %token
460
                                                                       (address %address)
461
                                                                       (nat %token_id)))))) ;
462
                         IF_NONE { PUSH int 517 ; FAILWITH } {} ;
463
                         PUSH mutez 0 ;
464
                         NIL (pair (pair nat (pair address bytes))
465
                                   (pair address
466
                                         (pair (option bytes) (pair address nat)))) ;
467
                         DUP 6 ;
468
                         GET 3 ;
469
                         DUP 8 ;
470
                         GET 6 ;
471
                         PAIR ;
472
                         DIG 6 ;
473
                         CAR ;
474
                         PAIR ;
475
                         DIG 5 ;
476
                         CDR ;
477
                         SENDER ;
478
                         PAIR ;
479
                         PUSH nat 1 ;
480
                         PAIR ;
481
                         PAIR ;
482
                         CONS ;
483
                         TRANSFER_TOKENS ;
484
                         CONS } ;
485
                     DIG 2 ;
486
                     UNPAIR ;
487
                     UNPAIR ;
488
                     DUP ;
489
                     DUP 6 ;
490
                     CAR ;
491
                     DUP ;
492
                     DUG 2 ;
493
                     GET ;
494
                     IF_NONE { PUSH int 478 ; FAILWITH } {} ;
495
                     DUP 7 ;
496
                     GET 3 ;
497
                     UPDATE 21 ;
498
                     SOME ;
499
                     SWAP ;
500
                     UPDATE ;
501
                     DUP ;
502
                     DUP 6 ;
503
                     CAR ;
504
                     DUP ;
505
                     DUG 2 ;
506
                     GET ;
507
                     IF_NONE { PUSH int 479 ; FAILWITH } {} ;
508
                     SENDER ;
509
                     UPDATE 23 ;
510
                     SOME ;
511
                     SWAP ;
512
                     UPDATE ;
513
                     PAIR ;
514
                     PAIR ;
515
                     DUP ;
516
                     DUG 3 ;
517
                     CAR ;
518
                     CAR ;
519
                     DUP 3 ;
520
                     CAR ;
521
                     GET ;
522
                     IF_NONE { PUSH int 484 ; FAILWITH } {} ;
523
                     GET 17 ;
524
                     INT ;
525
                     NOW ;
526
                     DUP 5 ;
527
                     CAR ;
528
                     CAR ;
529
                     DUP 5 ;
530
                     CAR ;
531
                     GET ;
532
                     IF_NONE { PUSH int 483 ; FAILWITH } {} ;
533
                     GET 15 ;
534
                     IF_NONE { PUSH int 483 ; FAILWITH } {} ;
535
                     SUB ;
536
                     COMPARE ;
537
                     LT ;
538
                     IF
539
                       { DIG 3 ;
540
                         DROP ;
541
                         DUP 3 ;
542
                         UNPAIR ;
543
                         UNPAIR ;
544
                         DUP ;
545
                         DUP 6 ;
546
                         CAR ;
547
                         DUP ;
548
                         DUG 2 ;
549
                         GET ;
550
                         IF_NONE { PUSH int 486 ; FAILWITH } {} ;
551
                         DIG 7 ;
552
                         CAR ;
553
                         CAR ;
554
                         DIG 7 ;
555
                         CAR ;
556
                         GET ;
557
                         IF_NONE { PUSH int 488 ; FAILWITH } {} ;
558
                         GET 17 ;
559
                         INT ;
560
                         NOW ;
561
                         ADD ;
562
                         SOME ;
563
                         UPDATE 15 ;
564
                         SOME ;
565
                         SWAP ;
566
                         UPDATE ;
567
                         PAIR ;
568
                         PAIR ;
569
                         SWAP }
570
                       { SWAP ; DROP ; DIG 2 ; DROP } }
571
                   { SWAP ;
572
                     DUP ;
573
                     DUG 2 ;
574
                     CAR ;
575
                     CAR ;
576
                     SWAP ;
577
                     DUP ;
578
                     DUG 2 ;
579
                     GET ;
580
                     IF_NONE { PUSH int 341 ; FAILWITH } {} ;
581
                     DUP ;
582
                     CAR ;
583
                     SENDER ;
584
                     COMPARE ;
585
                     EQ ;
586
                     IF {} { PUSH string "E_NOT_SELLER" ; FAILWITH } ;
587
                     DUP ;
588
                     GET 15 ;
589
                     IF_NONE {} { PUSH string "E_HAS_BID" ; FAILWITH } ;
590
                     NIL operation ;
591
                     DIG 4 ;
592
                     DUP 3 ;
593
                     GET 3 ;
594
                     CDR ;
595
                     SENDER ;
596
                     PAIR ;
597
                     SELF_ADDRESS ;
598
                     PAIR ;
599
                     DIG 3 ;
600
                     GET 3 ;
601
                     CAR ;
602
                     PUSH nat 1 ;
603
                     PAIR ;
604
                     PAIR ;
605
                     SWAP ;
606
                     DIG 4 ;
607
                     DIG 3 ;
608
                     DIG 3 ;
609
                     PAIR 3 ;
610
                     EXEC ;
611
                     CDR ;
612
                     UNPAIR ;
613
                     SWAP ;
614
                     UNPAIR ;
615
                     UNPAIR ;
616
                     NONE (pair address
617
                                (pair (pair address nat)
618
                                      (pair (option nat)
619
                                            (pair (or address (pair address nat))
620
                                                  (pair nat
621
                                                        (pair nat
622
                                                              (pair timestamp
623
                                                                    (pair
624
                                                                      (option timestamp)
625
                                                                      (pair nat
626
                                                                            (pair nat
627
                                                                                  (pair
628
                                                                                    nat
629
                                                                                    (pair
630
                                                                                      address
631
                                                                                      (pair
632
                                                                                        (map
633
                                                                                          address
634
                                                                                          nat)
635
                                                                                        (pair
636
                                                                                          nat
637
                                                                                          (pair
638
                                                                                            nat
639
                                                                                            (pair
640
                                                                                              (map
641
                                                                                                address
642
                                                                                                nat)
643
                                                                                              (option (pair
644
                                                                                                       address
645
                                                                                                       bytes)))))))))))))))))) ;
646
                     DIG 5 ;
647
                     UPDATE ;
648
                     PAIR ;
649
                     PAIR ;
650
                     SWAP } }
651
               { IF_LEFT
652
                   { DUP ;
653
                     GET 9 ;
654
                     PUSH nat 2592000 ;
655
                     SWAP ;
656
                     COMPARE ;
657
                     LE ;
658
                     IF {} { PUSH string "E_MAX_30_DAYS" ; FAILWITH } ;
659
                     DUP ;
660
                     GET 13 ;
661
                     PUSH nat 1 ;
662
                     SWAP ;
663
                     COMPARE ;
664
                     GE ;
665
                     IF {} { PUSH string "E_PRICE_INCR_0" ; FAILWITH } ;
666
                     DUP ;
667
                     GET 11 ;
668
                     PUSH nat 3600 ;
669
                     SWAP ;
670
                     COMPARE ;
671
                     LE ;
672
                     IF {} { PUSH string "E_MAX_1_HR_EXT" ; FAILWITH } ;
673
                     SWAP ;
674
                     DUP ;
675
                     DUG 2 ;
676
                     CAR ;
677
                     GET 3 ;
678
                     UNIT ;
679
                     VIEW "get_management_fee" nat ;
680
                     IF_NONE { PUSH int 148 ; FAILWITH } {} ;
681
                     PUSH nat 100 ;
682
                     DUP 3 ;
683
                     GET 15 ;
684
                     SIZE ;
685
                     COMPARE ;
686
                     LE ;
687
                     IF {} { PUSH string "R_TOO_MANY_SHARES" ; FAILWITH } ;
688
                     PUSH nat 0 ;
689
                     DUP 3 ;
690
                     GET 15 ;
691
                     ITER { CDR ; ADD } ;
692
                     SWAP ;
693
                     DUP ;
694
                     DUG 2 ;
695
                     PUSH nat 10000 ;
696
                     SUB ;
697
                     ISNAT ;
698
                     IF_NONE { PUSH int 28 ; FAILWITH } {} ;
699
                     SWAP ;
700
                     DUP ;
701
                     DUG 2 ;
702
                     COMPARE ;
703
                     LE ;
704
                     IF {} { PUSH string "R_INVALID_SHARES_TOTAL" ; FAILWITH } ;
705
                     DUP 4 ;
706
                     CAR ;
707
                     GET 3 ;
708
                     DUP 4 ;
709
                     GET 17 ;
710
                     VIEW "is_valid_referral_fee_level" bool ;
711
                     IF_NONE { PUSH int 156 ; FAILWITH } {} ;
712
                     IF {} { PUSH string "E_INVALID_R_FEE" ; FAILWITH } ;
713
                     NIL operation ;
714
                     DUP 6 ;
715
                     DUP 5 ;
716
                     CAR ;
717
                     CDR ;
718
                     SELF_ADDRESS ;
719
                     PAIR ;
720
                     SENDER ;
721
                     PAIR ;
722
                     DUP 6 ;
723
                     CAR ;
724
                     CAR ;
725
                     PUSH nat 1 ;
726
                     PAIR ;
727
                     PAIR ;
728
                     SWAP ;
729
                     DIG 6 ;
730
                     DIG 3 ;
731
                     DIG 3 ;
732
                     PAIR 3 ;
733
                     EXEC ;
734
                     UNPAIR 3 ;
735
                     DIG 6 ;
736
                     DIG 3 ;
737
                     DUG 6 ;
738
                     DUG 6 ;
739
                     NOW ;
740
                     DUP 6 ;
741
                     GET 7 ;
742
                     IF_NONE {} { SWAP ; DROP } ;
743
                     DUP 7 ;
744
                     UNPAIR ;
745
                     UNPAIR ;
746
                     DUP 9 ;
747
                     GET 18 ;
748
                     EMPTY_MAP address nat ;
749
                     DUP 11 ;
750
                     GET 17 ;
751
                     DUP 11 ;
752
                     DUP 13 ;
753
                     GET 15 ;
754
                     SENDER ;
755
                     PUSH nat 0 ;
756
                     DIG 15 ;
757
                     DUP ;
758
                     GET 13 ;
759
                     SWAP ;
760
                     DUP ;
761
                     DUG 17 ;
762
                     GET 11 ;
763
                     NONE timestamp ;
764
                     DUP 14 ;
765
                     DIG 19 ;
766
                     DUP ;
767
                     GET 9 ;
768
                     SWAP ;
769
                     DUP ;
770
                     GET 5 ;
771
                     SWAP ;
772
                     DUP ;
773
                     DUG 22 ;
774
                     GET 3 ;
775
                     NONE nat ;
776
                     DUP 24 ;
777
                     CAR ;
778
                     SENDER ;
779
                     PAIR 17 ;
780
                     DIG 4 ;
781
                     DROP ;
782
                     DIG 4 ;
783
                     DROP ;
784
                     DIG 5 ;
785
                     DROP ;
786
                     DIG 5 ;
787
                     DROP ;
788
                     DIG 5 ;
789
                     DROP ;
790
                     DIG 6 ;
791
                     DROP ;
792
                     SOME ;
793
                     DIG 5 ;
794
                     GET 5 ;
795
                     UPDATE ;
796
                     PAIR ;
797
                     PAIR ;
798
                     DUP ;
799
                     GET 5 ;
800
                     PUSH nat 1 ;
801
                     ADD ;
802
                     UPDATE 5 ;
803
                     SWAP }
804
                   { IF_LEFT
805
                       { DUP ;
806
                         GET 11 ;
807
                         PUSH nat 2592000 ;
808
                         SWAP ;
809
                         COMPARE ;
810
                         LE ;
811
                         IF {} { PUSH string "E_MAX_30_DAYS" ; FAILWITH } ;
812
                         DUP ;
813
                         GET 15 ;
814
                         PUSH nat 1 ;
815
                         SWAP ;
816
                         COMPARE ;
817
                         GE ;
818
                         IF {} { PUSH string "E_PRICE_INCR_0" ; FAILWITH } ;
819
                         DUP ;
820
                         GET 13 ;
821
                         PUSH nat 3600 ;
822
                         SWAP ;
823
                         COMPARE ;
824
                         LE ;
825
                         IF {} { PUSH string "E_MAX_1_HR_EXT" ; FAILWITH } ;
826
                         SWAP ;
827
                         DUP ;
828
                         DUG 2 ;
829
                         CAR ;
830
                         GET 3 ;
831
                         UNIT ;
832
                         VIEW "get_management_fee" nat ;
833
                         IF_NONE { PUSH int 148 ; FAILWITH } {} ;
834
                         PUSH nat 100 ;
835
                         DUP 3 ;
836
                         GET 17 ;
837
                         SIZE ;
838
                         COMPARE ;
839
                         LE ;
840
                         IF {} { PUSH string "R_TOO_MANY_SHARES" ; FAILWITH } ;
841
                         PUSH nat 0 ;
842
                         DUP 3 ;
843
                         GET 17 ;
844
                         ITER { CDR ; ADD } ;
845
                         SWAP ;
846
                         DUP ;
847
                         DUG 2 ;
848
                         PUSH nat 10000 ;
849
                         SUB ;
850
                         ISNAT ;
851
                         IF_NONE { PUSH int 28 ; FAILWITH } {} ;
852
                         SWAP ;
853
                         DUP ;
854
                         DUG 2 ;
855
                         COMPARE ;
856
                         LE ;
857
                         IF {} { PUSH string "R_INVALID_SHARES_TOTAL" ; FAILWITH } ;
858
                         DUP 4 ;
859
                         CAR ;
860
                         GET 3 ;
861
                         DUP 4 ;
862
                         GET 19 ;
863
                         VIEW "is_valid_referral_fee_level" bool ;
864
                         IF_NONE { PUSH int 156 ; FAILWITH } {} ;
865
                         IF {} { PUSH string "E_INVALID_R_FEE" ; FAILWITH } ;
866
                         NIL operation ;
867
                         DUP 6 ;
868
                         DUP 5 ;
869
                         CAR ;
870
                         CDR ;
871
                         SELF_ADDRESS ;
872
                         PAIR ;
873
                         SENDER ;
874
                         PAIR ;
875
                         DUP 6 ;
876
                         CAR ;
877
                         CAR ;
878
                         PUSH nat 1 ;
879
                         PAIR ;
880
                         PAIR ;
881
                         SWAP ;
882
                         DIG 6 ;
883
                         DIG 3 ;
884
                         DIG 3 ;
885
                         PAIR 3 ;
886
                         EXEC ;
887
                         UNPAIR 3 ;
888
                         DIG 6 ;
889
                         DIG 3 ;
890
                         DUG 6 ;
891
                         DUG 6 ;
892
                         NOW ;
893
                         DUP 6 ;
894
                         GET 9 ;
895
                         IF_NONE {} { SWAP ; DROP } ;
896
                         DUP 7 ;
897
                         UNPAIR ;
898
                         UNPAIR ;
899
                         DUP 9 ;
900
                         GET 20 ;
901
                         EMPTY_MAP address nat ;
902
                         DUP 11 ;
903
                         GET 19 ;
904
                         DUP 11 ;
905
                         DUP 13 ;
906
                         GET 17 ;
907
                         SENDER ;
908
                         PUSH nat 0 ;
909
                         DIG 15 ;
910
                         DUP ;
911
                         GET 15 ;
912
                         SWAP ;
913
                         DUP ;
914
                         DUG 17 ;
915
                         GET 13 ;
916
                         NONE timestamp ;
917
                         DUP 14 ;
918
                         DIG 19 ;
919
                         DUP ;
920
                         GET 11 ;
921
                         SWAP ;
922
                         DUP ;
923
                         GET 7 ;
924
                         SWAP ;
925
                         DUP ;
926
                         GET 5 ;
927
                         SWAP ;
928
                         DUP ;
929
                         DUG 23 ;
930
                         GET 3 ;
931
                         SOME ;
932
                         DUP 24 ;
933
                         CAR ;
934
                         SENDER ;
935
                         PAIR 17 ;
936
                         DIG 4 ;
937
                         DROP ;
938
                         DIG 4 ;
939
                         DROP ;
940
                         DIG 5 ;
941
                         DROP ;
942
                         DIG 5 ;
943
                         DROP ;
944
                         DIG 5 ;
945
                         DROP ;
946
                         DIG 6 ;
947
                         DROP ;
948
                         SOME ;
949
                         DIG 5 ;
950
                         GET 5 ;
951
                         UPDATE ;
952
                         PAIR ;
953
                         PAIR ;
954
                         DUP ;
955
                         GET 5 ;
956
                         PUSH nat 1 ;
957
                         ADD ;
958
                         UPDATE 5 ;
959
                         SWAP }
960
                       { DROP ;
961
                         SWAP ;
962
                         DROP ;
963
                         DUP ;
964
                         GET 6 ;
965
                         NIL operation ;
966
                         SWAP ;
967
                         UNIT ;
968
                         VIEW "get_baking_reward_collector" address ;
969
                         IF_NONE { PUSH int 167 ; FAILWITH } {} ;
970
                         CONTRACT unit ;
971
                         IF_NONE { PUSH int 181 ; FAILWITH } {} ;
972
                         AMOUNT ;
973
                         UNIT ;
974
                         TRANSFER_TOKENS ;
975
                         CONS } } } }
976
           { IF_LEFT
977
               { IF_LEFT
978
                   { DROP ;
979
                     SWAP ;
980
                     DROP ;
981
                     DUP ;
982
                     GET 6 ;
983
                     NIL operation ;
984
                     SWAP ;
985
                     UNIT ;
986
                     VIEW "get_delegate" key_hash ;
987
                     IF_NONE { PUSH int 176 ; FAILWITH } {} ;
988
                     SOME ;
989
                     SET_DELEGATE ;
990
                     CONS }
991
                   { SWAP ;
992
                     DUP ;
993
                     DUG 2 ;
994
                     CAR ;
995
                     CAR ;
996
                     SWAP ;
997
                     DUP ;
998
                     DUG 2 ;
999
                     GET ;
1000
                     IF_NONE { PUSH int 499 ; FAILWITH } {} ;
1001
                     DUP ;
1002
                     GET 15 ;
1003
                     IF_NONE { PUSH int 501 ; FAILWITH } {} ;
1004
                     NOW ;
1005
                     COMPARE ;
1006
                     GE ;
1007
                     IF {} { PUSH string "E_AUCTION_ACTIVE" ; FAILWITH } ;
1008
                     NIL operation ;
1009
                     DUP 5 ;
1010
                     DIG 2 ;
1011
                     DUP ;
1012
                     GET 3 ;
1013
                     CDR ;
1014
                     SWAP ;
1015
                     DUP ;
1016
                     DUG 4 ;
1017
                     GET 23 ;
1018
                     PAIR ;
1019
                     SELF_ADDRESS ;
1020
                     PAIR ;
1021
                     DUP 4 ;
1022
                     GET 3 ;
1023
                     CAR ;
1024
                     PUSH nat 1 ;
1025
                     PAIR ;
1026
                     PAIR ;
1027
                     SWAP ;
1028
                     DIG 5 ;
1029
                     DIG 3 ;
1030
                     DIG 3 ;
1031
                     PAIR 3 ;
1032
                     EXEC ;
1033
                     UNPAIR 3 ;
1034
                     DIG 5 ;
1035
                     DIG 3 ;
1036
                     DUG 5 ;
1037
                     DUG 5 ;
1038
                     PUSH nat 0 ;
1039
                     DUP 4 ;
1040
                     GET 21 ;
1041
                     COMPARE ;
1042
                     GT ;
1043
                     IF
1044
                       { DUP 5 ;
1045
                         GET 6 ;
1046
                         UNIT ;
1047
                         VIEW "get_treasury" address ;
1048
                         IF_NONE { PUSH int 158 ; FAILWITH } {} ;
1049
                         DUP 4 ;
1050
                         GET 27 ;
1051
                         PUSH nat 0 ;
1052
                         DUP 6 ;
1053
                         GET 31 ;
1054
                         DUP 7 ;
1055
                         GET 31 ;
1056
                         ITER { DIG 2 ; SWAP ; CDR ; ADD ; SWAP } ;
1057
                         PUSH nat 0 ;
1058
                         DUP 8 ;
1059
                         GET 29 ;
1060
                         COMPARE ;
1061
                         EQ ;
1062
                         IF
1063
                           { SWAP ;
1064
                             DUP ;
1065
                             DUG 2 ;
1066
                             DIG 3 ;
1067
                             SUB ;
1068
                             ISNAT ;
1069
                             IF_NONE { PUSH int 47 ; FAILWITH } {} ;
1070
                             DUG 2 }
1071
                           {} ;
1072
                         DUP 7 ;
1073
                         GET 25 ;
1074
                         ITER { DUP ;
1075
                                CDR ;
1076
                                DIG 3 ;
1077
                                ADD ;
1078
                                DUG 2 ;
1079
                                SWAP ;
1080
                                DUP ;
1081
                                DUG 2 ;
1082
                                SWAP ;
1083
                                DUP ;
1084
                                DUG 2 ;
1085
                                CAR ;
1086
                                MEM ;
1087
                                IF
1088
                                  { SWAP ;
1089
                                    DUP ;
1090
                                    DUP 3 ;
1091
                                    CAR ;
1092
                                    DUP ;
1093
                                    DUG 2 ;
1094
                                    GET ;
1095
                                    IF_NONE { PUSH int 53 ; FAILWITH } {} ;
1096
                                    DIG 3 ;
1097
                                    CDR ;
1098
                                    ADD ;
1099
                                    SOME ;
1100
                                    SWAP ;
1101
                                    UPDATE }
1102
                                  { DUP ; DUG 2 ; CDR ; SOME ; DIG 2 ; CAR ; UPDATE } } ;
1103
                         DUP 3 ;
1104
                         DIG 2 ;
1105
                         ADD ;
1106
                         SWAP ;
1107
                         DUP ;
1108
                         DUP 5 ;
1109
                         MEM ;
1110
                         IF
1111
                           { DUP ;
1112
                             DUP 5 ;
1113
                             DUP ;
1114
                             DUG 2 ;
1115
                             GET ;
1116
                             IF_NONE { PUSH int 60 ; FAILWITH } {} ;
1117
                             DUP 5 ;
1118
                             ADD ;
1119
                             SOME ;
1120
                             SWAP ;
1121
                             UPDATE }
1122
                           { DUP 3 ; SOME ; DUP 5 ; UPDATE } ;
1123
                         PUSH nat 10000 ;
1124
                         DUP 3 ;
1125
                         COMPARE ;
1126
                         LE ;
1127
                         IF
1128
                           {}
1129
                           { PUSH string "WrongCondition: total_fee.value <= 10000" ;
1130
                             FAILWITH } ;
1131
                         DUP 7 ;
1132
                         GET 7 ;
1133
                         IF_LEFT
1134
                           { PUSH nat 0 ;
1135
                             DUP 3 ;
1136
                             ITER { DUP ;
1137
                                    CDR ;
1138
                                    PUSH nat 10000 ;
1139
                                    SWAP ;
1140
                                    DUP 12 ;
1141
                                    GET 21 ;
1142
                                    MUL ;
1143
                                    EDIV ;
1144
                                    IF_NONE { PUSH int 255 ; FAILWITH } { CAR } ;
1145
                                    DUP ;
1146
                                    DIG 3 ;
1147
                                    ADD ;
1148
                                    DUG 2 ;
1149
                                    DUP ;
1150
                                    PUSH nat 0 ;
1151
                                    COMPARE ;
1152
                                    LT ;
1153
                                    IF
1154
                                      { DIG 9 ;
1155
                                        DUP 5 ;
1156
                                        CONTRACT %transfer (pair address
1157
                                                                 (pair address nat)) ;
1158
                                        IF_NONE { PUSH int 460 ; FAILWITH } {} ;
1159
                                        PUSH mutez 0 ;
1160
                                        DIG 3 ;
1161
                                        DIG 4 ;
1162
                                        CAR ;
1163
                                        PAIR ;
1164
                                        SELF_ADDRESS ;
1165
                                        PAIR ;
1166
                                        TRANSFER_TOKENS ;
1167
                                        CONS ;
1168
                                        DUG 7 }
1169
                                      { DROP 2 } } ;
1170
                             DUP ;
1171
                             DUP 10 ;
1172
                             GET 21 ;
1173
                             SUB ;
1174
                             DUP 10 ;
1175
                             GET 21 ;
1176
                             DUP 3 ;
1177
                             COMPARE ;
1178
                             LE ;
1179
                             IF {} { PUSH string "PH_INVALID_TOTAL" ; FAILWITH } ;
1180
                             DUP ;
1181
                             PUSH int 0 ;
1182
                             COMPARE ;
1183
                             LT ;
1184
                             IF
1185
                               { SWAP ;
1186
                                 DROP ;
1187
                                 DIG 2 ;
1188
                                 DROP ;
1189
                                 DIG 2 ;
1190
                                 DROP ;
1191
                                 DIG 2 ;
1192
                                 DROP ;
1193
                                 DIG 2 ;
1194
                                 DROP ;
1195
                                 DIG 2 ;
1196
                                 DROP ;
1197
                                 DIG 6 ;
1198
                                 DROP ;
1199
                                 DUG 2 ;
1200
                                 CONTRACT %transfer (pair address (pair address nat)) ;
1201
                                 IF_NONE { PUSH int 460 ; FAILWITH } {} ;
1202
                                 PUSH mutez 0 ;
1203
                                 DIG 3 ;
1204
                                 ISNAT ;
1205
                                 IF_NONE { PUSH int 265 ; FAILWITH } {} ;
1206
                                 DUP 5 ;
1207
                                 CAR ;
1208
                                 PAIR ;
1209
                                 SELF_ADDRESS ;
1210
                                 PAIR ;
1211
                                 TRANSFER_TOKENS ;
1212
                                 CONS }
1213
                               { DROP 8 ; DIG 4 ; DROP } }
1214
                           { PUSH nat 0 ;
1215
                             NIL (pair address (pair nat nat)) ;
1216
                             DUP 4 ;
1217
                             ITER { DUP ;
1218
                                    CDR ;
1219
                                    PUSH nat 10000 ;
1220
                                    SWAP ;
1221
                                    DUP 13 ;
1222
                                    GET 21 ;
1223
                                    MUL ;
1224
                                    EDIV ;
1225
                                    IF_NONE { PUSH int 106 ; FAILWITH } { CAR } ;
1226
                                    DUP ;
1227
                                    DIG 4 ;
1228
                                    ADD ;
1229
                                    DUG 3 ;
1230
                                    DUP ;
1231
                                    PUSH nat 0 ;
1232
                                    COMPARE ;
1233
                                    LT ;
1234
                                    IF
1235
                                      { DIG 2 ; SWAP ; DUP 5 ; CDR ; DIG 3 ; CAR ; PAIR 3 ; CONS }
1236
                                      { DROP 2 } } ;
1237
                             DUP 10 ;
1238
                             GET 21 ;
1239
                             DUP 3 ;
1240
                             COMPARE ;
1241
                             LE ;
1242
                             IF {} { PUSH string "PH_INVALID_TOTAL" ; FAILWITH } ;
1243
                             SWAP ;
1244
                             DUP ;
1245
                             DUG 2 ;
1246
                             DUP 11 ;
1247
                             GET 21 ;
1248
                             SUB ;
1249
                             DUP ;
1250
                             PUSH int 0 ;
1251
                             COMPARE ;
1252
                             LT ;
1253
                             IF
1254
                               { DIG 2 ;
1255
                                 DROP ;
1256
                                 DIG 3 ;
1257
                                 DROP ;
1258
                                 DIG 3 ;
1259
                                 DROP ;
1260
                                 DIG 3 ;
1261
                                 DROP ;
1262
                                 DIG 3 ;
1263
                                 DROP ;
1264
                                 DIG 3 ;
1265
                                 DROP ;
1266
                                 DIG 7 ;
1267
                                 DROP ;
1268
                                 ISNAT ;
1269
                                 IF_NONE { PUSH int 122 ; FAILWITH } {} ;
1270
                                 DUP 3 ;
1271
                                 CDR ;
1272
                                 DUP 6 ;
1273
                                 CAR ;
1274
                                 PAIR 3 ;
1275
                                 CONS }
1276
                               { DROP ;
1277
                                 SWAP ;
1278
                                 DROP ;
1279
                                 DIG 2 ;
1280
                                 DROP ;
1281
                                 DIG 2 ;
1282
                                 DROP ;
1283
                                 DIG 2 ;
1284
                                 DROP ;
1285
                                 DIG 2 ;
1286
                                 DROP ;
1287
                                 DIG 2 ;
1288
                                 DROP ;
1289
                                 DIG 6 ;
1290
                                 DROP } ;
1291
                             DUG 2 ;
1292
                             CAR ;
1293
                             CONTRACT %transfer (list (pair (address %from_)
1294
                                                           (list %txs (pair
1295
                                                                       (address %to_)
1296
                                                                       (pair
1297
                                                                         (nat %token_id)
1298
                                                                         (nat %amount)))))) ;
1299
                             IF_NONE { PUSH int 394 ; FAILWITH } {} ;
1300
                             PUSH mutez 0 ;
1301
                             NIL (pair address (list (pair address (pair nat nat)))) ;
1302
                             DIG 4 ;
1303
                             SELF_ADDRESS ;
1304
                             PAIR ;
1305
                             CONS ;
1306
                             TRANSFER_TOKENS ;
1307
                             CONS } }
1308
                       { DROP ; DIG 4 ; DROP } ;
1309
                     SWAP ;
1310
                     DUP ;
1311
                     DUG 2 ;
1312
                     GET 5 ;
1313
                     IF_NONE
1314
                       { SWAP ; DROP }
1315
                       { SWAP ;
1316
                         DUP 3 ;
1317
                         CAR ;
1318
                         CONTRACT %_update_sales (pair (nat %amount)
1319
                                                       (pair %token (address %address)
1320
                                                                    (pair
1321
                                                                      (nat %exhibition_id)
1322
                                                                      (nat %token_id)))) ;
1323
                         IF_NONE { PUSH int 551 ; FAILWITH } {} ;
1324
                         PUSH mutez 0 ;
1325
                         DUP 5 ;
1326
                         GET 3 ;
1327
                         CDR ;
1328
                         DIG 4 ;
1329
                         DIG 5 ;
1330
                         GET 3 ;
1331
                         CAR ;
1332
                         PAIR 3 ;
1333
                         PUSH nat 1 ;
1334
                         PAIR ;
1335
                         TRANSFER_TOKENS ;
1336
                         CONS } ;
1337
                     DIG 2 ;
1338
                     UNPAIR ;
1339
                     UNPAIR ;
1340
                     NONE (pair address
1341
                                (pair (pair address nat)
1342
                                      (pair (option nat)
1343
                                            (pair (or address (pair address nat))
1344
                                                  (pair nat
1345
                                                        (pair nat
1346
                                                              (pair timestamp
1347
                                                                    (pair
1348
                                                                      (option timestamp)
1349
                                                                      (pair nat
1350
                                                                            (pair nat
1351
                                                                                  (pair
1352
                                                                                    nat
1353
                                                                                    (pair
1354
                                                                                      address
1355
                                                                                      (pair
1356
                                                                                        (map
1357
                                                                                          address
1358
                                                                                          nat)
1359
                                                                                        (pair
1360
                                                                                          nat
1361
                                                                                          (pair
1362
                                                                                            nat
1363
                                                                                            (pair
1364
                                                                                              (map
1365
                                                                                                address
1366
                                                                                                nat)
1367
                                                                                              (option (pair
1368
                                                                                                       address
1369
                                                                                                       bytes)))))))))))))))))) ;
1370
                     DIG 5 ;
1371
                     UPDATE ;
1372
                     PAIR ;
1373
                     PAIR ;
1374
                     SWAP } }
1375
               { DIG 2 ;
1376
                 DROP ;
1377
                 IF_LEFT
1378
                   { SWAP ;
1379
                     DUP ;
1380
                     DUG 2 ;
1381
                     GET 6 ;
1382
                     UNIT ;
1383
                     VIEW "get_admin" address ;
1384
                     IF_NONE { PUSH int 135 ; FAILWITH } {} ;
1385
                     SENDER ;
1386
                     COMPARE ;
1387
                     EQ ;
1388
                     IF {} { PUSH string "PMI_ONLY_ADMIN" ; FAILWITH } ;
1389
                     SWAP ;
1390
                     UNPAIR ;
1391
                     UNPAIR ;
1392
                     SWAP ;
1393
                     CDR ;
1394
                     DIG 3 ;
1395
                     PAIR ;
1396
                     SWAP ;
1397
                     PAIR ;
1398
                     PAIR }
1399
                   { IF_LEFT
1400
                       { SWAP ;
1401
                         DUP ;
1402
                         DUG 2 ;
1403
                         GET 6 ;
1404
                         UNIT ;
1405
                         VIEW "get_admin" address ;
1406
                         IF_NONE { PUSH int 135 ; FAILWITH } {} ;
1407
                         SENDER ;
1408
                         COMPARE ;
1409
                         EQ ;
1410
                         IF {} { PUSH string "PMI_ONLY_ADMIN" ; FAILWITH } ;
1411
                         SWAP ;
1412
                         UNPAIR ;
1413
                         UNPAIR ;
1414
                         SWAP ;
1415
                         CAR ;
1416
                         DIG 3 ;
1417
                         SWAP ;
1418
                         PAIR ;
1419
                         SWAP ;
1420
                         PAIR ;
1421
                         PAIR }
1422
                       { SWAP ;
1423
                         DUP ;
1424
                         DUG 2 ;
1425
                         GET 6 ;
1426
                         UNIT ;
1427
                         VIEW "get_admin" address ;
1428
                         IF_NONE { PUSH int 135 ; FAILWITH } {} ;
1429
                         SENDER ;
1430
                         COMPARE ;
1431
                         EQ ;
1432
                         IF {} { PUSH string "PMI_ONLY_ADMIN" ; FAILWITH } ;
1433
                         UPDATE 6 } } ;
1434
                 NIL operation } } ;
1435
         NIL operation ;
1436
         SWAP ;
1437
         ITER { CONS } ;
1438
         PAIR } ;
1439
  view "get_next_auction_id" unit nat { CDR ; GET 5 } }