@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.
Files changed (270) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/sdk/actions/kontor/public/call-view.js.map +1 -1
  3. package/dist/cjs/sdk/chains/definitions/signet.js +2 -2
  4. package/dist/cjs/sdk/test/e2e.test-deprecated.js +2 -0
  5. package/dist/cjs/sdk/test/e2e.test-deprecated.js.map +1 -0
  6. package/dist/cjs/sdk/utils/wit/codecs/bool.js +9 -21
  7. package/dist/cjs/sdk/utils/wit/codecs/bool.js.map +1 -1
  8. package/dist/cjs/sdk/utils/wit/codecs/contract-address.js +92 -0
  9. package/dist/cjs/sdk/utils/wit/codecs/contract-address.js.map +1 -0
  10. package/dist/cjs/sdk/utils/wit/codecs/index.js +29 -0
  11. package/dist/cjs/sdk/utils/wit/codecs/index.js.map +1 -0
  12. package/dist/cjs/sdk/utils/wit/codecs/list.js +21 -95
  13. package/dist/cjs/sdk/utils/wit/codecs/list.js.map +1 -1
  14. package/dist/cjs/sdk/utils/wit/codecs/numerics.js +228 -0
  15. package/dist/cjs/sdk/utils/wit/codecs/numerics.js.map +1 -0
  16. package/dist/cjs/sdk/utils/wit/codecs/option.js +21 -72
  17. package/dist/cjs/sdk/utils/wit/codecs/option.js.map +1 -1
  18. package/dist/cjs/sdk/utils/wit/codecs/result.js +32 -0
  19. package/dist/cjs/sdk/utils/wit/codecs/result.js.map +1 -0
  20. package/dist/cjs/sdk/utils/wit/codecs/string.js +16 -21
  21. package/dist/cjs/sdk/utils/wit/codecs/string.js.map +1 -1
  22. package/dist/cjs/sdk/utils/wit/codecs/unit.js +11 -19
  23. package/dist/cjs/sdk/utils/wit/codecs/unit.js.map +1 -1
  24. package/dist/cjs/sdk/utils/wit/codecs/util.js +185 -0
  25. package/dist/cjs/sdk/utils/wit/codecs/util.js.map +1 -0
  26. package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js +297 -163
  27. package/dist/cjs/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
  28. package/dist/cjs/sdk/utils/wit/encode-wit-parameters.js +214 -221
  29. package/dist/cjs/sdk/utils/wit/encode-wit-parameters.js.map +1 -1
  30. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  31. package/dist/cjs/wit/built-ins.js +19 -0
  32. package/dist/cjs/wit/built-ins.js.map +1 -0
  33. package/dist/cjs/wit/regex.js +1 -1
  34. package/dist/cjs/wit/regex.js.map +1 -1
  35. package/dist/cjs/wit/wit-parser/core/errors/signature.js +17 -2
  36. package/dist/cjs/wit/wit-parser/core/errors/signature.js.map +1 -1
  37. package/dist/cjs/wit/wit-parser/core/signatures.js +18 -0
  38. package/dist/cjs/wit/wit-parser/core/signatures.js.map +1 -1
  39. package/dist/cjs/wit/wit-parser/core/types/{records.js → user-defined.js} +1 -1
  40. package/dist/cjs/wit/wit-parser/core/types/user-defined.js.map +1 -0
  41. package/dist/cjs/wit/wit-parser/core/user-defined.js +271 -0
  42. package/dist/cjs/wit/wit-parser/core/user-defined.js.map +1 -0
  43. package/dist/cjs/wit/wit-parser/core/utils.js +29 -7
  44. package/dist/cjs/wit/wit-parser/core/utils.js.map +1 -1
  45. package/dist/cjs/wit/wit-parser/parse-wit-parameter.js +9 -3
  46. package/dist/cjs/wit/wit-parser/parse-wit-parameter.js.map +1 -1
  47. package/dist/cjs/wit/wit-parser/parse-wit.js +7 -3
  48. package/dist/cjs/wit/wit-parser/parse-wit.js.map +1 -1
  49. package/dist/esm/sdk/actions/kontor/public/call-view.js.map +1 -1
  50. package/dist/esm/sdk/chains/definitions/signet.js +2 -2
  51. package/dist/esm/sdk/test/e2e.test-deprecated.js +197 -0
  52. package/dist/esm/sdk/test/e2e.test-deprecated.js.map +1 -0
  53. package/dist/esm/sdk/utils/wit/codecs/bool.js +9 -21
  54. package/dist/esm/sdk/utils/wit/codecs/bool.js.map +1 -1
  55. package/dist/esm/sdk/utils/wit/codecs/contract-address.js +92 -0
  56. package/dist/esm/sdk/utils/wit/codecs/contract-address.js.map +1 -0
  57. package/dist/esm/sdk/utils/wit/codecs/index.js +9 -0
  58. package/dist/esm/sdk/utils/wit/codecs/index.js.map +1 -0
  59. package/dist/esm/sdk/utils/wit/codecs/list.js +20 -114
  60. package/dist/esm/sdk/utils/wit/codecs/list.js.map +1 -1
  61. package/dist/esm/sdk/utils/wit/codecs/numerics.js +234 -0
  62. package/dist/esm/sdk/utils/wit/codecs/numerics.js.map +1 -0
  63. package/dist/esm/sdk/utils/wit/codecs/option.js +21 -88
  64. package/dist/esm/sdk/utils/wit/codecs/option.js.map +1 -1
  65. package/dist/esm/sdk/utils/wit/codecs/result.js +29 -0
  66. package/dist/esm/sdk/utils/wit/codecs/result.js.map +1 -0
  67. package/dist/esm/sdk/utils/wit/codecs/string.js +22 -22
  68. package/dist/esm/sdk/utils/wit/codecs/string.js.map +1 -1
  69. package/dist/esm/sdk/utils/wit/codecs/unit.js +12 -21
  70. package/dist/esm/sdk/utils/wit/codecs/unit.js.map +1 -1
  71. package/dist/esm/sdk/utils/wit/codecs/util.js +181 -0
  72. package/dist/esm/sdk/utils/wit/codecs/util.js.map +1 -0
  73. package/dist/esm/sdk/utils/wit/decode-wit-parameter.js +322 -188
  74. package/dist/esm/sdk/utils/wit/decode-wit-parameter.js.map +1 -1
  75. package/dist/esm/sdk/utils/wit/encode-wit-parameters.js +230 -233
  76. package/dist/esm/sdk/utils/wit/encode-wit-parameters.js.map +1 -1
  77. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  78. package/dist/esm/wit/built-ins.js +16 -0
  79. package/dist/esm/wit/built-ins.js.map +1 -0
  80. package/dist/esm/wit/regex.js +1 -1
  81. package/dist/esm/wit/regex.js.map +1 -1
  82. package/dist/esm/wit/wit-parser/core/errors/signature.js +15 -1
  83. package/dist/esm/wit/wit-parser/core/errors/signature.js.map +1 -1
  84. package/dist/esm/wit/wit-parser/core/signatures.js +14 -0
  85. package/dist/esm/wit/wit-parser/core/signatures.js.map +1 -1
  86. package/dist/esm/wit/wit-parser/core/types/signatures.js.map +1 -1
  87. package/dist/esm/wit/wit-parser/core/types/user-defined.js +2 -0
  88. package/dist/esm/wit/wit-parser/core/types/user-defined.js.map +1 -0
  89. package/dist/esm/wit/wit-parser/core/types/utils.js +25 -0
  90. package/dist/esm/wit/wit-parser/core/types/utils.js.map +1 -1
  91. package/dist/esm/wit/wit-parser/core/user-defined.js +280 -0
  92. package/dist/esm/wit/wit-parser/core/user-defined.js.map +1 -0
  93. package/dist/esm/wit/wit-parser/core/utils.js +33 -36
  94. package/dist/esm/wit/wit-parser/core/utils.js.map +1 -1
  95. package/dist/esm/wit/wit-parser/parse-wit-parameter.js +10 -4
  96. package/dist/esm/wit/wit-parser/parse-wit-parameter.js.map +1 -1
  97. package/dist/esm/wit/wit-parser/parse-wit.js +8 -4
  98. package/dist/esm/wit/wit-parser/parse-wit.js.map +1 -1
  99. package/dist/types/sdk/actions/kontor/public/call-view.d.ts +2 -1
  100. package/dist/types/sdk/actions/kontor/public/call-view.d.ts.map +1 -1
  101. package/dist/types/sdk/chains/definitions/signet.d.ts +2 -2
  102. package/dist/types/sdk/test/e2e.test-deprecated.d.ts +2 -0
  103. package/dist/types/sdk/test/e2e.test-deprecated.d.ts.map +1 -0
  104. package/dist/types/sdk/types/contract.d.ts +5 -5
  105. package/dist/types/sdk/types/contract.d.ts.map +1 -1
  106. package/dist/types/sdk/utils/wit/codecs/bool.d.ts +2 -2
  107. package/dist/types/sdk/utils/wit/codecs/bool.d.ts.map +1 -1
  108. package/dist/types/sdk/utils/wit/codecs/contract-address.d.ts +5 -0
  109. package/dist/types/sdk/utils/wit/codecs/contract-address.d.ts.map +1 -0
  110. package/dist/types/sdk/utils/wit/codecs/index.d.ts +9 -0
  111. package/dist/types/sdk/utils/wit/codecs/index.d.ts.map +1 -0
  112. package/dist/types/sdk/utils/wit/codecs/list.d.ts +2 -16
  113. package/dist/types/sdk/utils/wit/codecs/list.d.ts.map +1 -1
  114. package/dist/types/sdk/utils/wit/codecs/numerics.d.ts +14 -0
  115. package/dist/types/sdk/utils/wit/codecs/numerics.d.ts.map +1 -0
  116. package/dist/types/sdk/utils/wit/codecs/option.d.ts +3 -23
  117. package/dist/types/sdk/utils/wit/codecs/option.d.ts.map +1 -1
  118. package/dist/types/sdk/utils/wit/codecs/result.d.ts +4 -0
  119. package/dist/types/sdk/utils/wit/codecs/result.d.ts.map +1 -0
  120. package/dist/types/sdk/utils/wit/codecs/string.d.ts +6 -2
  121. package/dist/types/sdk/utils/wit/codecs/string.d.ts.map +1 -1
  122. package/dist/types/sdk/utils/wit/codecs/types.d.ts +4 -0
  123. package/dist/types/sdk/utils/wit/codecs/types.d.ts.map +1 -1
  124. package/dist/types/sdk/utils/wit/codecs/unit.d.ts +2 -11
  125. package/dist/types/sdk/utils/wit/codecs/unit.d.ts.map +1 -1
  126. package/dist/types/sdk/utils/wit/codecs/util.d.ts +12 -0
  127. package/dist/types/sdk/utils/wit/codecs/util.d.ts.map +1 -0
  128. package/dist/types/sdk/utils/wit/decode-wit-parameter.d.ts +9 -31
  129. package/dist/types/sdk/utils/wit/decode-wit-parameter.d.ts.map +1 -1
  130. package/dist/types/sdk/utils/wit/encode-wit-parameters.d.ts +9 -1
  131. package/dist/types/sdk/utils/wit/encode-wit-parameters.d.ts.map +1 -1
  132. package/dist/types/wit/built-ins.d.ts +6 -0
  133. package/dist/types/wit/built-ins.d.ts.map +1 -0
  134. package/dist/types/wit/regex.d.ts.map +1 -1
  135. package/dist/types/wit/utils.d.ts +53 -33
  136. package/dist/types/wit/utils.d.ts.map +1 -1
  137. package/dist/types/wit/wit-parser/core/errors/signature.d.ts +7 -1
  138. package/dist/types/wit/wit-parser/core/errors/signature.d.ts.map +1 -1
  139. package/dist/types/wit/wit-parser/core/signatures.d.ts +10 -0
  140. package/dist/types/wit/wit-parser/core/signatures.d.ts.map +1 -1
  141. package/dist/types/wit/wit-parser/core/types/signatures.d.ts +6 -2
  142. package/dist/types/wit/wit-parser/core/types/signatures.d.ts.map +1 -1
  143. package/dist/types/wit/wit-parser/core/types/user-defined.d.ts +134 -0
  144. package/dist/types/wit/wit-parser/core/types/user-defined.d.ts.map +1 -0
  145. package/dist/types/wit/wit-parser/core/types/utils.d.ts +86 -11
  146. package/dist/types/wit/wit-parser/core/types/utils.d.ts.map +1 -1
  147. package/dist/types/wit/wit-parser/core/user-defined.d.ts +19 -0
  148. package/dist/types/wit/wit-parser/core/user-defined.d.ts.map +1 -0
  149. package/dist/types/wit/wit-parser/core/utils.d.ts +8 -4
  150. package/dist/types/wit/wit-parser/core/utils.d.ts.map +1 -1
  151. package/dist/types/wit/wit-parser/parse-wit-parameter.d.ts +11 -5
  152. package/dist/types/wit/wit-parser/parse-wit-parameter.d.ts.map +1 -1
  153. package/dist/types/wit/wit-parser/parse-wit.d.ts +7 -3
  154. package/dist/types/wit/wit-parser/parse-wit.d.ts.map +1 -1
  155. package/dist/types/wit/wit.d.ts +20 -12
  156. package/dist/types/wit/wit.d.ts.map +1 -1
  157. package/package.json +1 -1
  158. package/src/sdk/actions/get-contract.test-d.ts +430 -50
  159. package/src/sdk/actions/get-contract.test.ts +324 -24
  160. package/src/sdk/actions/kontor/public/call-view.ts +2 -1
  161. package/src/sdk/actions/kontor/public/proc-contract.test-d.ts +107 -0
  162. package/src/sdk/actions/kontor/public/proc-contract.test.ts +234 -21
  163. package/src/sdk/actions/kontor/public/view-contract.test-d.ts +240 -0
  164. package/src/sdk/actions/kontor/public/view-contract.test.ts +613 -18
  165. package/src/sdk/chains/definitions/signet.ts +2 -2
  166. package/src/sdk/clients/base/create-rpc-client.test.ts +2 -2
  167. package/src/sdk/clients/create-public-client.test.ts +2 -2
  168. package/src/sdk/clients/kontor/create-public-client.test.ts +2 -2
  169. package/src/sdk/clients/transports/http-rpc.test.ts +0 -24
  170. package/src/sdk/test/e2e.test-deprecated.ts +195 -0
  171. package/src/sdk/types/contract.test-d.ts +489 -55
  172. package/src/sdk/types/contract.ts +6 -7
  173. package/src/sdk/utils/wit/codecs/bool.test.ts +29 -0
  174. package/src/sdk/utils/wit/codecs/bool.ts +10 -25
  175. package/src/sdk/utils/wit/codecs/contract-address.test.ts +37 -0
  176. package/src/sdk/utils/wit/codecs/contract-address.ts +114 -0
  177. package/src/sdk/utils/wit/codecs/index.ts +20 -0
  178. package/src/sdk/utils/wit/codecs/list.test-d.ts +13 -0
  179. package/src/sdk/utils/wit/codecs/list.test.ts +55 -0
  180. package/src/sdk/utils/wit/codecs/list.ts +21 -150
  181. package/src/sdk/utils/wit/codecs/numerics.test.ts +399 -0
  182. package/src/sdk/utils/wit/codecs/numerics.ts +304 -0
  183. package/src/sdk/utils/wit/codecs/option.test.ts +71 -0
  184. package/src/sdk/utils/wit/codecs/option.ts +21 -120
  185. package/src/sdk/utils/wit/codecs/result.test.ts +82 -0
  186. package/src/sdk/utils/wit/codecs/result.ts +37 -0
  187. package/src/sdk/utils/wit/codecs/string.test.ts +62 -0
  188. package/src/sdk/utils/wit/codecs/string.ts +23 -25
  189. package/src/sdk/utils/wit/codecs/types.ts +5 -0
  190. package/src/sdk/utils/wit/codecs/unit.test.ts +27 -0
  191. package/src/sdk/utils/wit/codecs/unit.ts +14 -38
  192. package/src/sdk/utils/wit/codecs/util.test.ts +221 -0
  193. package/src/sdk/utils/wit/codecs/util.ts +193 -0
  194. package/src/sdk/utils/wit/decode-wit-parameter.test.ts +1264 -32
  195. package/src/sdk/utils/wit/decode-wit-parameter.ts +508 -211
  196. package/src/sdk/utils/wit/encode-wit-parameters.test.ts +955 -91
  197. package/src/sdk/utils/wit/encode-wit-parameters.ts +277 -274
  198. package/src/sdk/utils/wit/get-wit-item.test.ts +1 -1
  199. package/src/wit/built-ins.ts +23 -0
  200. package/src/wit/regex.ts +1 -1
  201. package/src/wit/utils.ts +120 -74
  202. package/src/wit/wit-parser/core/errors/signature.ts +13 -2
  203. package/src/wit/wit-parser/core/signatures.ts +28 -0
  204. package/src/wit/wit-parser/core/types/signatures.test-d.ts +21 -0
  205. package/src/wit/wit-parser/core/types/signatures.ts +19 -2
  206. package/src/wit/wit-parser/core/types/user-defined.test-d.ts +1308 -0
  207. package/src/wit/wit-parser/core/types/user-defined.ts +412 -0
  208. package/src/wit/wit-parser/core/types/utils.test-d.ts +43 -2
  209. package/src/wit/wit-parser/core/types/utils.ts +143 -14
  210. package/src/wit/wit-parser/core/user-defined.test.ts +609 -0
  211. package/src/wit/wit-parser/core/user-defined.ts +392 -0
  212. package/src/wit/wit-parser/core/utils.test.ts +334 -115
  213. package/src/wit/wit-parser/core/utils.ts +54 -38
  214. package/src/wit/wit-parser/parse-wit-parameter.test.ts +282 -4
  215. package/src/wit/wit-parser/parse-wit-parameter.ts +37 -11
  216. package/src/wit/wit-parser/parse-wit.test.ts +738 -12
  217. package/src/wit/wit-parser/parse-wit.ts +25 -10
  218. package/src/wit/wit.ts +37 -16
  219. package/vitest.config.ts +5 -0
  220. package/dist/cjs/sdk/utils/wit/codecs/decimal.js +0 -148
  221. package/dist/cjs/sdk/utils/wit/codecs/decimal.js.map +0 -1
  222. package/dist/cjs/sdk/utils/wit/codecs/enum.js +0 -94
  223. package/dist/cjs/sdk/utils/wit/codecs/enum.js.map +0 -1
  224. package/dist/cjs/sdk/utils/wit/codecs/integer.js +0 -125
  225. package/dist/cjs/sdk/utils/wit/codecs/integer.js.map +0 -1
  226. package/dist/cjs/sdk/utils/wit/codecs/s64.js +0 -57
  227. package/dist/cjs/sdk/utils/wit/codecs/s64.js.map +0 -1
  228. package/dist/cjs/sdk/utils/wit/codecs/u64.js +0 -56
  229. package/dist/cjs/sdk/utils/wit/codecs/u64.js.map +0 -1
  230. package/dist/cjs/wit/wit-parser/core/records.js +0 -70
  231. package/dist/cjs/wit/wit-parser/core/records.js.map +0 -1
  232. package/dist/cjs/wit/wit-parser/core/types/records.js.map +0 -1
  233. package/dist/esm/sdk/utils/wit/codecs/decimal.js +0 -165
  234. package/dist/esm/sdk/utils/wit/codecs/decimal.js.map +0 -1
  235. package/dist/esm/sdk/utils/wit/codecs/enum.js +0 -104
  236. package/dist/esm/sdk/utils/wit/codecs/enum.js.map +0 -1
  237. package/dist/esm/sdk/utils/wit/codecs/integer.js +0 -167
  238. package/dist/esm/sdk/utils/wit/codecs/integer.js.map +0 -1
  239. package/dist/esm/sdk/utils/wit/codecs/s64.js +0 -65
  240. package/dist/esm/sdk/utils/wit/codecs/s64.js.map +0 -1
  241. package/dist/esm/sdk/utils/wit/codecs/u64.js +0 -63
  242. package/dist/esm/sdk/utils/wit/codecs/u64.js.map +0 -1
  243. package/dist/esm/wit/wit-parser/core/records.js +0 -73
  244. package/dist/esm/wit/wit-parser/core/records.js.map +0 -1
  245. package/dist/esm/wit/wit-parser/core/types/records.js +0 -2
  246. package/dist/esm/wit/wit-parser/core/types/records.js.map +0 -1
  247. package/dist/types/sdk/utils/wit/codecs/decimal.d.ts +0 -42
  248. package/dist/types/sdk/utils/wit/codecs/decimal.d.ts.map +0 -1
  249. package/dist/types/sdk/utils/wit/codecs/enum.d.ts +0 -49
  250. package/dist/types/sdk/utils/wit/codecs/enum.d.ts.map +0 -1
  251. package/dist/types/sdk/utils/wit/codecs/integer.d.ts +0 -36
  252. package/dist/types/sdk/utils/wit/codecs/integer.d.ts.map +0 -1
  253. package/dist/types/sdk/utils/wit/codecs/s64.d.ts +0 -23
  254. package/dist/types/sdk/utils/wit/codecs/s64.d.ts.map +0 -1
  255. package/dist/types/sdk/utils/wit/codecs/u64.d.ts +0 -23
  256. package/dist/types/sdk/utils/wit/codecs/u64.d.ts.map +0 -1
  257. package/dist/types/wit/wit-parser/core/records.d.ts +0 -4
  258. package/dist/types/wit/wit-parser/core/records.d.ts.map +0 -1
  259. package/dist/types/wit/wit-parser/core/types/records.d.ts +0 -51
  260. package/dist/types/wit/wit-parser/core/types/records.d.ts.map +0 -1
  261. package/src/sdk/test/e2e.test.ts +0 -194
  262. package/src/sdk/utils/wit/codecs/decimal.ts +0 -215
  263. package/src/sdk/utils/wit/codecs/enum.ts +0 -114
  264. package/src/sdk/utils/wit/codecs/integer.ts +0 -193
  265. package/src/sdk/utils/wit/codecs/s64.ts +0 -76
  266. package/src/sdk/utils/wit/codecs/u64.ts +0 -73
  267. package/src/wit/wit-parser/core/records.test.ts +0 -69
  268. package/src/wit/wit-parser/core/records.ts +0 -101
  269. package/src/wit/wit-parser/core/types/records.test-d.ts +0 -331
  270. 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 { U64Codec } from "./codecs/u64.js";
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
- const preparedParams = prepareParams({
17
- params: params,
18
- values: values,
19
- });
20
- const encoded = encodeParams(preparedParams);
21
- return encoded;
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
- function prepareParams({ params, values, }) {
24
- const preparedParams = [];
25
- for (let i = 0; i < params.length; i++) {
26
- preparedParams.push(prepareParam({ param: params[i], value: values[i] }));
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 prepareParam({ param, value, }) {
31
- // TODO: this is a little smelly
32
- const isOption = getOptionComponent(param.type);
33
- if (isOption) {
34
- const type = param.type;
35
- switch (type) {
36
- case "option<bool>":
37
- return {
38
- encoded: OptionCodecFactory.create(BoolCodec)
39
- .fromJs(value)
40
- .toWave(),
41
- };
42
- case "option<string>": {
43
- return {
44
- encoded: OptionCodecFactory.create(StringCodec)
45
- .fromJs(value)
46
- .toWave(),
47
- };
48
- }
49
- case "option<integer>": {
50
- return {
51
- encoded: OptionCodecFactory.create(IntegerCodec)
52
- .fromJs(value)
53
- .toWave(),
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 "option<decimal>": {
57
- return {
58
- encoded: OptionCodecFactory.create(DecimalCodec)
59
- .fromJs(value)
60
- .toWave(),
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
- // signed ints
64
- case "option<s8>":
65
- case "option<s16>":
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 isList = getListComponents(param.type);
114
- if (isList) {
115
- const type = param.type;
116
- switch (type) {
117
- case "list<bool>":
118
- return {
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
- case "list<s64>":
145
- return {
146
- encoded: ListCodecFactory.create(S64Codec)
147
- .fromJs(value)
148
- .toWave(),
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
- if (param.type === "bool") {
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":"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"}
1
+ {"version":3,"file":"encode-wit-parameters.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/encode-wit-parameters.ts"],"names":[],"mappings":"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"}