@taqueria/plugin-contract-types 0.0.0-pr-91-a8fa7172

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