@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,1010 @@
1
+ parameter (or
2
+ (or
3
+ (or (pair address (pair address nat))
4
+ (or (pair address (pair address (pair address nat)))
5
+ (pair address nat)))
6
+ (or (pair address (pair address nat))
7
+ (or (pair (pair address address) (contract nat))
8
+ (pair address (contract nat)))))
9
+ (or (or (pair unit (contract nat)) (or bool address))
10
+ (or (or (pair unit (contract address)) (pair address nat))
11
+ (or (pair address nat) address))));
12
+ storage (pair (big_map address (pair nat (map address nat)))
13
+ (pair (pair address bool) (pair nat (or address address))));
14
+ code { DUP ;
15
+ CAR ;
16
+ DIP { CDR } ;
17
+ IF_LEFT
18
+ { IF_LEFT
19
+ { IF_LEFT
20
+ { SENDER ;
21
+ PAIR ;
22
+ DIP { DUP ;
23
+ CDR ;
24
+ CAR ;
25
+ CDR ;
26
+ IF
27
+ { PUSH (pair string unit) (Pair "OperationsArePaused" Unit) ;
28
+ FAILWITH }
29
+ {} } ;
30
+ DUP ;
31
+ CDR ;
32
+ DUP ;
33
+ CDR ;
34
+ CAR ;
35
+ DIP { CAR } ;
36
+ COMPARE ;
37
+ EQ ;
38
+ IF
39
+ { DROP }
40
+ { DUP ;
41
+ CAR ;
42
+ DIP { CDR } ;
43
+ DIP { DUP ; CAR } ;
44
+ SWAP ;
45
+ DIP { DUP } ;
46
+ COMPARE ;
47
+ EQ ;
48
+ IF
49
+ { DROP }
50
+ { DIP { DUP } ;
51
+ SWAP ;
52
+ DIP { DIP { DUP } ;
53
+ SWAP ;
54
+ DIP { DUP } ;
55
+ SWAP ;
56
+ DIP { DIP { DIP { DIP { DUP } } ;
57
+ DIP { CAR } ;
58
+ PAIR ;
59
+ DUP ;
60
+ DIP { CDR ;
61
+ DIP { CAR } ;
62
+ GET ;
63
+ IF_NONE
64
+ { EMPTY_MAP address nat }
65
+ { CDR } } ;
66
+ CAR ;
67
+ GET ;
68
+ IF_NONE { PUSH nat 0 } {} } } ;
69
+ DIP { DUP ; CAR } ;
70
+ SWAP ;
71
+ DIP { DUP ;
72
+ DIP { DIP { DUP ;
73
+ CDR ;
74
+ CDR ;
75
+ DIP { DIP { DUP } ; SWAP } ;
76
+ SWAP ;
77
+ SUB ;
78
+ ISNAT ;
79
+ IF_NONE
80
+ { DIP { DUP } ;
81
+ SWAP ;
82
+ DIP { DUP } ;
83
+ SWAP ;
84
+ CDR ;
85
+ CDR ;
86
+ PAIR ;
87
+ PUSH string "NotEnoughAllowance" ;
88
+ PAIR ;
89
+ FAILWITH }
90
+ {} } ;
91
+ SWAP } ;
92
+ PAIR } ;
93
+ PAIR ;
94
+ DIP { DROP ; DROP ; DROP } ;
95
+ DIP { DUP ; CAR } ;
96
+ SWAP ;
97
+ DIP { DUP ; CAR } ;
98
+ SWAP ;
99
+ GET ;
100
+ IF_NONE
101
+ { PUSH nat 0 ;
102
+ DIP { EMPTY_MAP address nat } ;
103
+ PAIR ;
104
+ EMPTY_MAP address nat }
105
+ { DUP ; CDR } ;
106
+ DIP { DIP { DUP } ; SWAP } ;
107
+ SWAP ;
108
+ CDR ;
109
+ CDR ;
110
+ DUP ;
111
+ INT ;
112
+ EQ ;
113
+ IF { DROP ; NONE nat } { SOME } ;
114
+ DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
115
+ SWAP ;
116
+ CDR ;
117
+ CAR ;
118
+ UPDATE ;
119
+ DIP { DUP ; DIP { CAR } ; CDR } ;
120
+ DIP { DROP } ;
121
+ SWAP ;
122
+ PAIR ;
123
+ SOME ;
124
+ SWAP ;
125
+ CAR ;
126
+ DIP { DIP { DUP ; CAR } } ;
127
+ UPDATE ;
128
+ DIP { DUP ; DIP { CDR } ; CAR } ;
129
+ DIP { DROP } ;
130
+ PAIR } } ;
131
+ DIP { DUP } ;
132
+ SWAP ;
133
+ CAR ;
134
+ DIP { DUP } ;
135
+ SWAP ;
136
+ CDR ;
137
+ CAR ;
138
+ GET ;
139
+ IF_NONE
140
+ { DUP ;
141
+ CDR ;
142
+ CDR ;
143
+ INT ;
144
+ EQ ;
145
+ IF
146
+ { NONE (pair nat (map address nat)) }
147
+ { DUP ; CDR ; CDR ; DIP { EMPTY_MAP address nat } ; PAIR ; SOME } }
148
+ { DIP { DUP } ;
149
+ SWAP ;
150
+ CDR ;
151
+ CDR ;
152
+ DIP { DUP ; CAR } ;
153
+ ADD ;
154
+ DIP { DUP ; DIP { CDR } ; CAR } ;
155
+ DIP { DROP } ;
156
+ PAIR ;
157
+ SOME } ;
158
+ SWAP ;
159
+ DIP { DIP { DUP ; CAR } } ;
160
+ DUP ;
161
+ DIP { CDR ;
162
+ CAR ;
163
+ UPDATE ;
164
+ DIP { DUP ; DIP { CDR } ; CAR } ;
165
+ DIP { DROP } ;
166
+ PAIR } ;
167
+ DUP ;
168
+ DIP { CDR ;
169
+ CDR ;
170
+ INT ;
171
+ DIP { DUP ; CDR ; DUP ; CDR ; CAR } ;
172
+ ADD ;
173
+ ISNAT ;
174
+ IF_NONE
175
+ { PUSH string "Unexpected failure: Negative total supply\nCallStack (from HasCallStack):\n failUnexpected, called at src/Lorentz/Contracts/ManagedLedger/Impl.hs:158:27 in lorentz-contracts-0.2.0.1.2-CWNYAYQdqCJAhKtTd1tWlU:Lorentz.Contracts.ManagedLedger.Impl" ;
176
+ FAILWITH }
177
+ {} ;
178
+ DIP { DUP ; DIP { CAR } ; CDR } ;
179
+ DIP { DUP ; DIP { CDR } ; CAR } ;
180
+ DIP { DROP } ;
181
+ PAIR ;
182
+ SWAP ;
183
+ PAIR ;
184
+ DIP { DUP ; DIP { CAR } ; CDR } ;
185
+ DIP { DROP } ;
186
+ SWAP ;
187
+ PAIR } ;
188
+ DIP { DUP } ;
189
+ SWAP ;
190
+ CAR ;
191
+ DIP { DUP } ;
192
+ SWAP ;
193
+ CAR ;
194
+ GET ;
195
+ IF_NONE
196
+ { CDR ;
197
+ CDR ;
198
+ PUSH nat 0 ;
199
+ SWAP ;
200
+ PAIR ;
201
+ PUSH string "NotEnoughBalance" ;
202
+ PAIR ;
203
+ FAILWITH }
204
+ {} ;
205
+ DUP ;
206
+ CAR ;
207
+ DIP { DIP { DUP } ; SWAP } ;
208
+ SWAP ;
209
+ CDR ;
210
+ CDR ;
211
+ SWAP ;
212
+ SUB ;
213
+ ISNAT ;
214
+ IF_NONE
215
+ { CAR ;
216
+ DIP { DUP } ;
217
+ SWAP ;
218
+ CDR ;
219
+ CDR ;
220
+ PAIR ;
221
+ PUSH string "NotEnoughBalance" ;
222
+ PAIR ;
223
+ FAILWITH }
224
+ {} ;
225
+ DIP { DUP ; DIP { CDR } ; CAR } ;
226
+ DIP { DROP } ;
227
+ PAIR ;
228
+ DIP { DUP } ;
229
+ SWAP ;
230
+ DIP { DUP ;
231
+ CAR ;
232
+ INT ;
233
+ EQ ;
234
+ IF
235
+ { DUP ;
236
+ CDR ;
237
+ SIZE ;
238
+ INT ;
239
+ EQ ;
240
+ IF
241
+ { DROP ; NONE (pair nat (map address nat)) }
242
+ { SOME } }
243
+ { SOME } ;
244
+ SWAP ;
245
+ CAR ;
246
+ DIP { DIP { DUP ; CAR } } ;
247
+ UPDATE ;
248
+ DIP { DUP ; DIP { CDR } ; CAR } ;
249
+ DIP { DROP } ;
250
+ PAIR } ;
251
+ DUP ;
252
+ DIP { CDR ;
253
+ CDR ;
254
+ NEG ;
255
+ DIP { DUP ; CDR ; DUP ; CDR ; CAR } ;
256
+ ADD ;
257
+ ISNAT ;
258
+ IF_NONE
259
+ { PUSH string "Unexpected failure: Negative total supply\nCallStack (from HasCallStack):\n failUnexpected, called at src/Lorentz/Contracts/ManagedLedger/Impl.hs:158:27 in lorentz-contracts-0.2.0.1.2-CWNYAYQdqCJAhKtTd1tWlU:Lorentz.Contracts.ManagedLedger.Impl" ;
260
+ FAILWITH }
261
+ {} ;
262
+ DIP { DUP ; DIP { CAR } ; CDR } ;
263
+ DIP { DUP ; DIP { CDR } ; CAR } ;
264
+ DIP { DROP } ;
265
+ PAIR ;
266
+ SWAP ;
267
+ PAIR ;
268
+ DIP { DUP ; DIP { CAR } ; CDR } ;
269
+ DIP { DROP } ;
270
+ SWAP ;
271
+ PAIR } ;
272
+ DROP } ;
273
+ NIL operation ;
274
+ PAIR }
275
+ { IF_LEFT
276
+ { DIP { DUP ;
277
+ CDR ;
278
+ CDR ;
279
+ CDR ;
280
+ IF_LEFT
281
+ { PUSH (pair string unit) (Pair "ProxyIsNotSet" Unit) ;
282
+ FAILWITH }
283
+ { SENDER ;
284
+ COMPARE ;
285
+ EQ ;
286
+ IF
287
+ {}
288
+ { PUSH (pair string unit) (Pair "CallerIsNotProxy" Unit) ;
289
+ FAILWITH } } } ;
290
+ DIP { DUP ;
291
+ CDR ;
292
+ CAR ;
293
+ CDR ;
294
+ IF
295
+ { PUSH (pair string unit) (Pair "OperationsArePaused" Unit) ;
296
+ FAILWITH }
297
+ {} } ;
298
+ DUP ;
299
+ CDR ;
300
+ DUP ;
301
+ CDR ;
302
+ CAR ;
303
+ DIP { CAR } ;
304
+ COMPARE ;
305
+ EQ ;
306
+ IF
307
+ { DROP }
308
+ { DUP ;
309
+ CAR ;
310
+ DIP { CDR } ;
311
+ DIP { DUP ; CAR } ;
312
+ SWAP ;
313
+ DIP { DUP } ;
314
+ COMPARE ;
315
+ EQ ;
316
+ IF
317
+ { DROP }
318
+ { DIP { DUP } ;
319
+ SWAP ;
320
+ DIP { DIP { DUP } ;
321
+ SWAP ;
322
+ DIP { DUP } ;
323
+ SWAP ;
324
+ DIP { DIP { DIP { DIP { DUP } } ;
325
+ DIP { CAR } ;
326
+ PAIR ;
327
+ DUP ;
328
+ DIP { CDR ;
329
+ DIP { CAR } ;
330
+ GET ;
331
+ IF_NONE
332
+ { EMPTY_MAP address nat }
333
+ { CDR } } ;
334
+ CAR ;
335
+ GET ;
336
+ IF_NONE { PUSH nat 0 } {} } } ;
337
+ DIP { DUP ; CAR } ;
338
+ SWAP ;
339
+ DIP { DUP ;
340
+ DIP { DIP { DUP ;
341
+ CDR ;
342
+ CDR ;
343
+ DIP { DIP { DUP } ; SWAP } ;
344
+ SWAP ;
345
+ SUB ;
346
+ ISNAT ;
347
+ IF_NONE
348
+ { DIP { DUP } ;
349
+ SWAP ;
350
+ DIP { DUP } ;
351
+ SWAP ;
352
+ CDR ;
353
+ CDR ;
354
+ PAIR ;
355
+ PUSH string "NotEnoughAllowance" ;
356
+ PAIR ;
357
+ FAILWITH }
358
+ {} } ;
359
+ SWAP } ;
360
+ PAIR } ;
361
+ PAIR ;
362
+ DIP { DROP ; DROP ; DROP } ;
363
+ DIP { DUP ; CAR } ;
364
+ SWAP ;
365
+ DIP { DUP ; CAR } ;
366
+ SWAP ;
367
+ GET ;
368
+ IF_NONE
369
+ { PUSH nat 0 ;
370
+ DIP { EMPTY_MAP address nat } ;
371
+ PAIR ;
372
+ EMPTY_MAP address nat }
373
+ { DUP ; CDR } ;
374
+ DIP { DIP { DUP } ; SWAP } ;
375
+ SWAP ;
376
+ CDR ;
377
+ CDR ;
378
+ DUP ;
379
+ INT ;
380
+ EQ ;
381
+ IF { DROP ; NONE nat } { SOME } ;
382
+ DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
383
+ SWAP ;
384
+ CDR ;
385
+ CAR ;
386
+ UPDATE ;
387
+ DIP { DUP ; DIP { CAR } ; CDR } ;
388
+ DIP { DROP } ;
389
+ SWAP ;
390
+ PAIR ;
391
+ SOME ;
392
+ SWAP ;
393
+ CAR ;
394
+ DIP { DIP { DUP ; CAR } } ;
395
+ UPDATE ;
396
+ DIP { DUP ; DIP { CDR } ; CAR } ;
397
+ DIP { DROP } ;
398
+ PAIR } } ;
399
+ DIP { DUP } ;
400
+ SWAP ;
401
+ CAR ;
402
+ DIP { DUP } ;
403
+ SWAP ;
404
+ CDR ;
405
+ CAR ;
406
+ GET ;
407
+ IF_NONE
408
+ { DUP ;
409
+ CDR ;
410
+ CDR ;
411
+ INT ;
412
+ EQ ;
413
+ IF
414
+ { NONE (pair nat (map address nat)) }
415
+ { DUP ; CDR ; CDR ; DIP { EMPTY_MAP address nat } ; PAIR ; SOME } }
416
+ { DIP { DUP } ;
417
+ SWAP ;
418
+ CDR ;
419
+ CDR ;
420
+ DIP { DUP ; CAR } ;
421
+ ADD ;
422
+ DIP { DUP ; DIP { CDR } ; CAR } ;
423
+ DIP { DROP } ;
424
+ PAIR ;
425
+ SOME } ;
426
+ SWAP ;
427
+ DIP { DIP { DUP ; CAR } } ;
428
+ DUP ;
429
+ DIP { CDR ;
430
+ CAR ;
431
+ UPDATE ;
432
+ DIP { DUP ; DIP { CDR } ; CAR } ;
433
+ DIP { DROP } ;
434
+ PAIR } ;
435
+ DUP ;
436
+ DIP { CDR ;
437
+ CDR ;
438
+ INT ;
439
+ DIP { DUP ; CDR ; DUP ; CDR ; CAR } ;
440
+ ADD ;
441
+ ISNAT ;
442
+ IF_NONE
443
+ { PUSH string "Unexpected failure: Negative total supply\nCallStack (from HasCallStack):\n failUnexpected, called at src/Lorentz/Contracts/ManagedLedger/Impl.hs:158:27 in lorentz-contracts-0.2.0.1.2-CWNYAYQdqCJAhKtTd1tWlU:Lorentz.Contracts.ManagedLedger.Impl" ;
444
+ FAILWITH }
445
+ {} ;
446
+ DIP { DUP ; DIP { CAR } ; CDR } ;
447
+ DIP { DUP ; DIP { CDR } ; CAR } ;
448
+ DIP { DROP } ;
449
+ PAIR ;
450
+ SWAP ;
451
+ PAIR ;
452
+ DIP { DUP ; DIP { CAR } ; CDR } ;
453
+ DIP { DROP } ;
454
+ SWAP ;
455
+ PAIR } ;
456
+ DIP { DUP } ;
457
+ SWAP ;
458
+ CAR ;
459
+ DIP { DUP } ;
460
+ SWAP ;
461
+ CAR ;
462
+ GET ;
463
+ IF_NONE
464
+ { CDR ;
465
+ CDR ;
466
+ PUSH nat 0 ;
467
+ SWAP ;
468
+ PAIR ;
469
+ PUSH string "NotEnoughBalance" ;
470
+ PAIR ;
471
+ FAILWITH }
472
+ {} ;
473
+ DUP ;
474
+ CAR ;
475
+ DIP { DIP { DUP } ; SWAP } ;
476
+ SWAP ;
477
+ CDR ;
478
+ CDR ;
479
+ SWAP ;
480
+ SUB ;
481
+ ISNAT ;
482
+ IF_NONE
483
+ { CAR ;
484
+ DIP { DUP } ;
485
+ SWAP ;
486
+ CDR ;
487
+ CDR ;
488
+ PAIR ;
489
+ PUSH string "NotEnoughBalance" ;
490
+ PAIR ;
491
+ FAILWITH }
492
+ {} ;
493
+ DIP { DUP ; DIP { CDR } ; CAR } ;
494
+ DIP { DROP } ;
495
+ PAIR ;
496
+ DIP { DUP } ;
497
+ SWAP ;
498
+ DIP { DUP ;
499
+ CAR ;
500
+ INT ;
501
+ EQ ;
502
+ IF
503
+ { DUP ;
504
+ CDR ;
505
+ SIZE ;
506
+ INT ;
507
+ EQ ;
508
+ IF
509
+ { DROP ; NONE (pair nat (map address nat)) }
510
+ { SOME } }
511
+ { SOME } ;
512
+ SWAP ;
513
+ CAR ;
514
+ DIP { DIP { DUP ; CAR } } ;
515
+ UPDATE ;
516
+ DIP { DUP ; DIP { CDR } ; CAR } ;
517
+ DIP { DROP } ;
518
+ PAIR } ;
519
+ DUP ;
520
+ DIP { CDR ;
521
+ CDR ;
522
+ NEG ;
523
+ DIP { DUP ; CDR ; DUP ; CDR ; CAR } ;
524
+ ADD ;
525
+ ISNAT ;
526
+ IF_NONE
527
+ { PUSH string "Unexpected failure: Negative total supply\nCallStack (from HasCallStack):\n failUnexpected, called at src/Lorentz/Contracts/ManagedLedger/Impl.hs:158:27 in lorentz-contracts-0.2.0.1.2-CWNYAYQdqCJAhKtTd1tWlU:Lorentz.Contracts.ManagedLedger.Impl" ;
528
+ FAILWITH }
529
+ {} ;
530
+ DIP { DUP ; DIP { CAR } ; CDR } ;
531
+ DIP { DUP ; DIP { CDR } ; CAR } ;
532
+ DIP { DROP } ;
533
+ PAIR ;
534
+ SWAP ;
535
+ PAIR ;
536
+ DIP { DUP ; DIP { CAR } ; CDR } ;
537
+ DIP { DROP } ;
538
+ SWAP ;
539
+ PAIR } ;
540
+ DROP } ;
541
+ NIL operation ;
542
+ PAIR }
543
+ { SENDER ;
544
+ PAIR ;
545
+ DIP { DUP ;
546
+ CDR ;
547
+ CAR ;
548
+ CDR ;
549
+ IF
550
+ { PUSH (pair string unit) (Pair "OperationsArePaused" Unit) ;
551
+ FAILWITH }
552
+ {} } ;
553
+ DIP { DUP } ;
554
+ SWAP ;
555
+ DIP { DUP } ;
556
+ SWAP ;
557
+ DUP ;
558
+ DIP { CAR ;
559
+ DIP { CAR } ;
560
+ GET ;
561
+ IF_NONE { EMPTY_MAP address nat } { CDR } } ;
562
+ CDR ;
563
+ CAR ;
564
+ GET ;
565
+ IF_NONE { PUSH nat 0 } {} ;
566
+ DUP ;
567
+ INT ;
568
+ EQ ;
569
+ IF
570
+ { DROP }
571
+ { DIP { DUP } ;
572
+ SWAP ;
573
+ CDR ;
574
+ CDR ;
575
+ INT ;
576
+ EQ ;
577
+ IF
578
+ { DROP }
579
+ { PUSH string "UnsafeAllowanceChange" ; PAIR ; FAILWITH } } ;
580
+ DIP { DUP ; CAR } ;
581
+ SWAP ;
582
+ DIP { DUP ; CAR } ;
583
+ SWAP ;
584
+ GET ;
585
+ IF_NONE
586
+ { PUSH nat 0 ;
587
+ DIP { EMPTY_MAP address nat } ;
588
+ PAIR ;
589
+ EMPTY_MAP address nat }
590
+ { DUP ; CDR } ;
591
+ DIP { DIP { DUP } ; SWAP } ;
592
+ SWAP ;
593
+ CDR ;
594
+ CDR ;
595
+ DUP ;
596
+ INT ;
597
+ EQ ;
598
+ IF { DROP ; NONE nat } { SOME } ;
599
+ DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
600
+ SWAP ;
601
+ CDR ;
602
+ CAR ;
603
+ UPDATE ;
604
+ DIP { DUP ; DIP { CAR } ; CDR } ;
605
+ DIP { DROP } ;
606
+ SWAP ;
607
+ PAIR ;
608
+ SOME ;
609
+ SWAP ;
610
+ CAR ;
611
+ DIP { DIP { DUP ; CAR } } ;
612
+ UPDATE ;
613
+ DIP { DUP ; DIP { CDR } ; CAR } ;
614
+ DIP { DROP } ;
615
+ PAIR ;
616
+ NIL operation ;
617
+ PAIR } } }
618
+ { IF_LEFT
619
+ { DIP { DUP ;
620
+ CDR ;
621
+ CDR ;
622
+ CDR ;
623
+ IF_LEFT
624
+ { PUSH (pair string unit) (Pair "ProxyIsNotSet" Unit) ;
625
+ FAILWITH }
626
+ { SENDER ;
627
+ COMPARE ;
628
+ EQ ;
629
+ IF
630
+ {}
631
+ { PUSH (pair string unit) (Pair "CallerIsNotProxy" Unit) ;
632
+ FAILWITH } } } ;
633
+ DIP { DUP ;
634
+ CDR ;
635
+ CAR ;
636
+ CDR ;
637
+ IF
638
+ { PUSH (pair string unit) (Pair "OperationsArePaused" Unit) ;
639
+ FAILWITH }
640
+ {} } ;
641
+ DIP { DUP } ;
642
+ SWAP ;
643
+ DIP { DUP } ;
644
+ SWAP ;
645
+ DUP ;
646
+ DIP { CAR ; DIP { CAR } ; GET ; IF_NONE { EMPTY_MAP address nat } { CDR } } ;
647
+ CDR ;
648
+ CAR ;
649
+ GET ;
650
+ IF_NONE { PUSH nat 0 } {} ;
651
+ DUP ;
652
+ INT ;
653
+ EQ ;
654
+ IF
655
+ { DROP }
656
+ { DIP { DUP } ;
657
+ SWAP ;
658
+ CDR ;
659
+ CDR ;
660
+ INT ;
661
+ EQ ;
662
+ IF
663
+ { DROP }
664
+ { PUSH string "UnsafeAllowanceChange" ; PAIR ; FAILWITH } } ;
665
+ DIP { DUP ; CAR } ;
666
+ SWAP ;
667
+ DIP { DUP ; CAR } ;
668
+ SWAP ;
669
+ GET ;
670
+ IF_NONE
671
+ { PUSH nat 0 ;
672
+ DIP { EMPTY_MAP address nat } ;
673
+ PAIR ;
674
+ EMPTY_MAP address nat }
675
+ { DUP ; CDR } ;
676
+ DIP { DIP { DUP } ; SWAP } ;
677
+ SWAP ;
678
+ CDR ;
679
+ CDR ;
680
+ DUP ;
681
+ INT ;
682
+ EQ ;
683
+ IF { DROP ; NONE nat } { SOME } ;
684
+ DIP { DIP { DIP { DUP } ; SWAP } ; SWAP } ;
685
+ SWAP ;
686
+ CDR ;
687
+ CAR ;
688
+ UPDATE ;
689
+ DIP { DUP ; DIP { CAR } ; CDR } ;
690
+ DIP { DROP } ;
691
+ SWAP ;
692
+ PAIR ;
693
+ SOME ;
694
+ SWAP ;
695
+ CAR ;
696
+ DIP { DIP { DUP ; CAR } } ;
697
+ UPDATE ;
698
+ DIP { DUP ; DIP { CDR } ; CAR } ;
699
+ DIP { DROP } ;
700
+ PAIR ;
701
+ NIL operation ;
702
+ PAIR }
703
+ { IF_LEFT
704
+ { DUP ;
705
+ CAR ;
706
+ DIP { CDR } ;
707
+ DIP { DIP { DUP } ; SWAP } ;
708
+ PAIR ;
709
+ DUP ;
710
+ CAR ;
711
+ DIP { CDR } ;
712
+ DUP ;
713
+ DIP { CAR ;
714
+ DIP { CAR } ;
715
+ GET ;
716
+ IF_NONE { EMPTY_MAP address nat } { CDR } } ;
717
+ CDR ;
718
+ GET ;
719
+ IF_NONE { PUSH nat 0 } {} ;
720
+ DIP { AMOUNT } ;
721
+ TRANSFER_TOKENS ;
722
+ NIL operation ;
723
+ SWAP ;
724
+ CONS ;
725
+ PAIR }
726
+ { DUP ;
727
+ CAR ;
728
+ DIP { CDR } ;
729
+ DIP { DIP { DUP } ; SWAP } ;
730
+ PAIR ;
731
+ DUP ;
732
+ CAR ;
733
+ DIP { CDR } ;
734
+ DIP { CAR } ;
735
+ GET ;
736
+ IF_NONE { PUSH nat 0 } { CAR } ;
737
+ DIP { AMOUNT } ;
738
+ TRANSFER_TOKENS ;
739
+ NIL operation ;
740
+ SWAP ;
741
+ CONS ;
742
+ PAIR } } } }
743
+ { IF_LEFT
744
+ { IF_LEFT
745
+ { DUP ;
746
+ CAR ;
747
+ DIP { CDR } ;
748
+ DIP { DIP { DUP } ; SWAP } ;
749
+ PAIR ;
750
+ CDR ;
751
+ CDR ;
752
+ CDR ;
753
+ CAR ;
754
+ DIP { AMOUNT } ;
755
+ TRANSFER_TOKENS ;
756
+ NIL operation ;
757
+ SWAP ;
758
+ CONS ;
759
+ PAIR }
760
+ { IF_LEFT
761
+ { DIP { DUP ;
762
+ CDR ;
763
+ CAR ;
764
+ CAR ;
765
+ SENDER ;
766
+ COMPARE ;
767
+ EQ ;
768
+ IF
769
+ {}
770
+ { PUSH (pair string unit) (Pair "SenderIsNotAdmin" Unit) ;
771
+ FAILWITH } } ;
772
+ DIP { DUP ; CDR } ;
773
+ DIP { DUP ; DIP { CDR } ; CAR } ;
774
+ DIP { DUP ; DIP { CAR } ; CDR } ;
775
+ DIP { DROP } ;
776
+ SWAP ;
777
+ PAIR ;
778
+ PAIR ;
779
+ DIP { DUP ; DIP { CAR } ; CDR } ;
780
+ DIP { DROP } ;
781
+ SWAP ;
782
+ PAIR ;
783
+ NIL operation ;
784
+ PAIR }
785
+ { DIP { DUP ;
786
+ CDR ;
787
+ CAR ;
788
+ CAR ;
789
+ SENDER ;
790
+ COMPARE ;
791
+ EQ ;
792
+ IF
793
+ {}
794
+ { PUSH (pair string unit) (Pair "SenderIsNotAdmin" Unit) ;
795
+ FAILWITH } } ;
796
+ DIP { DUP ; CDR } ;
797
+ DIP { DUP ; DIP { CDR } ; CAR } ;
798
+ DIP { DUP ; DIP { CDR } ; CAR } ;
799
+ DIP { DROP } ;
800
+ PAIR ;
801
+ PAIR ;
802
+ DIP { DUP ; DIP { CAR } ; CDR } ;
803
+ DIP { DROP } ;
804
+ SWAP ;
805
+ PAIR ;
806
+ NIL operation ;
807
+ PAIR } } }
808
+ { IF_LEFT
809
+ { IF_LEFT
810
+ { DUP ;
811
+ CAR ;
812
+ DIP { CDR } ;
813
+ DIP { DIP { DUP } ; SWAP } ;
814
+ PAIR ;
815
+ CDR ;
816
+ CDR ;
817
+ CAR ;
818
+ CAR ;
819
+ DIP { AMOUNT } ;
820
+ TRANSFER_TOKENS ;
821
+ NIL operation ;
822
+ SWAP ;
823
+ CONS ;
824
+ PAIR }
825
+ { DIP { DUP ;
826
+ CDR ;
827
+ CAR ;
828
+ CAR ;
829
+ SENDER ;
830
+ COMPARE ;
831
+ EQ ;
832
+ IF
833
+ {}
834
+ { PUSH (pair string unit) (Pair "SenderIsNotAdmin" Unit) ;
835
+ FAILWITH } } ;
836
+ DIP { DUP } ;
837
+ SWAP ;
838
+ CAR ;
839
+ DIP { DUP } ;
840
+ SWAP ;
841
+ CAR ;
842
+ GET ;
843
+ IF_NONE
844
+ { DUP ;
845
+ CDR ;
846
+ INT ;
847
+ EQ ;
848
+ IF
849
+ { NONE (pair nat (map address nat)) }
850
+ { DUP ; CDR ; DIP { EMPTY_MAP address nat } ; PAIR ; SOME } }
851
+ { DIP { DUP } ;
852
+ SWAP ;
853
+ CDR ;
854
+ DIP { DUP ; CAR } ;
855
+ ADD ;
856
+ DIP { DUP ; DIP { CDR } ; CAR } ;
857
+ DIP { DROP } ;
858
+ PAIR ;
859
+ SOME } ;
860
+ SWAP ;
861
+ DIP { DIP { DUP ; CAR } } ;
862
+ DUP ;
863
+ DIP { CAR ; UPDATE ; DIP { DUP ; DIP { CDR } ; CAR } ; DIP { DROP } ; PAIR } ;
864
+ DUP ;
865
+ DIP { CDR ;
866
+ INT ;
867
+ DIP { DUP ; CDR ; DUP ; CDR ; CAR } ;
868
+ ADD ;
869
+ ISNAT ;
870
+ IF_NONE
871
+ { PUSH string "Unexpected failure: Negative total supply\nCallStack (from HasCallStack):\n failUnexpected, called at src/Lorentz/Contracts/ManagedLedger/Impl.hs:158:27 in lorentz-contracts-0.2.0.1.2-CWNYAYQdqCJAhKtTd1tWlU:Lorentz.Contracts.ManagedLedger.Impl" ;
872
+ FAILWITH }
873
+ {} ;
874
+ DIP { DUP ; DIP { CAR } ; CDR } ;
875
+ DIP { DUP ; DIP { CDR } ; CAR } ;
876
+ DIP { DROP } ;
877
+ PAIR ;
878
+ SWAP ;
879
+ PAIR ;
880
+ DIP { DUP ; DIP { CAR } ; CDR } ;
881
+ DIP { DROP } ;
882
+ SWAP ;
883
+ PAIR } ;
884
+ DROP ;
885
+ NIL operation ;
886
+ PAIR } }
887
+ { IF_LEFT
888
+ { DIP { DUP ;
889
+ CDR ;
890
+ CAR ;
891
+ CAR ;
892
+ SENDER ;
893
+ COMPARE ;
894
+ EQ ;
895
+ IF
896
+ {}
897
+ { PUSH (pair string unit) (Pair "SenderIsNotAdmin" Unit) ;
898
+ FAILWITH } } ;
899
+ DIP { DUP } ;
900
+ SWAP ;
901
+ CAR ;
902
+ DIP { DUP } ;
903
+ SWAP ;
904
+ CAR ;
905
+ GET ;
906
+ IF_NONE
907
+ { CDR ;
908
+ PUSH nat 0 ;
909
+ SWAP ;
910
+ PAIR ;
911
+ PUSH string "NotEnoughBalance" ;
912
+ PAIR ;
913
+ FAILWITH }
914
+ {} ;
915
+ DUP ;
916
+ CAR ;
917
+ DIP { DIP { DUP } ; SWAP } ;
918
+ SWAP ;
919
+ CDR ;
920
+ SWAP ;
921
+ SUB ;
922
+ ISNAT ;
923
+ IF_NONE
924
+ { CAR ;
925
+ DIP { DUP } ;
926
+ SWAP ;
927
+ CDR ;
928
+ PAIR ;
929
+ PUSH string "NotEnoughBalance" ;
930
+ PAIR ;
931
+ FAILWITH }
932
+ {} ;
933
+ DIP { DUP ; DIP { CDR } ; CAR } ;
934
+ DIP { DROP } ;
935
+ PAIR ;
936
+ DIP { DUP } ;
937
+ SWAP ;
938
+ DIP { DUP ;
939
+ CAR ;
940
+ INT ;
941
+ EQ ;
942
+ IF
943
+ { DUP ;
944
+ CDR ;
945
+ SIZE ;
946
+ INT ;
947
+ EQ ;
948
+ IF
949
+ { DROP ; NONE (pair nat (map address nat)) }
950
+ { SOME } }
951
+ { SOME } ;
952
+ SWAP ;
953
+ CAR ;
954
+ DIP { DIP { DUP ; CAR } } ;
955
+ UPDATE ;
956
+ DIP { DUP ; DIP { CDR } ; CAR } ;
957
+ DIP { DROP } ;
958
+ PAIR } ;
959
+ DUP ;
960
+ DIP { CDR ;
961
+ NEG ;
962
+ DIP { DUP ; CDR ; DUP ; CDR ; CAR } ;
963
+ ADD ;
964
+ ISNAT ;
965
+ IF_NONE
966
+ { PUSH string "Unexpected failure: Negative total supply\nCallStack (from HasCallStack):\n failUnexpected, called at src/Lorentz/Contracts/ManagedLedger/Impl.hs:158:27 in lorentz-contracts-0.2.0.1.2-CWNYAYQdqCJAhKtTd1tWlU:Lorentz.Contracts.ManagedLedger.Impl" ;
967
+ FAILWITH }
968
+ {} ;
969
+ DIP { DUP ; DIP { CAR } ; CDR } ;
970
+ DIP { DUP ; DIP { CDR } ; CAR } ;
971
+ DIP { DROP } ;
972
+ PAIR ;
973
+ SWAP ;
974
+ PAIR ;
975
+ DIP { DUP ; DIP { CAR } ; CDR } ;
976
+ DIP { DROP } ;
977
+ SWAP ;
978
+ PAIR } ;
979
+ DROP ;
980
+ NIL operation ;
981
+ PAIR }
982
+ { DIP { DUP ;
983
+ CDR ;
984
+ CDR ;
985
+ CDR ;
986
+ IF_LEFT
987
+ { SENDER ;
988
+ COMPARE ;
989
+ EQ ;
990
+ IF
991
+ {}
992
+ { PUSH (pair string unit) (Pair "NotAllowedToSetProxy" Unit) ;
993
+ FAILWITH } }
994
+ { PUSH (pair string unit) (Pair "ProxyAlreadySet" Unit) ;
995
+ FAILWITH } } ;
996
+ RIGHT address ;
997
+ DIP { DUP ; CDR } ;
998
+ DIP { DUP ; DIP { CAR } ; CDR } ;
999
+ DIP { DUP ; DIP { CAR } ; CDR } ;
1000
+ DIP { DROP } ;
1001
+ SWAP ;
1002
+ PAIR ;
1003
+ SWAP ;
1004
+ PAIR ;
1005
+ DIP { DUP ; DIP { CAR } ; CDR } ;
1006
+ DIP { DROP } ;
1007
+ SWAP ;
1008
+ PAIR ;
1009
+ NIL operation ;
1010
+ PAIR } } } } }