@kontor/kontor-sdk 1.0.0-alpha.39 → 1.0.0-alpha.40
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 +1 -1
- package/dist/cjs/sdk/actions/kontor/public/call-view.js.map +1 -1
- package/dist/cjs/sdk/chains/definitions/signet.js +2 -2
- package/dist/cjs/sdk/test/e2e.test-deprecated.js +2 -0
- package/dist/cjs/sdk/test/e2e.test-deprecated.js.map +1 -0
- package/dist/cjs/sdk/utils/wit/codecs/bool.js +9 -21
- package/dist/cjs/sdk/utils/wit/codecs/bool.js.map +1 -1
- package/dist/cjs/sdk/utils/wit/codecs/contract-address.js +92 -0
- package/dist/cjs/sdk/utils/wit/codecs/contract-address.js.map +1 -0
- package/dist/cjs/sdk/utils/wit/codecs/index.js +29 -0
- package/dist/cjs/sdk/utils/wit/codecs/index.js.map +1 -0
- package/dist/cjs/sdk/utils/wit/codecs/list.js +21 -95
- package/dist/cjs/sdk/utils/wit/codecs/list.js.map +1 -1
- package/dist/cjs/sdk/utils/wit/codecs/numerics.js +228 -0
- package/dist/cjs/sdk/utils/wit/codecs/numerics.js.map +1 -0
- package/dist/cjs/sdk/utils/wit/codecs/option.js +21 -72
- package/dist/cjs/sdk/utils/wit/codecs/option.js.map +1 -1
- package/dist/cjs/sdk/utils/wit/codecs/result.js +32 -0
- package/dist/cjs/sdk/utils/wit/codecs/result.js.map +1 -0
- package/dist/cjs/sdk/utils/wit/codecs/string.js +16 -21
- package/dist/cjs/sdk/utils/wit/codecs/string.js.map +1 -1
- package/dist/cjs/sdk/utils/wit/codecs/unit.js +11 -19
- package/dist/cjs/sdk/utils/wit/codecs/unit.js.map +1 -1
- package/dist/cjs/sdk/utils/wit/codecs/util.js +185 -0
- package/dist/cjs/sdk/utils/wit/codecs/util.js.map +1 -0
- package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js +297 -163
- package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
- package/dist/cjs/sdk/utils/wit/encode-wit-parameters.js +214 -221
- package/dist/cjs/sdk/utils/wit/encode-wit-parameters.js.map +1 -1
- package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
- package/dist/cjs/wit/built-ins.js +19 -0
- package/dist/cjs/wit/built-ins.js.map +1 -0
- package/dist/cjs/wit/regex.js +1 -1
- package/dist/cjs/wit/regex.js.map +1 -1
- package/dist/cjs/wit/wit-parser/core/errors/signature.js +17 -2
- package/dist/cjs/wit/wit-parser/core/errors/signature.js.map +1 -1
- package/dist/cjs/wit/wit-parser/core/signatures.js +18 -0
- package/dist/cjs/wit/wit-parser/core/signatures.js.map +1 -1
- package/dist/cjs/wit/wit-parser/core/types/{records.js → user-defined.js} +1 -1
- package/dist/cjs/wit/wit-parser/core/types/user-defined.js.map +1 -0
- package/dist/cjs/wit/wit-parser/core/user-defined.js +271 -0
- package/dist/cjs/wit/wit-parser/core/user-defined.js.map +1 -0
- package/dist/cjs/wit/wit-parser/core/utils.js +29 -7
- package/dist/cjs/wit/wit-parser/core/utils.js.map +1 -1
- package/dist/cjs/wit/wit-parser/parse-wit-parameter.js +9 -3
- package/dist/cjs/wit/wit-parser/parse-wit-parameter.js.map +1 -1
- package/dist/cjs/wit/wit-parser/parse-wit.js +7 -3
- package/dist/cjs/wit/wit-parser/parse-wit.js.map +1 -1
- package/dist/esm/sdk/actions/kontor/public/call-view.js.map +1 -1
- package/dist/esm/sdk/chains/definitions/signet.js +2 -2
- package/dist/esm/sdk/test/e2e.test-deprecated.js +197 -0
- package/dist/esm/sdk/test/e2e.test-deprecated.js.map +1 -0
- package/dist/esm/sdk/utils/wit/codecs/bool.js +9 -21
- package/dist/esm/sdk/utils/wit/codecs/bool.js.map +1 -1
- package/dist/esm/sdk/utils/wit/codecs/contract-address.js +92 -0
- package/dist/esm/sdk/utils/wit/codecs/contract-address.js.map +1 -0
- package/dist/esm/sdk/utils/wit/codecs/index.js +9 -0
- package/dist/esm/sdk/utils/wit/codecs/index.js.map +1 -0
- package/dist/esm/sdk/utils/wit/codecs/list.js +20 -114
- package/dist/esm/sdk/utils/wit/codecs/list.js.map +1 -1
- package/dist/esm/sdk/utils/wit/codecs/numerics.js +234 -0
- package/dist/esm/sdk/utils/wit/codecs/numerics.js.map +1 -0
- package/dist/esm/sdk/utils/wit/codecs/option.js +21 -88
- package/dist/esm/sdk/utils/wit/codecs/option.js.map +1 -1
- package/dist/esm/sdk/utils/wit/codecs/result.js +29 -0
- package/dist/esm/sdk/utils/wit/codecs/result.js.map +1 -0
- package/dist/esm/sdk/utils/wit/codecs/string.js +22 -22
- package/dist/esm/sdk/utils/wit/codecs/string.js.map +1 -1
- package/dist/esm/sdk/utils/wit/codecs/unit.js +12 -21
- package/dist/esm/sdk/utils/wit/codecs/unit.js.map +1 -1
- package/dist/esm/sdk/utils/wit/codecs/util.js +181 -0
- package/dist/esm/sdk/utils/wit/codecs/util.js.map +1 -0
- package/dist/esm/sdk/utils/wit/decode-wit-parameter.js +322 -188
- package/dist/esm/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
- package/dist/esm/sdk/utils/wit/encode-wit-parameters.js +230 -233
- package/dist/esm/sdk/utils/wit/encode-wit-parameters.js.map +1 -1
- package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
- package/dist/esm/wit/built-ins.js +16 -0
- package/dist/esm/wit/built-ins.js.map +1 -0
- package/dist/esm/wit/regex.js +1 -1
- package/dist/esm/wit/regex.js.map +1 -1
- package/dist/esm/wit/wit-parser/core/errors/signature.js +15 -1
- package/dist/esm/wit/wit-parser/core/errors/signature.js.map +1 -1
- package/dist/esm/wit/wit-parser/core/signatures.js +14 -0
- package/dist/esm/wit/wit-parser/core/signatures.js.map +1 -1
- package/dist/esm/wit/wit-parser/core/types/signatures.js.map +1 -1
- package/dist/esm/wit/wit-parser/core/types/user-defined.js +2 -0
- package/dist/esm/wit/wit-parser/core/types/user-defined.js.map +1 -0
- package/dist/esm/wit/wit-parser/core/types/utils.js +25 -0
- package/dist/esm/wit/wit-parser/core/types/utils.js.map +1 -1
- package/dist/esm/wit/wit-parser/core/user-defined.js +280 -0
- package/dist/esm/wit/wit-parser/core/user-defined.js.map +1 -0
- package/dist/esm/wit/wit-parser/core/utils.js +33 -36
- package/dist/esm/wit/wit-parser/core/utils.js.map +1 -1
- package/dist/esm/wit/wit-parser/parse-wit-parameter.js +10 -4
- package/dist/esm/wit/wit-parser/parse-wit-parameter.js.map +1 -1
- package/dist/esm/wit/wit-parser/parse-wit.js +8 -4
- package/dist/esm/wit/wit-parser/parse-wit.js.map +1 -1
- package/dist/types/sdk/actions/kontor/public/call-view.d.ts +2 -1
- package/dist/types/sdk/actions/kontor/public/call-view.d.ts.map +1 -1
- package/dist/types/sdk/chains/definitions/signet.d.ts +2 -2
- package/dist/types/sdk/test/e2e.test-deprecated.d.ts +2 -0
- package/dist/types/sdk/test/e2e.test-deprecated.d.ts.map +1 -0
- package/dist/types/sdk/types/contract.d.ts +5 -5
- package/dist/types/sdk/types/contract.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/codecs/bool.d.ts +2 -2
- package/dist/types/sdk/utils/wit/codecs/bool.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/codecs/contract-address.d.ts +5 -0
- package/dist/types/sdk/utils/wit/codecs/contract-address.d.ts.map +1 -0
- package/dist/types/sdk/utils/wit/codecs/index.d.ts +9 -0
- package/dist/types/sdk/utils/wit/codecs/index.d.ts.map +1 -0
- package/dist/types/sdk/utils/wit/codecs/list.d.ts +2 -16
- package/dist/types/sdk/utils/wit/codecs/list.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/codecs/numerics.d.ts +14 -0
- package/dist/types/sdk/utils/wit/codecs/numerics.d.ts.map +1 -0
- package/dist/types/sdk/utils/wit/codecs/option.d.ts +3 -23
- package/dist/types/sdk/utils/wit/codecs/option.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/codecs/result.d.ts +4 -0
- package/dist/types/sdk/utils/wit/codecs/result.d.ts.map +1 -0
- package/dist/types/sdk/utils/wit/codecs/string.d.ts +6 -2
- package/dist/types/sdk/utils/wit/codecs/string.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/codecs/types.d.ts +4 -0
- package/dist/types/sdk/utils/wit/codecs/types.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/codecs/unit.d.ts +2 -11
- package/dist/types/sdk/utils/wit/codecs/unit.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/codecs/util.d.ts +12 -0
- package/dist/types/sdk/utils/wit/codecs/util.d.ts.map +1 -0
- package/dist/types/sdk/utils/wit/decode-wit-parameter.d.ts +9 -31
- package/dist/types/sdk/utils/wit/decode-wit-parameter.d.ts.map +1 -1
- package/dist/types/sdk/utils/wit/encode-wit-parameters.d.ts +9 -1
- package/dist/types/sdk/utils/wit/encode-wit-parameters.d.ts.map +1 -1
- package/dist/types/wit/built-ins.d.ts +6 -0
- package/dist/types/wit/built-ins.d.ts.map +1 -0
- package/dist/types/wit/regex.d.ts.map +1 -1
- package/dist/types/wit/utils.d.ts +53 -33
- package/dist/types/wit/utils.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/core/errors/signature.d.ts +7 -1
- package/dist/types/wit/wit-parser/core/errors/signature.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/core/signatures.d.ts +10 -0
- package/dist/types/wit/wit-parser/core/signatures.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/core/types/signatures.d.ts +6 -2
- package/dist/types/wit/wit-parser/core/types/signatures.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/core/types/user-defined.d.ts +134 -0
- package/dist/types/wit/wit-parser/core/types/user-defined.d.ts.map +1 -0
- package/dist/types/wit/wit-parser/core/types/utils.d.ts +86 -11
- package/dist/types/wit/wit-parser/core/types/utils.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/core/user-defined.d.ts +19 -0
- package/dist/types/wit/wit-parser/core/user-defined.d.ts.map +1 -0
- package/dist/types/wit/wit-parser/core/utils.d.ts +8 -4
- package/dist/types/wit/wit-parser/core/utils.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/parse-wit-parameter.d.ts +11 -5
- package/dist/types/wit/wit-parser/parse-wit-parameter.d.ts.map +1 -1
- package/dist/types/wit/wit-parser/parse-wit.d.ts +7 -3
- package/dist/types/wit/wit-parser/parse-wit.d.ts.map +1 -1
- package/dist/types/wit/wit.d.ts +20 -12
- package/dist/types/wit/wit.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/sdk/actions/get-contract.test-d.ts +430 -50
- package/src/sdk/actions/get-contract.test.ts +324 -24
- package/src/sdk/actions/kontor/public/call-view.ts +2 -1
- package/src/sdk/actions/kontor/public/proc-contract.test-d.ts +107 -0
- package/src/sdk/actions/kontor/public/proc-contract.test.ts +234 -21
- package/src/sdk/actions/kontor/public/view-contract.test-d.ts +240 -0
- package/src/sdk/actions/kontor/public/view-contract.test.ts +613 -18
- package/src/sdk/chains/definitions/signet.ts +2 -2
- package/src/sdk/clients/base/create-rpc-client.test.ts +2 -2
- package/src/sdk/clients/create-public-client.test.ts +2 -2
- package/src/sdk/clients/kontor/create-public-client.test.ts +2 -2
- package/src/sdk/clients/transports/http-rpc.test.ts +0 -24
- package/src/sdk/test/e2e.test-deprecated.ts +195 -0
- package/src/sdk/types/contract.test-d.ts +489 -55
- package/src/sdk/types/contract.ts +6 -7
- package/src/sdk/utils/wit/codecs/bool.test.ts +29 -0
- package/src/sdk/utils/wit/codecs/bool.ts +10 -25
- package/src/sdk/utils/wit/codecs/contract-address.test.ts +37 -0
- package/src/sdk/utils/wit/codecs/contract-address.ts +114 -0
- package/src/sdk/utils/wit/codecs/index.ts +20 -0
- package/src/sdk/utils/wit/codecs/list.test-d.ts +13 -0
- package/src/sdk/utils/wit/codecs/list.test.ts +55 -0
- package/src/sdk/utils/wit/codecs/list.ts +21 -150
- package/src/sdk/utils/wit/codecs/numerics.test.ts +399 -0
- package/src/sdk/utils/wit/codecs/numerics.ts +304 -0
- package/src/sdk/utils/wit/codecs/option.test.ts +71 -0
- package/src/sdk/utils/wit/codecs/option.ts +21 -120
- package/src/sdk/utils/wit/codecs/result.test.ts +82 -0
- package/src/sdk/utils/wit/codecs/result.ts +37 -0
- package/src/sdk/utils/wit/codecs/string.test.ts +62 -0
- package/src/sdk/utils/wit/codecs/string.ts +23 -25
- package/src/sdk/utils/wit/codecs/types.ts +5 -0
- package/src/sdk/utils/wit/codecs/unit.test.ts +27 -0
- package/src/sdk/utils/wit/codecs/unit.ts +14 -38
- package/src/sdk/utils/wit/codecs/util.test.ts +221 -0
- package/src/sdk/utils/wit/codecs/util.ts +193 -0
- package/src/sdk/utils/wit/decode-wit-parameter.test.ts +1264 -32
- package/src/sdk/utils/wit/decode-wit-parameter.ts +508 -211
- package/src/sdk/utils/wit/encode-wit-parameters.test.ts +955 -91
- package/src/sdk/utils/wit/encode-wit-parameters.ts +277 -274
- package/src/sdk/utils/wit/get-wit-item.test.ts +1 -1
- package/src/wit/built-ins.ts +23 -0
- package/src/wit/regex.ts +1 -1
- package/src/wit/utils.ts +120 -74
- package/src/wit/wit-parser/core/errors/signature.ts +13 -2
- package/src/wit/wit-parser/core/signatures.ts +28 -0
- package/src/wit/wit-parser/core/types/signatures.test-d.ts +21 -0
- package/src/wit/wit-parser/core/types/signatures.ts +19 -2
- package/src/wit/wit-parser/core/types/user-defined.test-d.ts +1308 -0
- package/src/wit/wit-parser/core/types/user-defined.ts +412 -0
- package/src/wit/wit-parser/core/types/utils.test-d.ts +43 -2
- package/src/wit/wit-parser/core/types/utils.ts +143 -14
- package/src/wit/wit-parser/core/user-defined.test.ts +609 -0
- package/src/wit/wit-parser/core/user-defined.ts +392 -0
- package/src/wit/wit-parser/core/utils.test.ts +334 -115
- package/src/wit/wit-parser/core/utils.ts +54 -38
- package/src/wit/wit-parser/parse-wit-parameter.test.ts +282 -4
- package/src/wit/wit-parser/parse-wit-parameter.ts +37 -11
- package/src/wit/wit-parser/parse-wit.test.ts +738 -12
- package/src/wit/wit-parser/parse-wit.ts +25 -10
- package/src/wit/wit.ts +37 -16
- package/vitest.config.ts +5 -0
- package/dist/cjs/sdk/utils/wit/codecs/decimal.js +0 -148
- package/dist/cjs/sdk/utils/wit/codecs/decimal.js.map +0 -1
- package/dist/cjs/sdk/utils/wit/codecs/enum.js +0 -94
- package/dist/cjs/sdk/utils/wit/codecs/enum.js.map +0 -1
- package/dist/cjs/sdk/utils/wit/codecs/integer.js +0 -125
- package/dist/cjs/sdk/utils/wit/codecs/integer.js.map +0 -1
- package/dist/cjs/sdk/utils/wit/codecs/s64.js +0 -57
- package/dist/cjs/sdk/utils/wit/codecs/s64.js.map +0 -1
- package/dist/cjs/sdk/utils/wit/codecs/u64.js +0 -56
- package/dist/cjs/sdk/utils/wit/codecs/u64.js.map +0 -1
- package/dist/cjs/wit/wit-parser/core/records.js +0 -70
- package/dist/cjs/wit/wit-parser/core/records.js.map +0 -1
- package/dist/cjs/wit/wit-parser/core/types/records.js.map +0 -1
- package/dist/esm/sdk/utils/wit/codecs/decimal.js +0 -165
- package/dist/esm/sdk/utils/wit/codecs/decimal.js.map +0 -1
- package/dist/esm/sdk/utils/wit/codecs/enum.js +0 -104
- package/dist/esm/sdk/utils/wit/codecs/enum.js.map +0 -1
- package/dist/esm/sdk/utils/wit/codecs/integer.js +0 -167
- package/dist/esm/sdk/utils/wit/codecs/integer.js.map +0 -1
- package/dist/esm/sdk/utils/wit/codecs/s64.js +0 -65
- package/dist/esm/sdk/utils/wit/codecs/s64.js.map +0 -1
- package/dist/esm/sdk/utils/wit/codecs/u64.js +0 -63
- package/dist/esm/sdk/utils/wit/codecs/u64.js.map +0 -1
- package/dist/esm/wit/wit-parser/core/records.js +0 -73
- package/dist/esm/wit/wit-parser/core/records.js.map +0 -1
- package/dist/esm/wit/wit-parser/core/types/records.js +0 -2
- package/dist/esm/wit/wit-parser/core/types/records.js.map +0 -1
- package/dist/types/sdk/utils/wit/codecs/decimal.d.ts +0 -42
- package/dist/types/sdk/utils/wit/codecs/decimal.d.ts.map +0 -1
- package/dist/types/sdk/utils/wit/codecs/enum.d.ts +0 -49
- package/dist/types/sdk/utils/wit/codecs/enum.d.ts.map +0 -1
- package/dist/types/sdk/utils/wit/codecs/integer.d.ts +0 -36
- package/dist/types/sdk/utils/wit/codecs/integer.d.ts.map +0 -1
- package/dist/types/sdk/utils/wit/codecs/s64.d.ts +0 -23
- package/dist/types/sdk/utils/wit/codecs/s64.d.ts.map +0 -1
- package/dist/types/sdk/utils/wit/codecs/u64.d.ts +0 -23
- package/dist/types/sdk/utils/wit/codecs/u64.d.ts.map +0 -1
- package/dist/types/wit/wit-parser/core/records.d.ts +0 -4
- package/dist/types/wit/wit-parser/core/records.d.ts.map +0 -1
- package/dist/types/wit/wit-parser/core/types/records.d.ts +0 -51
- package/dist/types/wit/wit-parser/core/types/records.d.ts.map +0 -1
- package/src/sdk/test/e2e.test.ts +0 -194
- package/src/sdk/utils/wit/codecs/decimal.ts +0 -215
- package/src/sdk/utils/wit/codecs/enum.ts +0 -114
- package/src/sdk/utils/wit/codecs/integer.ts +0 -193
- package/src/sdk/utils/wit/codecs/s64.ts +0 -76
- package/src/sdk/utils/wit/codecs/u64.ts +0 -73
- package/src/wit/wit-parser/core/records.test.ts +0 -69
- package/src/wit/wit-parser/core/records.ts +0 -101
- package/src/wit/wit-parser/core/types/records.test-d.ts +0 -331
- package/src/wit/wit-parser/core/types/records.ts +0 -91
|
@@ -1,214 +1,254 @@
|
|
|
1
1
|
import { InvalidWitEncodingTypeError, WitEncodingLengthMismatchError, } from "../../errors/wit.js";
|
|
2
|
-
import
|
|
3
|
-
import { S64Codec } from "./codecs/s64.js";
|
|
4
|
-
import { DecimalCodec } from "./codecs/decimal.js";
|
|
5
|
-
import { IntegerCodec } from "./codecs/integer.js";
|
|
6
|
-
import { ListCodecFactory } from "./codecs/list.js";
|
|
7
|
-
import { OptionCodecFactory } from "./codecs/option.js";
|
|
8
|
-
import { StringCodec } from "./codecs/string.js";
|
|
9
|
-
import { BoolCodec } from "./codecs/bool.js";
|
|
2
|
+
import * as C from "./codecs/index.js";
|
|
10
3
|
export function encodeWitParameters(params, values) {
|
|
11
|
-
if (params.length !== values.length)
|
|
4
|
+
if (params.length !== values.length) {
|
|
12
5
|
throw new WitEncodingLengthMismatchError({
|
|
13
6
|
expectedLength: params.length,
|
|
14
7
|
givenLength: values.length,
|
|
15
8
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
9
|
+
}
|
|
10
|
+
const encodedParams = params.map((param, i) => encoderForParam(param).encodeWave(values[i]));
|
|
11
|
+
return encodedParams.join(", ");
|
|
12
|
+
}
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// CODEC BUILDER HELPERS - Reduce duplication while keeping explicit switches
|
|
15
|
+
// ============================================================================
|
|
16
|
+
/** Wraps a codec in an OptionCodec */
|
|
17
|
+
function option(codec) {
|
|
18
|
+
return C.OptionCodec(codec);
|
|
19
|
+
}
|
|
20
|
+
/** Wraps a codec in a ListCodec */
|
|
21
|
+
function list(codec) {
|
|
22
|
+
return C.ListCodec(codec);
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
// ============================================================================
|
|
25
|
+
// ENCODER FACTORY - Single explicit switch showing all supported types
|
|
26
|
+
// ============================================================================
|
|
27
|
+
export function encoderForParam(param) {
|
|
28
|
+
const type = param.type;
|
|
29
|
+
switch (type) {
|
|
30
|
+
// --- BASE TYPES -------------------------------------------------
|
|
31
|
+
case "bool":
|
|
32
|
+
return C.BoolCodec;
|
|
33
|
+
case "string":
|
|
34
|
+
return C.StringCodec;
|
|
35
|
+
case "integer":
|
|
36
|
+
return C.IntegerCodec;
|
|
37
|
+
case "decimal":
|
|
38
|
+
return C.DecimalCodec;
|
|
39
|
+
case "u8":
|
|
40
|
+
return C.U8Codec;
|
|
41
|
+
case "u16":
|
|
42
|
+
return C.U16Codec;
|
|
43
|
+
case "u32":
|
|
44
|
+
return C.U32Codec;
|
|
45
|
+
case "u64":
|
|
46
|
+
return C.U64Codec;
|
|
47
|
+
case "s8":
|
|
48
|
+
return C.S8Codec;
|
|
49
|
+
case "s16":
|
|
50
|
+
return C.S16Codec;
|
|
51
|
+
case "s32":
|
|
52
|
+
return C.S32Codec;
|
|
53
|
+
case "s64":
|
|
54
|
+
return C.S64Codec;
|
|
55
|
+
case "contract-address":
|
|
56
|
+
return C.ContractAddressCodec;
|
|
57
|
+
// --- OPTION<BASE> -----------------------------------------------
|
|
58
|
+
case "option<bool>":
|
|
59
|
+
return option(C.BoolCodec);
|
|
60
|
+
case "option<string>":
|
|
61
|
+
return option(C.StringCodec);
|
|
62
|
+
case "option<integer>":
|
|
63
|
+
return option(C.IntegerCodec);
|
|
64
|
+
case "option<decimal>":
|
|
65
|
+
return option(C.DecimalCodec);
|
|
66
|
+
case "option<u8>":
|
|
67
|
+
return option(C.U8Codec);
|
|
68
|
+
case "option<u16>":
|
|
69
|
+
return option(C.U16Codec);
|
|
70
|
+
case "option<u32>":
|
|
71
|
+
return option(C.U32Codec);
|
|
72
|
+
case "option<u64>":
|
|
73
|
+
return option(C.U64Codec);
|
|
74
|
+
case "option<s8>":
|
|
75
|
+
return option(C.S8Codec);
|
|
76
|
+
case "option<s16>":
|
|
77
|
+
return option(C.S16Codec);
|
|
78
|
+
case "option<s32>":
|
|
79
|
+
return option(C.S32Codec);
|
|
80
|
+
case "option<s64>":
|
|
81
|
+
return option(C.S64Codec);
|
|
82
|
+
case "option<_>":
|
|
83
|
+
return option(C.UnitCodec);
|
|
84
|
+
// --- LIST<BASE> -------------------------------------------------
|
|
85
|
+
case "list<bool>":
|
|
86
|
+
return list(C.BoolCodec);
|
|
87
|
+
case "list<string>":
|
|
88
|
+
return list(C.StringCodec);
|
|
89
|
+
case "list<integer>":
|
|
90
|
+
return list(C.IntegerCodec);
|
|
91
|
+
case "list<decimal>":
|
|
92
|
+
return list(C.DecimalCodec);
|
|
93
|
+
case "list<u8>":
|
|
94
|
+
return list(C.U8Codec);
|
|
95
|
+
case "list<u16>":
|
|
96
|
+
return list(C.U16Codec);
|
|
97
|
+
case "list<u32>":
|
|
98
|
+
return list(C.U32Codec);
|
|
99
|
+
case "list<u64>":
|
|
100
|
+
return list(C.U64Codec);
|
|
101
|
+
case "list<s8>":
|
|
102
|
+
return list(C.S8Codec);
|
|
103
|
+
case "list<s16>":
|
|
104
|
+
return list(C.S16Codec);
|
|
105
|
+
case "list<s32>":
|
|
106
|
+
return list(C.S32Codec);
|
|
107
|
+
case "list<s64>":
|
|
108
|
+
return list(C.S64Codec);
|
|
109
|
+
// --- OPTION<LIST<BASE>> -----------------------------------------
|
|
110
|
+
case "option<list<bool>>":
|
|
111
|
+
return option(list(C.BoolCodec));
|
|
112
|
+
case "option<list<string>>":
|
|
113
|
+
return option(list(C.StringCodec));
|
|
114
|
+
case "option<list<integer>>":
|
|
115
|
+
return option(list(C.IntegerCodec));
|
|
116
|
+
case "option<list<decimal>>":
|
|
117
|
+
return option(list(C.DecimalCodec));
|
|
118
|
+
case "option<list<u8>>":
|
|
119
|
+
return option(list(C.U8Codec));
|
|
120
|
+
case "option<list<u16>>":
|
|
121
|
+
return option(list(C.U16Codec));
|
|
122
|
+
case "option<list<u32>>":
|
|
123
|
+
return option(list(C.U32Codec));
|
|
124
|
+
case "option<list<u64>>":
|
|
125
|
+
return option(list(C.U64Codec));
|
|
126
|
+
case "option<list<s8>>":
|
|
127
|
+
return option(list(C.S8Codec));
|
|
128
|
+
case "option<list<s16>>":
|
|
129
|
+
return option(list(C.S16Codec));
|
|
130
|
+
case "option<list<s32>>":
|
|
131
|
+
return option(list(C.S32Codec));
|
|
132
|
+
case "option<list<s64>>":
|
|
133
|
+
return option(list(C.S64Codec));
|
|
134
|
+
// --- COMPLEX TYPES ----------------------------------------------
|
|
135
|
+
case "record":
|
|
136
|
+
return RecordCodec(param);
|
|
137
|
+
case "option<record>":
|
|
138
|
+
return option(RecordCodec(param));
|
|
139
|
+
case "list<record>":
|
|
140
|
+
return list(RecordCodec(param));
|
|
141
|
+
case "option<list<record>>":
|
|
142
|
+
return option(list(RecordCodec(param)));
|
|
143
|
+
case "variant":
|
|
144
|
+
return VariantCodec(param);
|
|
145
|
+
case "option<variant>":
|
|
146
|
+
return option(VariantCodec(param));
|
|
147
|
+
case "list<variant>":
|
|
148
|
+
return list(VariantCodec(param));
|
|
149
|
+
case "option<list<variant>>":
|
|
150
|
+
return option(list(VariantCodec(param)));
|
|
151
|
+
case "enum":
|
|
152
|
+
return EnumCodec(param);
|
|
153
|
+
case "option<enum>":
|
|
154
|
+
return option(EnumCodec(param));
|
|
155
|
+
case "list<enum>":
|
|
156
|
+
return list(EnumCodec(param));
|
|
157
|
+
case "option<list<enum>>":
|
|
158
|
+
return option(list(EnumCodec(param)));
|
|
159
|
+
default: {
|
|
160
|
+
const _ = type;
|
|
161
|
+
throw new InvalidWitEncodingTypeError(_, { docsPath: "tk" });
|
|
162
|
+
}
|
|
27
163
|
}
|
|
28
|
-
return preparedParams;
|
|
29
164
|
}
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
165
|
+
export function RecordCodec(param) {
|
|
166
|
+
if (!param.components) {
|
|
167
|
+
throw new Error("Record parameter missing components");
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
decodeWave(_) {
|
|
171
|
+
throw new Error("not implemented");
|
|
172
|
+
},
|
|
173
|
+
encodeWave(value) {
|
|
174
|
+
const fields = param.components.map((component) => {
|
|
175
|
+
if (!component.name) {
|
|
176
|
+
throw new Error("Record component missing name");
|
|
177
|
+
}
|
|
178
|
+
const fieldValue = value[component.name];
|
|
179
|
+
if (fieldValue === undefined) {
|
|
180
|
+
throw new Error(`Record missing field "${component.name}"`);
|
|
181
|
+
}
|
|
182
|
+
const codec = encoderForParam(component);
|
|
183
|
+
const encoded = codec.encodeWave(fieldValue);
|
|
184
|
+
return `${component.name}: ${encoded}`;
|
|
185
|
+
});
|
|
186
|
+
return `{${fields.join(", ")}}`;
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
export function VariantCodec(param) {
|
|
191
|
+
if (!param.components) {
|
|
192
|
+
throw new Error("Variant parameter missing components");
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
decodeWave(_) {
|
|
196
|
+
throw new Error("not implemented");
|
|
197
|
+
},
|
|
198
|
+
encodeWave(value) {
|
|
199
|
+
const [caseName, payload] = value;
|
|
200
|
+
const variantCase = param.components.find((c) => c.name === caseName);
|
|
201
|
+
if (!variantCase) {
|
|
202
|
+
throw new Error(`Unknown variant case: ${caseName}`);
|
|
55
203
|
}
|
|
56
|
-
case
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
204
|
+
// Unit case (no payload)
|
|
205
|
+
if (variantCase.type === "_") {
|
|
206
|
+
if (payload !== undefined) {
|
|
207
|
+
throw new Error(`Variant case ${caseName} expects no payload but got: ${payload}`);
|
|
208
|
+
}
|
|
209
|
+
return caseName;
|
|
62
210
|
}
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
case "option<s32>":
|
|
67
|
-
throw new InvalidWitEncodingTypeError(param.type, {
|
|
68
|
-
docsPath: "tk",
|
|
69
|
-
});
|
|
70
|
-
case "option<s64>":
|
|
71
|
-
return {
|
|
72
|
-
encoded: OptionCodecFactory.create(S64Codec)
|
|
73
|
-
.fromJs(value)
|
|
74
|
-
.toWave(),
|
|
75
|
-
};
|
|
76
|
-
case "option<u64>":
|
|
77
|
-
return {
|
|
78
|
-
encoded: OptionCodecFactory.create(U64Codec)
|
|
79
|
-
.fromJs(value)
|
|
80
|
-
.toWave(),
|
|
81
|
-
};
|
|
82
|
-
case "option<u8>":
|
|
83
|
-
case "option<u16>":
|
|
84
|
-
case "option<u32>":
|
|
85
|
-
case "option<list<string>>":
|
|
86
|
-
case "option<list<bool>>":
|
|
87
|
-
case "option<list<s8>>":
|
|
88
|
-
case "option<list<s16>>":
|
|
89
|
-
case "option<list<s32>>":
|
|
90
|
-
case "option<list<s64>>":
|
|
91
|
-
case "option<list<u8>>":
|
|
92
|
-
case "option<list<u16>>":
|
|
93
|
-
case "option<list<u32>>":
|
|
94
|
-
case "option<list<u64>>":
|
|
95
|
-
case "option<list<integer>>":
|
|
96
|
-
case "option<list<decimal>>":
|
|
97
|
-
case "option<list<_>>":
|
|
98
|
-
case "option<list<tuple>>":
|
|
99
|
-
case "option<_>":
|
|
100
|
-
case "option<tuple>":
|
|
101
|
-
// TODO: OptionCodecFactory.create(TupleCodec) once it exists
|
|
102
|
-
throw new InvalidWitEncodingTypeError(param.type, {
|
|
103
|
-
docsPath: "tk",
|
|
104
|
-
});
|
|
105
|
-
default: {
|
|
106
|
-
const _ = type;
|
|
107
|
-
throw new InvalidWitEncodingTypeError(_, {
|
|
108
|
-
docsPath: "tk",
|
|
109
|
-
});
|
|
211
|
+
// Case with payload
|
|
212
|
+
if (payload === undefined) {
|
|
213
|
+
throw new Error(`Variant case ${caseName} expects a payload but got undefined`);
|
|
110
214
|
}
|
|
111
|
-
|
|
215
|
+
const codec = encoderForParam(variantCase);
|
|
216
|
+
const encoded = codec.encodeWave(payload);
|
|
217
|
+
return `${caseName}(${encoded})`;
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
export function EnumCodec(param) {
|
|
222
|
+
if (!param.components) {
|
|
223
|
+
throw new Error("Enum parameter missing components (cases)");
|
|
112
224
|
}
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
encoded: ListCodecFactory.create(BoolCodec)
|
|
120
|
-
.fromJs(value)
|
|
121
|
-
.toWave(),
|
|
122
|
-
};
|
|
123
|
-
case "list<string>": {
|
|
124
|
-
return {
|
|
125
|
-
encoded: ListCodecFactory.create(StringCodec)
|
|
126
|
-
.fromJs(value)
|
|
127
|
-
.toWave(),
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
case "list<integer>": {
|
|
131
|
-
return {
|
|
132
|
-
encoded: ListCodecFactory.create(IntegerCodec)
|
|
133
|
-
.fromJs(value)
|
|
134
|
-
.toWave(),
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
case "list<decimal>": {
|
|
138
|
-
return {
|
|
139
|
-
encoded: ListCodecFactory.create(DecimalCodec)
|
|
140
|
-
.fromJs(value)
|
|
141
|
-
.toWave(),
|
|
142
|
-
};
|
|
225
|
+
const validCases = param.components.map((c) => c.name);
|
|
226
|
+
return {
|
|
227
|
+
decodeWave(expr) {
|
|
228
|
+
const caseName = expr.trim();
|
|
229
|
+
if (!validCases.includes(caseName)) {
|
|
230
|
+
throw new Error(`Invalid enum case "${caseName}". Valid cases: ${validCases.join(", ")}`);
|
|
143
231
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
};
|
|
150
|
-
case "list<u64>":
|
|
151
|
-
return {
|
|
152
|
-
encoded: ListCodecFactory.create(U64Codec)
|
|
153
|
-
.fromJs(value)
|
|
154
|
-
.toWave(),
|
|
155
|
-
};
|
|
156
|
-
case "list<_>":
|
|
157
|
-
case "list<u8>":
|
|
158
|
-
case "list<u16>":
|
|
159
|
-
case "list<u32>":
|
|
160
|
-
case "list<tuple>":
|
|
161
|
-
case "list<s8>":
|
|
162
|
-
case "list<s16>":
|
|
163
|
-
case "list<s32>":
|
|
164
|
-
// TODO: ListCodecFactory.create(TupleCodec) once it exists
|
|
165
|
-
throw new InvalidWitEncodingTypeError(param.type, {
|
|
166
|
-
docsPath: "tk",
|
|
167
|
-
});
|
|
168
|
-
default: {
|
|
169
|
-
const _ = type;
|
|
170
|
-
throw new InvalidWitEncodingTypeError(_, {
|
|
171
|
-
docsPath: "tk",
|
|
172
|
-
});
|
|
232
|
+
return caseName;
|
|
233
|
+
},
|
|
234
|
+
encodeWave(value) {
|
|
235
|
+
if (!validCases.includes(value)) {
|
|
236
|
+
throw new Error(`Invalid enum case "${value}". Valid cases: ${validCases.join(", ")}`);
|
|
173
237
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
return encodeBool(value);
|
|
178
|
-
}
|
|
179
|
-
if (param.type === "u64") {
|
|
180
|
-
return encodeU64(value);
|
|
181
|
-
}
|
|
182
|
-
if (param.type === "s64") {
|
|
183
|
-
return encodeS64(value);
|
|
184
|
-
}
|
|
185
|
-
if (param.type === "integer") {
|
|
186
|
-
return encodeInteger(value);
|
|
187
|
-
}
|
|
188
|
-
if (param.type === "decimal") {
|
|
189
|
-
return encodeDecimal(value);
|
|
190
|
-
}
|
|
191
|
-
if (param.type === "string") {
|
|
192
|
-
return encodeString(value);
|
|
193
|
-
}
|
|
194
|
-
throw new InvalidWitEncodingTypeError(param.type, {
|
|
195
|
-
docsPath: "tk",
|
|
196
|
-
});
|
|
238
|
+
return value;
|
|
239
|
+
},
|
|
240
|
+
};
|
|
197
241
|
}
|
|
242
|
+
// ============================================================================
|
|
243
|
+
// DEPRECATED - Keep for backward compatibility if needed
|
|
244
|
+
// ============================================================================
|
|
245
|
+
/** @deprecated Use encoderForParam instead */
|
|
198
246
|
export function getListComponents(type) {
|
|
199
|
-
// TODO: add error when nothing inside
|
|
200
|
-
// Matches things like:
|
|
201
|
-
// - "list<integer>"
|
|
202
|
-
// - "list<result<string, integer>>"
|
|
203
|
-
// - "list< list<decimal> >"
|
|
204
247
|
const matches = type.match(/^list<(.*)>$/);
|
|
205
248
|
return matches ? matches[1]?.trim() : undefined;
|
|
206
249
|
}
|
|
250
|
+
/** @deprecated Use encoderForParam instead */
|
|
207
251
|
export function getOptionComponent(type) {
|
|
208
|
-
// Matches:
|
|
209
|
-
// - "option<integer>"
|
|
210
|
-
// - "option<list<decimal>>"
|
|
211
|
-
// - "option< result<string, error> >"
|
|
212
252
|
const matches = type.match(/^option<(.*)>$/);
|
|
213
253
|
return matches ? matches[1]?.trim() : undefined;
|
|
214
254
|
}
|
|
@@ -217,47 +257,4 @@ export class InvalidResultTypeError extends Error {
|
|
|
217
257
|
super(`Invalid result type "${type}". The error channel must be "error".`);
|
|
218
258
|
}
|
|
219
259
|
}
|
|
220
|
-
export function getResultComponentsStrict(type) {
|
|
221
|
-
const matches = type.match(/^result<(.*?),(.*?)>$/);
|
|
222
|
-
if (!matches)
|
|
223
|
-
return undefined;
|
|
224
|
-
const okType = matches[1].trim();
|
|
225
|
-
const errType = matches[2].trim();
|
|
226
|
-
if (errType !== "error")
|
|
227
|
-
throw new InvalidResultTypeError(errType);
|
|
228
|
-
return [okType, "error"];
|
|
229
|
-
}
|
|
230
|
-
function encodeBool(value) {
|
|
231
|
-
return {
|
|
232
|
-
encoded: BoolCodec.fromJs(value).toWave(),
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
function encodeU64(value) {
|
|
236
|
-
return {
|
|
237
|
-
encoded: U64Codec.fromJs(value).toWave(),
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
function encodeS64(value) {
|
|
241
|
-
return {
|
|
242
|
-
encoded: S64Codec.fromJs(value).toWave(),
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
function encodeInteger(value) {
|
|
246
|
-
return {
|
|
247
|
-
encoded: IntegerCodec.fromJs(value).toWave(),
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
function encodeDecimal(value) {
|
|
251
|
-
return {
|
|
252
|
-
encoded: DecimalCodec.fromJs(value).toWave(),
|
|
253
|
-
};
|
|
254
|
-
}
|
|
255
|
-
function encodeString(value) {
|
|
256
|
-
return {
|
|
257
|
-
encoded: StringCodec.fromJs(value).toWave(),
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
function encodeParams(preparedParams) {
|
|
261
|
-
return preparedParams.map((p) => p.encoded).join(", ");
|
|
262
|
-
}
|
|
263
260
|
//# sourceMappingURL=encode-wit-parameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-wit-parameters.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/encode-wit-parameters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encode-wit-parameters.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/encode-wit-parameters.ts"],"names":[],"mappings":"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"}
|