@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,6 @@
1
+
2
+ export const ExampleContract7Code: { __type: 'ExampleContract7Code', protocol: string, code: object[] } = {
3
+ __type: 'ExampleContract7Code',
4
+ protocol: 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo',
5
+ code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"or","args":[{"prim":"or","annots":["%admin"],"args":[{"prim":"or","args":[{"prim":"unit","annots":["%confirm_admin"]},{"prim":"bool","annots":["%pause"]}]},{"prim":"address","annots":["%set_admin"]}]},{"prim":"pair","annots":["%buy"],"args":[{"prim":"address","annots":["%sale_seller"]},{"prim":"pair","annots":["%tokens"],"args":[{"prim":"address","annots":["%token_for_sale_address"]},{"prim":"pair","args":[{"prim":"nat","annots":["%token_for_sale_token_id"]},{"prim":"pair","args":[{"prim":"address","annots":["%money_token_address"]},{"prim":"nat","annots":["%money_token_token_id"]}]}]}]}]}]},{"prim":"or","args":[{"prim":"list","annots":["%mint"],"args":[{"prim":"pair","args":[{"prim":"pair","annots":["%token_metadata"],"args":[{"prim":"nat","annots":["%token_id"]},{"prim":"map","annots":["%token_info"],"args":[{"prim":"string"},{"prim":"bytes"}]}]},{"prim":"address","annots":["%owner"]}]}]},{"prim":"pair","annots":["%sell"],"args":[{"prim":"nat","annots":["%sale_price"]},{"prim":"pair","annots":["%sale_tokens_param"],"args":[{"prim":"address","annots":["%token_for_sale_address"]},{"prim":"pair","args":[{"prim":"nat","annots":["%token_for_sale_token_id"]},{"prim":"pair","args":[{"prim":"address","annots":["%money_token_address"]},{"prim":"nat","annots":["%money_token_token_id"]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"option","annots":["%admin"],"args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"address","annots":["%admin"]},{"prim":"bool","annots":["%paused"]}]},{"prim":"option","annots":["%pending_admin"],"args":[{"prim":"address"}]}]}]},{"prim":"big_map","annots":["%sales"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%sale_seller"]},{"prim":"pair","annots":["%tokens"],"args":[{"prim":"address","annots":["%token_for_sale_address"]},{"prim":"pair","args":[{"prim":"nat","annots":["%token_for_sale_token_id"]},{"prim":"pair","args":[{"prim":"address","annots":["%money_token_address"]},{"prim":"nat","annots":["%money_token_token_id"]}]}]}]}]},{"prim":"nat"}]}]}]},{"prim":"code","args":[[{"prim":"LAMBDA","args":[{"prim":"option","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"bool"}]},{"prim":"option","args":[{"prim":"address"}]}]}]},{"prim":"unit"},[{"prim":"IF_NONE","args":[[{"prim":"UNIT"}],[{"prim":"CAR"},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"NOT_AN_ADMIN"}]},{"prim":"FAILWITH"}],[{"prim":"UNIT"}]]}]]}]]},{"prim":"LAMBDA","args":[{"prim":"option","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"bool"}]},{"prim":"option","args":[{"prim":"address"}]}]}]},{"prim":"unit"},[{"prim":"IF_NONE","args":[[{"prim":"UNIT"}],[{"prim":"CAR"},{"prim":"CDR"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"PAUSED"}]},{"prim":"FAILWITH"}],[{"prim":"UNIT"}]]}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]}]},{"prim":"operation"},[[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"DIG","args":[{"int":"2"}]},[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"DROP","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"CANNOT_INVOKE_FA2_TRANSFER"}]},{"prim":"FAILWITH"}],[{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"nat"}]}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"nat"}]}]}]},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"1"}]},{"prim":"DIG","args":[{"int":"7"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]}]]},{"prim":"LAMBDA","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"pair","args":[{"prim":"nat"},{"prim":"address"}]}]},{"prim":"address"}]},{"prim":"operation"},[[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"DIG","args":[{"int":"2"}]},[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONTRACT","annots":["%transfer"],"args":[{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address","annots":["%from_"]},{"prim":"list","annots":["%txs"],"args":[{"prim":"pair","args":[{"prim":"address","annots":["%to_"]},{"prim":"pair","args":[{"prim":"nat","annots":["%token_id"]},{"prim":"nat","annots":["%amount"]}]}]}]}]}]}]},{"prim":"IF_NONE","args":[[{"prim":"DROP","args":[{"int":"4"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"CANNOT_INVOKE_MONEY_FA2"}]},{"prim":"FAILWITH"}],[{"prim":"PUSH","args":[{"prim":"mutez"},{"int":"0"}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"list","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"nat"}]}]}]}]}]},{"prim":"NIL","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"nat"}]}]}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"6"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"PAIR"},{"prim":"CONS"},{"prim":"TRANSFER_TOKENS"}]]}]]},{"prim":"DIG","args":[{"int":"4"}]},[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"IF_LEFT","args":[[{"prim":"IF_LEFT","args":[[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"SWAP"},{"prim":"IF_LEFT","args":[[{"prim":"IF_LEFT","args":[[{"prim":"DROP"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"NO_ADMIN_CAPABILITIES_CONFIGURED"}]},{"prim":"FAILWITH"}],[{"prim":"DUP"},{"prim":"CDR"},{"prim":"IF_NONE","args":[[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NO_PENDING_ADMIN"}]},{"prim":"FAILWITH"}],[{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"NONE","args":[{"prim":"address"}]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"CDR"},{"prim":"SENDER"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"SOME"}],[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NOT_A_PENDING_ADMIN"}]},{"prim":"FAILWITH"}]]}]]}]]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}],[{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NO_ADMIN_CAPABILITIES_CONFIGURED"}]},{"prim":"FAILWITH"}],[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"SOME"}]]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]}],[{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"IF_NONE","args":[[{"prim":"DROP"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NO_ADMIN_CAPABILITIES_CONFIGURED"}]},{"prim":"FAILWITH"}],[{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"SOME"}]]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]},[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]}]],{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"}],[{"prim":"DIG","args":[{"int":"5"}]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"NO_SALE"}]},{"prim":"FAILWITH"}],[]]},{"prim":"SELF_ADDRESS"},{"prim":"SENDER"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"PAIR"},[{"prim":"DIP","args":[{"int":"3"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"4"}]}],{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},[{"prim":"DIP","args":[{"int":"4"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"5"}]}],{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"PAIR"},[{"prim":"DIP","args":[{"int":"4"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"5"}]}],{"prim":"SWAP"},{"prim":"EXEC"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"CAR"},{"prim":"SELF_ADDRESS"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"PAIR"},[{"prim":"DIP","args":[{"int":"3"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"4"}]}],{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},[{"prim":"DIP","args":[{"int":"4"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"5"}]}],{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SENDER"},{"prim":"SELF_ADDRESS"},{"prim":"PAIR"},[{"prim":"DIP","args":[{"int":"3"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"4"}]}],{"prim":"CDR"},{"prim":"CDR"},{"prim":"CAR"},[{"prim":"DIP","args":[{"int":"4"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"5"}]}],{"prim":"CDR"},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"5"}]},{"prim":"SWAP"},{"prim":"EXEC"},[{"prim":"DIP","args":[{"int":"4"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"5"}]}],{"prim":"CDR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"NONE","args":[{"prim":"nat"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"PAIR"}]]}],[{"prim":"DIG","args":[{"int":"2"}]},{"prim":"DROP"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"DROP"},{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"unit"},{"prim":"Unit"}]}],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"OR A SELLER"}]},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"CAR"},{"prim":"IF_NONE","args":[[{"prim":"DROP"},{"prim":"UNIT"}],[{"prim":"CAR"},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"NEQ"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":" "}]},{"prim":"CONCAT"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NOT_AN_ADMIN"}]},{"prim":"CONCAT"},{"prim":"FAILWITH"}],[{"prim":"DROP"},{"prim":"UNIT"}]]}]]}]]},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DROP","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NO_SALE"}]},{"prim":"FAILWITH"}],[{"prim":"DROP"},{"prim":"SENDER"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"SENDER"},{"prim":"SELF_ADDRESS"},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CAR"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"CDR"},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"CDR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"NONE","args":[{"prim":"nat"}]},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"PAIR"}],[{"prim":"DROP","args":[{"int":"3"}]},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NOT_OWNER"}]},{"prim":"FAILWITH"}]]}]]}],[{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"4"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"DROP"},{"prim":"SELF_ADDRESS"},{"prim":"SENDER"},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CAR"},[{"prim":"DIP","args":[{"int":"2"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"3"}]}],{"prim":"CDR"},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"SWAP"},{"prim":"EXEC"},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DUG","args":[{"int":"2"}]},{"prim":"CDR"},{"prim":"SENDER"},{"prim":"PAIR"},[{"prim":"DIP","args":[{"int":"3"},[{"prim":"DUP"}]]},{"prim":"DIG","args":[{"int":"4"}]}],{"prim":"CDR"},{"prim":"DIG","args":[{"int":"3"}]},{"prim":"CAR"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"SWAP"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"UPDATE"},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CAR"},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"DIG","args":[{"int":"2"}]},{"prim":"CONS"},{"prim":"PAIR"}]]}]]}]]}]`)
6
+ };
@@ -0,0 +1,78 @@
1
+
2
+ import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils';
3
+ import { address, BigMap, bytes, MMap, nat } from './type-aliases';
4
+
5
+ type Storage = {
6
+ admin?: {
7
+ admin: address;
8
+ paused: boolean;
9
+ pending_admin?: address;
10
+ };
11
+ sales: BigMap<{
12
+ sale_seller: address;
13
+ tokens: {
14
+ token_for_sale_address: address;
15
+ token_for_sale_token_id: nat;
16
+ money_token_address: address;
17
+ money_token_token_id: nat;
18
+ };
19
+ }, nat>;
20
+ };
21
+
22
+ type Methods = {
23
+ confirm_admin: () => Promise<void>;
24
+ pause: (param: boolean) => Promise<void>;
25
+ set_admin: (param: address) => Promise<void>;
26
+ buy: (
27
+ sale_seller: address,
28
+ token_for_sale_address: address,
29
+ token_for_sale_token_id: nat,
30
+ money_token_address: address,
31
+ money_token_token_id: nat,
32
+ ) => Promise<void>;
33
+ mint: (param: Array<{
34
+ token_metadata: {
35
+ token_id: nat;
36
+ token_info: MMap<string, bytes>;
37
+ };
38
+ owner: address;
39
+ }>) => Promise<void>;
40
+ sell: (
41
+ sale_price: nat,
42
+ token_for_sale_address: address,
43
+ token_for_sale_token_id: nat,
44
+ money_token_address: address,
45
+ money_token_token_id: nat,
46
+ ) => Promise<void>;
47
+ };
48
+
49
+ type MethodsObject = {
50
+ confirm_admin: () => Promise<void>;
51
+ pause: (param: boolean) => Promise<void>;
52
+ set_admin: (param: address) => Promise<void>;
53
+ buy: (params: {
54
+ sale_seller: address,
55
+ token_for_sale_address: address,
56
+ token_for_sale_token_id: nat,
57
+ money_token_address: address,
58
+ money_token_token_id: nat,
59
+ }) => Promise<void>;
60
+ mint: (param: Array<{
61
+ token_metadata: {
62
+ token_id: nat;
63
+ token_info: MMap<string, bytes>;
64
+ };
65
+ owner: address;
66
+ }>) => Promise<void>;
67
+ sell: (params: {
68
+ sale_price: nat,
69
+ token_for_sale_address: address,
70
+ token_for_sale_token_id: nat,
71
+ money_token_address: address,
72
+ money_token_token_id: nat,
73
+ }) => Promise<void>;
74
+ };
75
+
76
+ type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'ExampleContract7Code', protocol: string, code: object[] } };
77
+ export type ExampleContract7ContractType = ContractAbstractionFromContractType<contractTypes>;
78
+ export type ExampleContract7WalletType = WalletContractAbstractionFromContractType<contractTypes>;
@@ -0,0 +1,6 @@
1
+
2
+ export const ExampleContract8Code: { __type: 'ExampleContract8Code', protocol: string, code: object[] } = {
3
+ __type: 'ExampleContract8Code',
4
+ protocol: 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo',
5
+ code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"pair","annots":["%make"],"args":[{"prim":"nat","annots":["%id"]},{"prim":"pair","args":[{"prim":"address","annots":["%p1"]},{"prim":"pair","args":[{"prim":"mutez","annots":["%fee"]},{"prim":"option","annots":["%otherFee"],"args":[{"prim":"mutez"}]}]}]}]},{"prim":"or","args":[{"prim":"nat","annots":["%join"]},{"prim":"or","args":[{"prim":"pair","annots":["%register2"],"args":[{"prim":"nat","annots":["%id"]},{"prim":"address","annots":["%p2"]}]},{"prim":"or","args":[{"prim":"pair","annots":["%accept"],"args":[{"prim":"nat","annots":["%id"]},{"prim":"or","annots":["%result"],"args":[{"prim":"unit","annots":["%result1"]},{"prim":"or","args":[{"prim":"unit","annots":["%result2"]},{"prim":"unit","annots":["%ok"]}]}]}]},{"prim":"or","args":[{"prim":"nat","annots":["%cancel"]},{"prim":"or","args":[{"prim":"address","annots":["%setAuth"]},{"prim":"or","args":[{"prim":"unit","annots":["%confirmAuth"]},{"prim":"or","args":[{"prim":"address","annots":["%setCollector"]},{"prim":"unit","annots":["%free"]}]}]}]}]}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","annots":["%entries"],"args":[{"prim":"nat"},{"prim":"or","annots":["%progress"],"args":[{"prim":"unit","annots":["%waiting01"]},{"prim":"or","args":[{"prim":"unit","annots":["%waiting02"]},{"prim":"or","args":[{"prim":"address","annots":["%p1"]},{"prim":"or","args":[{"prim":"address","annots":["%p2"]},{"prim":"or","args":[{"prim":"pair","annots":["%finished"],"args":[{"prim":"address","annots":["%bob"]},{"prim":"or","annots":["%result"],"args":[{"prim":"unit","annots":["%result1"]},{"prim":"or","args":[{"prim":"unit","annots":["%result2"]},{"prim":"unit","annots":["%ok"]}]}]}]},{"prim":"option","annots":["%cancelled"],"args":[{"prim":"address"}]}]}]}]}]}]}]},{"prim":"pair","args":[{"prim":"address","annots":["%alice"]},{"prim":"pair","args":[{"prim":"address","annots":["%caleb"]},{"prim":"pair","args":[{"prim":"address","annots":["%dodge"]},{"prim":"pair","args":[{"prim":"nat","annots":["%count"]},{"prim":"bool","annots":["%free"]}]}]}]}]}]}]},{"prim":"code","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"string":"XTZ_RECEIVED"}]}]]}]`)
6
+ };
@@ -0,0 +1,86 @@
1
+
2
+ import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils';
3
+ import { address, BigMap, mutez, nat, unit } from './type-aliases';
4
+
5
+ type Storage = {
6
+ entries: BigMap<nat, (
7
+ { waiting01: unit }
8
+ | { waiting02: unit }
9
+ | { p1: address }
10
+ | { p2: address }
11
+ | {
12
+ finished: {
13
+ bob: address;
14
+ result: (
15
+ { result1: unit }
16
+ | { result2: unit }
17
+ | { ok: unit }
18
+ );
19
+ }
20
+ }
21
+ | { cancelled?: address }
22
+ )>;
23
+ alice: address;
24
+ caleb: address;
25
+ dodge: address;
26
+ count: nat;
27
+ free: boolean;
28
+ };
29
+
30
+ type Methods = {
31
+ make: (
32
+ id: nat,
33
+ p1: address,
34
+ fee: mutez,
35
+ otherFee?: mutez,
36
+ ) => Promise<void>;
37
+ join: (param: nat) => Promise<void>;
38
+ register2: (
39
+ id: nat,
40
+ p2: address,
41
+ ) => Promise<void>;
42
+ accept: (
43
+ id: nat,
44
+ result: (
45
+ { result1: unit }
46
+ | { result2: unit }
47
+ | { ok: unit }
48
+ ),
49
+ ) => Promise<void>;
50
+ cancel: (param: nat) => Promise<void>;
51
+ setAuth: (param: address) => Promise<void>;
52
+ confirmAuth: () => Promise<void>;
53
+ setCollector: (param: address) => Promise<void>;
54
+ free: () => Promise<void>;
55
+ };
56
+
57
+ type MethodsObject = {
58
+ make: (params: {
59
+ id: nat,
60
+ p1: address,
61
+ fee: mutez,
62
+ otherFee?: mutez,
63
+ }) => Promise<void>;
64
+ join: (param: nat) => Promise<void>;
65
+ register2: (params: {
66
+ id: nat,
67
+ p2: address,
68
+ }) => Promise<void>;
69
+ accept: (params: {
70
+ id: nat,
71
+ result: (
72
+ { result1: unit }
73
+ | { result2: unit }
74
+ | { ok: unit }
75
+ ),
76
+ }) => Promise<void>;
77
+ cancel: (param: nat) => Promise<void>;
78
+ setAuth: (param: address) => Promise<void>;
79
+ confirmAuth: () => Promise<void>;
80
+ setCollector: (param: address) => Promise<void>;
81
+ free: () => Promise<void>;
82
+ };
83
+
84
+ type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'ExampleContract8Code', protocol: string, code: object[] } };
85
+ export type ExampleContract8ContractType = ContractAbstractionFromContractType<contractTypes>;
86
+ export type ExampleContract8WalletType = WalletContractAbstractionFromContractType<contractTypes>;
@@ -0,0 +1,6 @@
1
+
2
+ export const ExampleContract9Code: { __type: 'ExampleContract9Code', protocol: string, code: object[] } = {
3
+ __type: 'ExampleContract9Code',
4
+ protocol: 'PsDELPH1Kxsxt8f9eWbxQeRxkjfbxoqM52jvs5Y5fBxWWh4ifpo',
5
+ code: JSON.parse(`[{"prim":"parameter","args":[{"prim":"or","args":[{"prim":"or","args":[{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]}]}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"address"}]},{"prim":"contract","args":[{"prim":"nat"}]}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"contract","args":[{"prim":"nat"}]}]}]}]}]},{"prim":"or","args":[{"prim":"or","args":[{"prim":"pair","args":[{"prim":"unit"},{"prim":"contract","args":[{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"bool"},{"prim":"address"}]}]},{"prim":"or","args":[{"prim":"or","args":[{"prim":"pair","args":[{"prim":"unit"},{"prim":"contract","args":[{"prim":"address"}]}]},{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]}]},{"prim":"or","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"nat"}]},{"prim":"address"}]}]}]}]}]},{"prim":"storage","args":[{"prim":"pair","args":[{"prim":"big_map","args":[{"prim":"address"},{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"address"},{"prim":"nat"}]}]}]},{"prim":"pair","args":[{"prim":"pair","args":[{"prim":"address"},{"prim":"bool"}]},{"prim":"pair","args":[{"prim":"nat"},{"prim":"or","args":[{"prim":"address"},{"prim":"address"}]}]}]}]}]},{"prim":"code","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"IF_LEFT","args":[[{"prim":"IF_LEFT","args":[[{"prim":"IF_LEFT","args":[[{"prim":"SENDER"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CDR"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"OperationsArePaused"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]}]]},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"PAIR"},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"CDR"}]]}]]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughAllowance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]}]]},{"prim":"SWAP"}]]},{"prim":"PAIR"}]]},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DROP"},{"prim":"DROP"},{"prim":"DROP"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DIP","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}]]},{"prim":"PAIR"},{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"DUP"},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"nat"}]}],[{"prim":"SOME"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"NONE","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"address"},{"prim":"nat"}]}]}]}],[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}]]},{"prim":"PAIR"},{"prim":"SOME"}]]}],[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SOME"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"CDR"},{"prim":"INT"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"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"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"CDR"},{"prim":"CDR"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughBalance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]},{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughBalance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"SIZE"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"address"},{"prim":"nat"}]}]}]}],[{"prim":"SOME"}]]}],[{"prim":"SOME"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"CDR"},{"prim":"NEG"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"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"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DROP"}]]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}],[{"prim":"IF_LEFT","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"IF_LEFT","args":[[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"ProxyIsNotSet"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}],[{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"CallerIsNotProxy"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CDR"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"OperationsArePaused"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]}]]},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"PAIR"},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"CDR"}]]}]]},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughAllowance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]}]]},{"prim":"SWAP"}]]},{"prim":"PAIR"}]]},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DROP"},{"prim":"DROP"},{"prim":"DROP"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DIP","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}]]},{"prim":"PAIR"},{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"DUP"},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"nat"}]}],[{"prim":"SOME"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"NONE","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"address"},{"prim":"nat"}]}]}]}],[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}]]},{"prim":"PAIR"},{"prim":"SOME"}]]}],[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SOME"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"CDR"},{"prim":"INT"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"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"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"CDR"},{"prim":"CDR"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughBalance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]},{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughBalance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"SIZE"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"address"},{"prim":"nat"}]}]}]}],[{"prim":"SOME"}]]}],[{"prim":"SOME"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"CDR"},{"prim":"NEG"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"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"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DROP"}]]},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}],[{"prim":"SENDER"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CDR"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"OperationsArePaused"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"CDR"}]]}]]},{"prim":"CDR"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]},{"prim":"DUP"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"UnsafeAllowanceChange"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DIP","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}]]},{"prim":"PAIR"},{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"DUP"},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"nat"}]}],[{"prim":"SOME"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]}]]}],[{"prim":"IF_LEFT","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"IF_LEFT","args":[[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"ProxyIsNotSet"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}],[{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"CallerIsNotProxy"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CDR"},{"prim":"IF","args":[[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"OperationsArePaused"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}],[]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"CDR"}]]}]]},{"prim":"CDR"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]},{"prim":"DUP"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"}],[{"prim":"PUSH","args":[{"prim":"string"},{"string":"UnsafeAllowanceChange"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"SWAP"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"DIP","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}]]},{"prim":"PAIR"},{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"DUP"},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"nat"}]}],[{"prim":"SOME"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"SOME"},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}],[{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"PAIR"},{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}],[{"prim":"CDR"}]]}]]},{"prim":"CDR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[]]},{"prim":"DIP","args":[[{"prim":"AMOUNT"}]]},{"prim":"TRANSFER_TOKENS"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"SWAP"},{"prim":"CONS"},{"prim":"PAIR"}],[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"PAIR"},{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]}],[{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"AMOUNT"}]]},{"prim":"TRANSFER_TOKENS"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"SWAP"},{"prim":"CONS"},{"prim":"PAIR"}]]}]]}]]}],[{"prim":"IF_LEFT","args":[[{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"PAIR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"AMOUNT"}]]},{"prim":"TRANSFER_TOKENS"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"SWAP"},{"prim":"CONS"},{"prim":"PAIR"}],[{"prim":"IF_LEFT","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"SenderIsNotAdmin"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}],[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"SenderIsNotAdmin"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]}]]}],[{"prim":"IF_LEFT","args":[[{"prim":"IF_LEFT","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"PAIR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"AMOUNT"}]]},{"prim":"TRANSFER_TOKENS"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"SWAP"},{"prim":"CONS"},{"prim":"PAIR"}],[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"SenderIsNotAdmin"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"NONE","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"address"},{"prim":"nat"}]}]}]}],[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"EMPTY_MAP","args":[{"prim":"address"},{"prim":"nat"}]}]]},{"prim":"PAIR"},{"prim":"SOME"}]]}],[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SOME"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"INT"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"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"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DROP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]}],[{"prim":"IF_LEFT","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"},{"prim":"CAR"},{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"SenderIsNotAdmin"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}]]},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"GET"},{"prim":"IF_NONE","args":[[{"prim":"CDR"},{"prim":"PUSH","args":[{"prim":"nat"},{"int":"0"}]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughBalance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]},{"prim":"DUP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"SWAP"},{"prim":"SUB"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"CDR"},{"prim":"PAIR"},{"prim":"PUSH","args":[{"prim":"string"},{"string":"NotEnoughBalance"}]},{"prim":"PAIR"},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"}]]},{"prim":"SWAP"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"SIZE"},{"prim":"INT"},{"prim":"EQ"},{"prim":"IF","args":[[{"prim":"DROP"},{"prim":"NONE","args":[{"prim":"pair","args":[{"prim":"nat"},{"prim":"map","args":[{"prim":"address"},{"prim":"nat"}]}]}]}],[{"prim":"SOME"}]]}],[{"prim":"SOME"}]]},{"prim":"SWAP"},{"prim":"CAR"},{"prim":"DIP","args":[[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CAR"}]]}]]},{"prim":"UPDATE"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"}]]},{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"},{"prim":"NEG"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"DUP"},{"prim":"CDR"},{"prim":"CAR"}]]},{"prim":"ADD"},{"prim":"ISNAT"},{"prim":"IF_NONE","args":[[{"prim":"PUSH","args":[{"prim":"string"},{"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"}]},{"prim":"FAILWITH"}],[]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CDR"}]]},{"prim":"CAR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"}]]},{"prim":"DROP"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}],[{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"CDR"},{"prim":"IF_LEFT","args":[[{"prim":"SENDER"},{"prim":"COMPARE"},{"prim":"EQ"},{"prim":"IF","args":[[],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"NotAllowedToSetProxy"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}],[{"prim":"PUSH","args":[{"prim":"pair","args":[{"prim":"string"},{"prim":"unit"}]},{"prim":"Pair","args":[{"string":"ProxyAlreadySet"},{"prim":"Unit"}]}]},{"prim":"FAILWITH"}]]}]]},{"prim":"RIGHT","args":[{"prim":"address"}]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"DIP","args":[[{"prim":"DUP"},{"prim":"DIP","args":[[{"prim":"CAR"}]]},{"prim":"CDR"}]]},{"prim":"DIP","args":[[{"prim":"DROP"}]]},{"prim":"SWAP"},{"prim":"PAIR"},{"prim":"NIL","args":[{"prim":"operation"}]},{"prim":"PAIR"}]]}]]}]]}]]}]]}]`)
6
+ };
@@ -0,0 +1,29 @@
1
+
2
+ import { ContractAbstractionFromContractType, WalletContractAbstractionFromContractType } from './type-utils';
3
+ import { address, BigMap, MMap, nat } from './type-aliases';
4
+
5
+ type Storage = {
6
+ 0: BigMap<address, {
7
+ 0: nat;
8
+ 1: MMap<address, nat>;
9
+ }>;
10
+ 1: address;
11
+ 2: boolean;
12
+ 3: nat;
13
+ 4: (
14
+ { 0: address }
15
+ | { 1: address }
16
+ );
17
+ };
18
+
19
+ type Methods = {
20
+
21
+ };
22
+
23
+ type MethodsObject = {
24
+
25
+ };
26
+
27
+ type contractTypes = { methods: Methods, methodsObject: MethodsObject, storage: Storage, code: { __type: 'ExampleContract9Code', protocol: string, code: object[] } };
28
+ export type ExampleContract9ContractType = ContractAbstractionFromContractType<contractTypes>;
29
+ export type ExampleContract9WalletType = WalletContractAbstractionFromContractType<contractTypes>;
@@ -0,0 +1,81 @@
1
+
2
+ import { BigNumber } from 'bignumber.js';
3
+ import { MichelsonMap } from '@taquito/taquito';
4
+
5
+ export type unit = (true | undefined) & { __type: 'unit' };
6
+
7
+ export type address = string & { __type: 'address' };
8
+ export type bytes = string & { __type: 'bytes' };
9
+ export type contract = string & { __type: 'contract' };
10
+ export type operation = string & { __type: 'operation' };
11
+ export type key = string & { __type: 'key' };
12
+ export type key_hash = string & { __type: 'key_hash' };
13
+ export type signature = string & { __type: 'signature' };
14
+ export type ticket = string & { __type: 'ticket' };
15
+
16
+ export type timestamp = string & { __type: 'timestamp' };
17
+
18
+ export type int = BigNumber & { __type: 'int' };
19
+ export type nat = BigNumber & { __type: 'nat' };
20
+
21
+ export type mutez = BigNumber & { __type: 'mutez' };
22
+ export type tez = BigNumber & { __type: 'tez' };
23
+
24
+ export type MMap<K, V> = Omit<MichelsonMap<K, V>, 'get'> & { get: (key: K) => V };
25
+ export type BigMap<K, V> = Omit<MichelsonMap<K, V>, 'get'> & { get: (key: K) => Promise<V> };
26
+
27
+
28
+ const createStringTypeTas = <T extends string>() => {
29
+ return (value: string): T => value as T;
30
+ };
31
+
32
+ const createBigNumberTypeTas = <T extends BigNumber>() => {
33
+ return (value: number | BigNumber | string): T => new BigNumber(value) as T;
34
+ };
35
+
36
+ type asMapParamOf<K, V> = K extends string ? { [key: string]: V } | Array<{ key: K, value: V }>
37
+ : K extends number ? { [key: number]: V } | Array<{ key: K, value: V }>
38
+ : Array<{ key: K, value: V }>;
39
+
40
+ function asMap<K, V>(value: asMapParamOf<K, V>): MMap<K, V> {
41
+ const m = new MichelsonMap<K, V>();
42
+ if (Array.isArray(value)) {
43
+ const vArray = value as Array<{ key: K, value: V }>;
44
+ vArray.forEach(x => m.set(x.key, x.value));
45
+ } else {
46
+ const vObject = value as { [key: string]: V };
47
+ Object.keys(vObject).forEach(key => m.set(key as unknown as K, vObject[key]));
48
+ }
49
+ return m as MMap<K, V>;
50
+ }
51
+ const asBigMap = <K, V>(value: asMapParamOf<K, V>) => asMap(value) as unknown as BigMap<K, V>;
52
+
53
+ function add<T extends BigNumber>(a: T, b: T): T {
54
+ return a.plus(b) as T;
55
+ }
56
+ function subtract<T extends BigNumber>(a: T, b: T): T {
57
+ return a.minus(b) as T;
58
+ }
59
+
60
+ /** tas: Tezos 'as' casting for strict types */
61
+ export const tas = {
62
+ address: createStringTypeTas<address>(),
63
+ bytes: createStringTypeTas<bytes>(),
64
+ contract: createStringTypeTas<contract>(),
65
+ timestamp: (value: string | Date): timestamp => new Date(value).toISOString() as timestamp,
66
+
67
+ int: createBigNumberTypeTas<int>(),
68
+ nat: createBigNumberTypeTas<nat>(),
69
+ mutez: createBigNumberTypeTas<mutez>(),
70
+ tez: createBigNumberTypeTas<tez>(),
71
+
72
+ map: asMap,
73
+ bigMap: asBigMap,
74
+
75
+ // Operations
76
+ add,
77
+ subtract,
78
+
79
+ // To number
80
+ number: (value: string | BigNumber) => Number(value + ''),
81
+ };
@@ -0,0 +1,36 @@
1
+
2
+ import { ContractAbstraction, ContractMethod, ContractMethodObject, ContractProvider, Wallet } from '@taquito/taquito';
3
+
4
+ type BaseContractType = { methods: unknown, methodsObject: unknown, storage: unknown };
5
+
6
+ type ContractMethodsOf<T extends ContractProvider | Wallet, TContract extends BaseContractType> = {
7
+ [M in keyof TContract['methods']]:
8
+ TContract['methods'][M] extends (...args: infer A) => unknown
9
+ ? (...args: A) => ContractMethod<T>
10
+ : never
11
+ };
12
+ type ContractMethodsObjectsOf<T extends ContractProvider | Wallet, TContract extends BaseContractType> = {
13
+ [M in keyof TContract['methodsObject']]:
14
+ TContract['methodsObject'][M] extends (...args: infer A) => unknown
15
+ ? (...args: A) => ContractMethodObject<T>
16
+ : never
17
+ };
18
+ type ContractStorageOf<TContract extends BaseContractType> = TContract['storage'];
19
+
20
+ export type ContractAbstractionFromContractType<TContract extends BaseContractType> =
21
+ ContractAbstraction<ContractProvider,
22
+ ContractMethodsOf<ContractProvider, TContract>,
23
+ ContractMethodsObjectsOf<ContractProvider, TContract>,
24
+ {},
25
+ {},
26
+ ContractStorageOf<TContract>
27
+ >;
28
+
29
+ export type WalletContractAbstractionFromContractType<TContract extends BaseContractType> =
30
+ ContractAbstraction<Wallet,
31
+ ContractMethodsOf<Wallet, TContract>,
32
+ ContractMethodsObjectsOf<Wallet, TContract>,
33
+ {},
34
+ {},
35
+ ContractStorageOf<TContract>
36
+ >;