@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.
- package/Readme.md +212 -0
- package/example/contracts/example-contract-1.tz +1409 -0
- package/example/contracts/example-contract-2.tz +798 -0
- package/example/contracts/example-contract-3.json +7080 -0
- package/example/contracts/example-contract-4.tz +1374 -0
- package/example/contracts/example-contract-5.tz +1424 -0
- package/example/contracts/example-contract-6.tz +675 -0
- package/example/contracts/example-contract-7.tz +384 -0
- package/example/contracts/example-contract-8.tz +28 -0
- package/example/contracts/example-contract-9.tz +1010 -0
- package/example/example-usage-type-utilities.ts +35 -0
- package/example/example-usage.ts +410 -0
- package/example/types-file/example-contract-1.code.ts +6 -0
- package/example/types-file/example-contract-1.types.ts +87 -0
- package/example/types-file/example-contract-2.code.ts +6 -0
- package/example/types-file/example-contract-2.types.ts +122 -0
- package/example/types-file/example-contract-4.code.ts +6 -0
- package/example/types-file/example-contract-4.types.ts +97 -0
- package/example/types-file/example-contract-5.code.ts +6 -0
- package/example/types-file/example-contract-5.types.ts +173 -0
- package/example/types-file/example-contract-6.code.ts +6 -0
- package/example/types-file/example-contract-6.types.ts +122 -0
- package/example/types-file/example-contract-7.code.ts +6 -0
- package/example/types-file/example-contract-7.types.ts +78 -0
- package/example/types-file/example-contract-8.code.ts +6 -0
- package/example/types-file/example-contract-8.types.ts +86 -0
- package/example/types-file/example-contract-9.code.ts +6 -0
- package/example/types-file/example-contract-9.types.ts +29 -0
- package/example/types-file/type-aliases.ts +81 -0
- package/example/types-file/type-utils.ts +36 -0
- package/index.js +969 -0
- package/index.js.map +1 -0
- package/index.ts +32 -0
- package/package.json +55 -0
- package/run.ts +3 -0
- package/src/cli-process.ts +111 -0
- package/src/cli.ts +34 -0
- package/src/generator/common.ts +21 -0
- package/src/generator/contract-name.ts +6 -0
- package/src/generator/contract-parser.ts +358 -0
- package/src/generator/process.ts +66 -0
- package/src/generator/schema-output.ts +54 -0
- package/src/generator/typescript-output.ts +239 -0
- package/src/taquito-contract-type-generator.ts +4 -0
- package/src/type-aliases-file-content.ts +83 -0
- package/src/type-aliases.ts +80 -0
- package/src/type-utils-file-content.ts +38 -0
- package/src/type-utils.ts +35 -0
- package/tasks.ts +127 -0
- package/test/generator.spec.ts +69 -0
- 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
|
+
>;
|