@kontor/kontor-sdk 1.0.0-alpha.23 → 1.0.0-alpha.26
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/dist/cjs/sdk/contracts/wits.js +1 -3
- package/dist/cjs/sdk/contracts/wits.js.map +1 -1
- package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js +2 -2
- package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/exports/index.js +1 -0
- package/dist/esm/exports/index.js.map +1 -1
- package/dist/esm/sdk/contracts/wits.js +1 -4
- package/dist/esm/sdk/contracts/wits.js.map +1 -1
- package/dist/esm/sdk/utils/wit/decode-wit-parameter.js +2 -2
- package/dist/esm/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/exports/index.d.ts +1 -0
- package/dist/types/exports/index.d.ts.map +1 -1
- package/dist/types/sdk/contracts/wits.d.ts +1 -1
- package/dist/types/sdk/contracts/wits.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/core/types/utils.d.ts +2 -0
- package/dist/types/wit/wit-parser/core/types/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/exports/index.ts +2 -0
- package/src/sdk/contracts/wits.ts +1 -5
- package/src/sdk/types/contract.test-d.ts +21 -95
- package/src/sdk/utils/wit/decode-wit-parameter.ts +2 -2
- package/src/sdk/utils/wit/encode-function-data.test-d.ts +4 -6
- package/src/sdk/utils/wit/encode-function-data.test.ts +3 -47
- package/src/wit/wit-parser/core/types/records.test-d.ts +3 -0
- package/src/wit/wit-parser/core/types/utils.test-d.ts +7 -3
- package/src/wit/wit-parser/core/types/utils.ts +6 -2
- package/src/wit/wit-parser/parse-wit.test.ts +426 -146
- package/test/src/wits.ts +0 -4
|
@@ -20,4 +20,5 @@ export { buildComposeQuery, type BuildComposeQueryParameters, type BuildComposeQ
|
|
|
20
20
|
export { inspect, type InspectParameters, type InspectReturnType, } from "../sdk/actions/kontor/public/inspect.js";
|
|
21
21
|
export type { ContractFunctionName, ContractFunctionArgs, ContractFunctionReturnType, WitItemName, } from "../sdk/types/contract.js";
|
|
22
22
|
export { decodeFunctionResult } from "../sdk/utils/wit/decode-function-result.js";
|
|
23
|
+
export { type ExtractWitFunction } from "../wit/utils.js";
|
|
23
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EACL,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,MAAM,GACP,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,IAAI,GACL,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,qBAAqB,EACrB,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,GACrC,MAAM,yDAAyD,CAAC;AAEjE,OAAO,EACL,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EACL,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,KAAK,QAAQ,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EACL,UAAU,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,MAAM,GACP,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,IAAI,GACL,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iCAAiC,EACtC,kBAAkB,IAAI,wBAAwB,GAC/C,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,2BAA2B,EAChC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,qBAAqB,EACrB,KAAK,+BAA+B,EACpC,KAAK,+BAA+B,GACrC,MAAM,yDAAyD,CAAC;AAEjE,OAAO,EACL,iBAAiB,EACjB,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,GACjC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,EACL,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,yCAAyC,CAAC;AAEjD,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAElF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -5,7 +5,7 @@ type ContractExport<signatures extends readonly string[]> = {
|
|
|
5
5
|
wit: ParseWit<signatures>;
|
|
6
6
|
address: ResolvedRegister["contractAddress"];
|
|
7
7
|
};
|
|
8
|
-
declare const nativeTokenRaw: readonly ["record balance { acc: string, amt: decimal }", "record transfer { src: string, dst: string, amt: decimal }", "record burn { src: string, amt: decimal }", "record mint { dst: string, amt: decimal }", "export
|
|
8
|
+
declare const nativeTokenRaw: readonly ["record balance { acc: string, amt: decimal }", "record transfer { src: string, dst: string, amt: decimal }", "record burn { src: string, amt: decimal }", "record mint { dst: string, amt: decimal }", "export init: func(ctx: borrow<proc-context>);", "export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;", "export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;", "export transfer: func(ctx: borrow<proc-context>, dst: string, amt: decimal) -> result<transfer, error>;", "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;", "export balances: func(ctx: borrow<view-context>) -> list<balance>;", "export total-supply: func(ctx: borrow<view-context>) -> decimal;", "export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;", "export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;"];
|
|
9
9
|
export declare const nativeToken: ContractExport<typeof nativeTokenRaw>;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=wits.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wits.d.ts","sourceRoot":"","sources":["../../../../src/sdk/contracts/wits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE5E,KAAK,cAAc,CAAC,UAAU,SAAS,SAAS,MAAM,EAAE,IAAI;IAC1D,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"wits.d.ts","sourceRoot":"","sources":["../../../../src/sdk/contracts/wits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE5E,KAAK,cAAc,CAAC,UAAU,SAAS,SAAS,MAAM,EAAE,IAAI;IAC1D,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CAC9C,CAAC;AAEF,QAAA,MAAM,cAAc,86BAcV,CAAC;AAIX,eAAO,MAAM,WAAW,EAAE,cAAc,CAAC,OAAO,cAAc,CAI7D,CAAC"}
|
|
@@ -48,10 +48,12 @@ type MapGenericType<T extends string, Opts extends ParseOptions> = T extends `li
|
|
|
48
48
|
type: string;
|
|
49
49
|
} ? Readonlyify<{
|
|
50
50
|
type: `list<${M["type"]}>`;
|
|
51
|
+
internalType: T;
|
|
51
52
|
} & GetComponents<M>> : never : T extends `option<${infer U}>` ? MapGenericType<Trim<U>, Opts> extends infer M extends {
|
|
52
53
|
type: string;
|
|
53
54
|
} ? Readonlyify<{
|
|
54
55
|
type: `option<${M["type"]}>`;
|
|
56
|
+
internalType: T;
|
|
55
57
|
} & GetComponents<M>> : never : T extends `result<${infer Inner}>` ? SplitResultInner<Trim<Inner>> extends [
|
|
56
58
|
infer LRaw extends string,
|
|
57
59
|
infer RRaw extends string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/types/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/types/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/exports/index.ts
CHANGED
|
@@ -12,10 +12,6 @@ const nativeTokenRaw = [
|
|
|
12
12
|
"record transfer { src: string, dst: string, amt: decimal }",
|
|
13
13
|
"record burn { src: string, amt: decimal }",
|
|
14
14
|
"record mint { dst: string, amt: decimal }",
|
|
15
|
-
|
|
16
|
-
"export issuance: func(ctx: borrow<core-context>, amt: decimal) -> result<mint, error>;",
|
|
17
|
-
"export hold: func(ctx: borrow<core-context>, amt: decimal) -> result<transfer, error>;",
|
|
18
|
-
"export release: func(ctx: borrow<core-context>, burn-amt: decimal) -> result<burn, error>;",
|
|
19
15
|
"export init: func(ctx: borrow<proc-context>);",
|
|
20
16
|
"export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;",
|
|
21
17
|
"export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;",
|
|
@@ -23,7 +19,7 @@ const nativeTokenRaw = [
|
|
|
23
19
|
"export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
|
|
24
20
|
"export balances: func(ctx: borrow<view-context>) -> list<balance>;",
|
|
25
21
|
"export total-supply: func(ctx: borrow<view-context>) -> decimal;",
|
|
26
|
-
|
|
22
|
+
"export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;",
|
|
27
23
|
"export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;",
|
|
28
24
|
] as const;
|
|
29
25
|
|
|
@@ -11,46 +11,26 @@ const nativeToken = nativeToken_.wit;
|
|
|
11
11
|
test("ContractFunctionName", () => {
|
|
12
12
|
type All = ContractFunctionName<typeof nativeToken>;
|
|
13
13
|
expectTypeOf<All>().toEqualTypeOf<
|
|
14
|
-
| "issuance"
|
|
15
|
-
| "hold"
|
|
16
|
-
| "release"
|
|
17
|
-
// | "init" // init is not valid
|
|
18
14
|
| "mint"
|
|
19
15
|
| "burn"
|
|
20
16
|
| "transfer"
|
|
21
17
|
| "balance"
|
|
22
18
|
| "balances"
|
|
23
19
|
| "total-supply"
|
|
24
|
-
|
|
20
|
+
| "attach"
|
|
25
21
|
| "detach"
|
|
26
22
|
>;
|
|
27
23
|
|
|
28
|
-
type Core = ContractFunctionName<typeof nativeToken, "core">;
|
|
29
|
-
expectTypeOf<Core>().toEqualTypeOf<"issuance" | "hold" | "release">;
|
|
30
|
-
|
|
31
24
|
type View = ContractFunctionName<typeof nativeToken, "view">;
|
|
32
25
|
expectTypeOf<View>().toEqualTypeOf<"balance" | "balances" | "total-supply">;
|
|
33
26
|
|
|
34
27
|
type Proc = ContractFunctionName<typeof nativeToken, "proc">;
|
|
35
28
|
expectTypeOf<Proc>().toEqualTypeOf<
|
|
36
|
-
| "
|
|
37
|
-
| "burn"
|
|
38
|
-
| "transfer"
|
|
39
|
-
//| "attach"
|
|
40
|
-
| "detach"
|
|
29
|
+
"mint" | "burn" | "transfer" | "attach" | "detach"
|
|
41
30
|
>;
|
|
42
31
|
});
|
|
43
32
|
|
|
44
33
|
test("ContractFunctionArgs", () => {
|
|
45
|
-
type Issuance = ContractFunctionArgs<typeof nativeToken, "core", "issuance">;
|
|
46
|
-
expectTypeOf<Issuance>().toEqualTypeOf<readonly [[bigint, number]]>;
|
|
47
|
-
|
|
48
|
-
type Hold = ContractFunctionArgs<typeof nativeToken, "core", "hold">;
|
|
49
|
-
expectTypeOf<Hold>().toEqualTypeOf<readonly [[bigint, number]]>;
|
|
50
|
-
|
|
51
|
-
type Release = ContractFunctionArgs<typeof nativeToken, "core", "release">;
|
|
52
|
-
expectTypeOf<Release>().toEqualTypeOf<readonly [[bigint, number]]>;
|
|
53
|
-
|
|
54
34
|
type Mint = ContractFunctionArgs<typeof nativeToken, "proc", "mint">;
|
|
55
35
|
expectTypeOf<Mint>().toEqualTypeOf<readonly [[bigint, number]]>;
|
|
56
36
|
|
|
@@ -81,60 +61,6 @@ test("ContractFunctionArgs", () => {
|
|
|
81
61
|
});
|
|
82
62
|
|
|
83
63
|
test("ContractFunctionReturnType", () => {
|
|
84
|
-
type Issuance = ContractFunctionReturnType<
|
|
85
|
-
typeof nativeToken,
|
|
86
|
-
"core",
|
|
87
|
-
"issuance"
|
|
88
|
-
>;
|
|
89
|
-
expectTypeOf<Issuance>().toEqualTypeOf<
|
|
90
|
-
| {
|
|
91
|
-
ok: false;
|
|
92
|
-
error: string;
|
|
93
|
-
}
|
|
94
|
-
| {
|
|
95
|
-
ok: true;
|
|
96
|
-
value: {
|
|
97
|
-
dst: string;
|
|
98
|
-
amt: [bigint, number];
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
>;
|
|
102
|
-
|
|
103
|
-
type Hold = ContractFunctionReturnType<typeof nativeToken, "core", "hold">;
|
|
104
|
-
expectTypeOf<Hold>().toEqualTypeOf<
|
|
105
|
-
| {
|
|
106
|
-
ok: false;
|
|
107
|
-
error: string;
|
|
108
|
-
}
|
|
109
|
-
| {
|
|
110
|
-
ok: true;
|
|
111
|
-
value: {
|
|
112
|
-
src: string;
|
|
113
|
-
dst: string;
|
|
114
|
-
amt: [bigint, number];
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
>;
|
|
118
|
-
|
|
119
|
-
type Release = ContractFunctionReturnType<
|
|
120
|
-
typeof nativeToken,
|
|
121
|
-
"core",
|
|
122
|
-
"release"
|
|
123
|
-
>;
|
|
124
|
-
expectTypeOf<Release>().toEqualTypeOf<
|
|
125
|
-
| {
|
|
126
|
-
ok: false;
|
|
127
|
-
error: string;
|
|
128
|
-
}
|
|
129
|
-
| {
|
|
130
|
-
ok: true;
|
|
131
|
-
value: {
|
|
132
|
-
src: string;
|
|
133
|
-
amt: [bigint, number];
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
>;
|
|
137
|
-
|
|
138
64
|
type Mint = ContractFunctionReturnType<typeof nativeToken, "proc", "mint">;
|
|
139
65
|
expectTypeOf<Mint>().toEqualTypeOf<
|
|
140
66
|
| {
|
|
@@ -214,25 +140,25 @@ test("ContractFunctionReturnType", () => {
|
|
|
214
140
|
>;
|
|
215
141
|
expectTypeOf<TotalSupply>().toEqualTypeOf<[bigint, number]>;
|
|
216
142
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
143
|
+
type Attach = ContractFunctionReturnType<
|
|
144
|
+
typeof nativeToken,
|
|
145
|
+
"proc",
|
|
146
|
+
"attach"
|
|
147
|
+
>;
|
|
148
|
+
expectTypeOf<Attach>().toEqualTypeOf<
|
|
149
|
+
| {
|
|
150
|
+
ok: false;
|
|
151
|
+
error: string;
|
|
152
|
+
}
|
|
153
|
+
| {
|
|
154
|
+
ok: true;
|
|
155
|
+
value: {
|
|
156
|
+
src: string;
|
|
157
|
+
dst: string;
|
|
158
|
+
amt: [bigint, number];
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
>;
|
|
236
162
|
|
|
237
163
|
type Detach = ContractFunctionReturnType<
|
|
238
164
|
typeof nativeToken,
|
|
@@ -87,6 +87,8 @@ function decoderForParam(p: WitParameter) {
|
|
|
87
87
|
return listOfDecimalDecoder;
|
|
88
88
|
case "list<tuple>":
|
|
89
89
|
return listOfTupleDecoder(p);
|
|
90
|
+
case "u64":
|
|
91
|
+
return u64Decoder;
|
|
90
92
|
|
|
91
93
|
case "error":
|
|
92
94
|
case "contract-address":
|
|
@@ -98,8 +100,6 @@ function decoderForParam(p: WitParameter) {
|
|
|
98
100
|
case "u8":
|
|
99
101
|
case "u16":
|
|
100
102
|
case "u32":
|
|
101
|
-
case "u64":
|
|
102
|
-
return u64Decoder;
|
|
103
103
|
case "integer":
|
|
104
104
|
case "option<string>":
|
|
105
105
|
case "option<bool>":
|
|
@@ -34,18 +34,16 @@ test("native token", () => {
|
|
|
34
34
|
type P = EncodeFunctionDataParameters<typeof nativeToken.wit>;
|
|
35
35
|
|
|
36
36
|
expectTypeOf<P["functionName"]>().not.toEqualTypeOf<undefined>();
|
|
37
|
-
|
|
38
37
|
expectTypeOf<P["functionName"]>().toEqualTypeOf<
|
|
39
|
-
| "mint"
|
|
40
|
-
| "issuance"
|
|
41
38
|
| "balance"
|
|
42
39
|
| "transfer"
|
|
43
40
|
| "burn"
|
|
44
|
-
| "
|
|
45
|
-
| "release"
|
|
41
|
+
| "mint"
|
|
46
42
|
| "balances"
|
|
47
43
|
| "total-supply"
|
|
44
|
+
| "attach"
|
|
48
45
|
| "detach"
|
|
49
|
-
// | "attach" // TODO: need to handle attach parsing
|
|
50
46
|
>();
|
|
47
|
+
|
|
48
|
+
// TODO: fill out tests
|
|
51
49
|
});
|
|
@@ -2,55 +2,11 @@ import { expect, test } from "vitest";
|
|
|
2
2
|
import { encodeFunctionData } from "./encode-function-data.js";
|
|
3
3
|
import { parseWit } from "../../../wit/wit-parser/parse-wit.js";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
"record balance { acc: string, amt: decimal }",
|
|
7
|
-
"record transfer { src: string, dst: string, amt: decimal }",
|
|
8
|
-
"record burn { src: string, amt: decimal }",
|
|
9
|
-
"record mint { dst: string, amt: decimal }",
|
|
10
|
-
"export issuance: func(ctx: borrow<core-context>, amt: decimal) -> result<mint, error>;",
|
|
11
|
-
"export hold: func(ctx: borrow<core-context>, amt: decimal) -> result<transfer, error>;",
|
|
12
|
-
"export release: func(ctx: borrow<core-context>, burn-amt: decimal) -> result<burn, error>;",
|
|
13
|
-
"export init: func(ctx: borrow<proc-context>);",
|
|
14
|
-
"export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;",
|
|
15
|
-
"export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;",
|
|
16
|
-
"export transfer: func(ctx: borrow<proc-context>, dst: string, amt: decimal) -> result<transfer, error>;",
|
|
17
|
-
"export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
|
|
18
|
-
"export balances: func(ctx: borrow<view-context>) -> list<balance>;",
|
|
19
|
-
"export total-supply: func(ctx: borrow<view-context>) -> decimal;",
|
|
20
|
-
"export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;",
|
|
21
|
-
"export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;",
|
|
22
|
-
]);
|
|
5
|
+
import { nativeToken as nativeToken_ } from "../../../sdk/contracts/wits.js";
|
|
23
6
|
|
|
24
|
-
|
|
25
|
-
test("issuance", () => {
|
|
26
|
-
expect(
|
|
27
|
-
encodeFunctionData({
|
|
28
|
-
wit: nativeToken,
|
|
29
|
-
functionName: "issuance",
|
|
30
|
-
args: [[7n, 18]],
|
|
31
|
-
}),
|
|
32
|
-
).toEqual("issuance({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
|
|
33
|
-
});
|
|
7
|
+
export const nativeToken = parseWit(nativeToken_.raw);
|
|
34
8
|
|
|
35
|
-
|
|
36
|
-
expect(
|
|
37
|
-
encodeFunctionData({
|
|
38
|
-
wit: nativeToken,
|
|
39
|
-
functionName: "hold",
|
|
40
|
-
args: [[7n, 18]],
|
|
41
|
-
}),
|
|
42
|
-
).toEqual("hold({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
test("release", () => {
|
|
46
|
-
expect(
|
|
47
|
-
encodeFunctionData({
|
|
48
|
-
wit: nativeToken,
|
|
49
|
-
functionName: "release",
|
|
50
|
-
args: [[7n, 18]],
|
|
51
|
-
}),
|
|
52
|
-
).toEqual("release({r0: 7, r1: 0, r2: 0, r3: 0, sign: plus})");
|
|
53
|
-
});
|
|
9
|
+
//TODO: change functionName to func
|
|
54
10
|
|
|
55
11
|
test("mint", () => {
|
|
56
12
|
expect(
|
|
@@ -119,6 +119,7 @@ test("ParseRecords", () => {
|
|
|
119
119
|
{
|
|
120
120
|
readonly name: "values";
|
|
121
121
|
readonly type: "list<contract-address>";
|
|
122
|
+
readonly internalType: "list<contract-address>";
|
|
122
123
|
},
|
|
123
124
|
];
|
|
124
125
|
}>();
|
|
@@ -306,6 +307,7 @@ test("ParseRecordProperties", () => {
|
|
|
306
307
|
{
|
|
307
308
|
readonly name: "values";
|
|
308
309
|
readonly type: "list<string>";
|
|
310
|
+
readonly internalType: "list<string>";
|
|
309
311
|
},
|
|
310
312
|
]
|
|
311
313
|
>();
|
|
@@ -317,6 +319,7 @@ test("ParseRecordProperties", () => {
|
|
|
317
319
|
{
|
|
318
320
|
readonly name: "values";
|
|
319
321
|
readonly type: "list<tuple>";
|
|
322
|
+
readonly internalType: "list<contract-address>";
|
|
320
323
|
readonly components: readonly [
|
|
321
324
|
{ readonly name: "name"; readonly type: "string" },
|
|
322
325
|
{ readonly name: "height"; readonly type: "s64" },
|
|
@@ -81,11 +81,13 @@ test("ParseWitParameter", () => {
|
|
|
81
81
|
assertType<ParseWitParameter<"option-string: option<string>">>({
|
|
82
82
|
name: "option-string",
|
|
83
83
|
type: "option<string>",
|
|
84
|
+
internalType: "option<string>",
|
|
84
85
|
});
|
|
85
86
|
|
|
86
87
|
assertType<ParseWitParameter<"option-list-string: option<list<string>>">>({
|
|
87
88
|
name: "option-list-string",
|
|
88
89
|
type: "option<list<string>>",
|
|
90
|
+
internalType: "option<list<string>>",
|
|
89
91
|
});
|
|
90
92
|
|
|
91
93
|
assertType<
|
|
@@ -93,6 +95,7 @@ test("ParseWitParameter", () => {
|
|
|
93
95
|
>({
|
|
94
96
|
name: "option-list-result-string-contract-address",
|
|
95
97
|
type: "option<list<result<string, contract-address>>>",
|
|
98
|
+
internalType: "option<list<result<string, contract-address>>>",
|
|
96
99
|
});
|
|
97
100
|
|
|
98
101
|
assertType<ParseWitParameter<"contract-address">>({
|
|
@@ -163,7 +166,7 @@ test("Parse Signature", () => {
|
|
|
163
166
|
type: "contract-address",
|
|
164
167
|
internalType: "contract-address",
|
|
165
168
|
},
|
|
166
|
-
{ name: "n", type: "list<u64>" },
|
|
169
|
+
{ name: "n", type: "list<u64>", internalType: "list<u64>" },
|
|
167
170
|
],
|
|
168
171
|
outputs: [
|
|
169
172
|
{
|
|
@@ -184,7 +187,7 @@ test("Parse Signature", () => {
|
|
|
184
187
|
type: "contract-address",
|
|
185
188
|
internalType: "contract-address",
|
|
186
189
|
},
|
|
187
|
-
{ name: "n", type: "list<u64>" },
|
|
190
|
+
{ name: "n", type: "list<u64>", internalType: "list<u64>" },
|
|
188
191
|
],
|
|
189
192
|
outputs: [
|
|
190
193
|
{
|
|
@@ -205,7 +208,7 @@ test("Parse Signature", () => {
|
|
|
205
208
|
type: "contract-address",
|
|
206
209
|
internalType: "contract-address",
|
|
207
210
|
},
|
|
208
|
-
{ name: "n", type: "list<u64>" },
|
|
211
|
+
{ name: "n", type: "list<u64>", internalType: "list<u64>" },
|
|
209
212
|
],
|
|
210
213
|
outputs: [
|
|
211
214
|
{
|
|
@@ -227,6 +230,7 @@ test("Parse Signature", () => {
|
|
|
227
230
|
outputs: [
|
|
228
231
|
{
|
|
229
232
|
type: "list<tuple>",
|
|
233
|
+
internalType: "list<dog>",
|
|
230
234
|
components: [
|
|
231
235
|
{ type: "string", name: "name" },
|
|
232
236
|
{ type: "string", name: "breed" },
|
|
@@ -48,11 +48,15 @@ type MapGenericType<T extends string, Opts extends ParseOptions> =
|
|
|
48
48
|
// list<...>
|
|
49
49
|
T extends `list<${infer U}>`
|
|
50
50
|
? MapGenericType<Trim<U>, Opts> extends infer M extends { type: string }
|
|
51
|
-
? Readonlyify<
|
|
51
|
+
? Readonlyify<
|
|
52
|
+
{ type: `list<${M["type"]}>`; internalType: T } & GetComponents<M>
|
|
53
|
+
>
|
|
52
54
|
: never
|
|
53
55
|
: T extends `option<${infer U}>`
|
|
54
56
|
? MapGenericType<Trim<U>, Opts> extends infer M extends { type: string }
|
|
55
|
-
? Readonlyify<
|
|
57
|
+
? Readonlyify<
|
|
58
|
+
{ type: `option<${M["type"]}>`; internalType: T } & GetComponents<M>
|
|
59
|
+
>
|
|
56
60
|
: never
|
|
57
61
|
: // result<L, R>
|
|
58
62
|
T extends `result<${infer Inner}>`
|