@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,92 +1,100 @@
1
1
  import { InvalidWitEncodingTypeError } from "../../errors/wit.js";
2
- import { DecimalCodec } from "./codecs/decimal.js";
3
- import { IntegerCodec } from "./codecs/integer.js";
4
- import { U64Codec } from "./codecs/u64.js";
5
- import { S64Codec } from "./codecs/s64.js";
6
- import { BoolCodec } from "./codecs/bool.js";
7
- import { StringCodec } from "./codecs/string.js";
8
- import { OptionCodecFactory } from "./codecs/option.js";
9
- import { ListCodecFactory } from "./codecs/list.js";
10
- import { makeDecoder, } from "./codecs/types.js";
2
+ import * as C from "./codecs/index.js";
3
+ import { WitError } from "../../../wit/built-ins.js";
11
4
  export function decodeWitParameter(value, param) {
12
5
  const decoder = decoderForParam(param);
13
6
  return {
14
- decoded: decoder.decode(value),
7
+ decoded: decoder.decodeWave(value),
15
8
  };
16
9
  }
17
- export function decodeTuple(record, param) {
10
+ export function RecordCodec(param) {
18
11
  if (!param.components) {
19
- throw new Error("Tuple parameter missing components");
12
+ throw new Error("Record parameter missing components");
20
13
  }
21
- return param.components.reduce((acc, component) => {
22
- if (!component.name) {
23
- throw new Error("Tuple component missing name");
24
- }
25
- const fieldValue = record[component.name];
26
- const decoder = decoderForParam(component);
27
- // @ts-ignore
28
- acc[component.name] = decoder.decode(fieldValue);
29
- return acc;
30
- }, {});
14
+ return {
15
+ decodeWave(expr) {
16
+ const record = parseWitRecord(expr);
17
+ const result = {};
18
+ for (const component of param.components) {
19
+ if (!component.name) {
20
+ throw new Error("Record component missing name");
21
+ }
22
+ const fieldValue = record[component.name];
23
+ if (fieldValue === undefined) {
24
+ throw new Error(`Record missing field "${component.name}"`);
25
+ }
26
+ const decoder = decoderForParam(component);
27
+ result[component.name] = decoder.decodeWave(fieldValue);
28
+ }
29
+ return result;
30
+ },
31
+ encodeWave(_value) {
32
+ throw new Error("RecordCodec.encodeWave not implemented for decoding context");
33
+ },
34
+ };
31
35
  }
32
- export class TupleCodecInstance {
33
- // 'data' holds the raw parsed JSON object representing the encoded tuple
34
- constructor(data, param) {
35
- Object.defineProperty(this, "data", {
36
- enumerable: true,
37
- configurable: true,
38
- writable: true,
39
- value: data
40
- });
41
- Object.defineProperty(this, "param", {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: param
46
- });
47
- }
48
- // Fixes Error 2416: Property 'toWave' must return the branded type WaveExpr
49
- toWave() {
50
- // Converts JS data back to the wave format (usually a stringified object)
51
- throw new Error("TupleCodec.toWave not implemented for decoding context");
52
- }
53
- toJs() {
54
- // The core decoding step: recursively call decodeTuple
55
- return decodeTuple(this.data, this.param);
36
+ export function VariantCodec(param) {
37
+ if (!param.components) {
38
+ throw new Error("Variant parameter missing components");
56
39
  }
40
+ return {
41
+ decodeWave(expr) {
42
+ // Variant format is either:
43
+ // - "case-name" (for cases without payload)
44
+ // - "case-name(value)" (for cases with payload)
45
+ const match = expr.match(/^([a-z][a-z0-9-]*)(?:\((.*)\))?$/s);
46
+ if (!match) {
47
+ throw new Error(`Invalid variant format: ${expr}`);
48
+ }
49
+ const [, caseName, payload] = match;
50
+ // Find the matching variant case
51
+ const variantCase = param.components.find((c) => c.name === caseName);
52
+ if (!variantCase) {
53
+ throw new Error(`Unknown variant case: ${caseName}`);
54
+ }
55
+ // If the case has no payload (type is "_")
56
+ if (variantCase.type === "_") {
57
+ if (payload) {
58
+ throw new Error(`Variant case ${caseName} expects no payload but got: ${payload}`);
59
+ }
60
+ return [caseName, undefined];
61
+ }
62
+ // Case expects a payload
63
+ if (!payload) {
64
+ throw new Error(`Variant case ${caseName} expects a payload but got none`);
65
+ }
66
+ // Decode the payload according to the case's type
67
+ const decoder = decoderForParam(variantCase);
68
+ const decodedValue = decoder.decodeWave(payload);
69
+ return [caseName, decodedValue];
70
+ },
71
+ encodeWave(_value) {
72
+ throw new Error("VariantCodec.encodeWave not implemented for decoding context");
73
+ },
74
+ };
57
75
  }
58
- export function makeTupleCodecConstructor(param) {
76
+ export function EnumCodec(param) {
59
77
  if (!param.components) {
60
- throw new Error("Cannot create TupleCodec: Parameter missing components");
61
- }
62
- // 2. Define the CodecConstructor class with static methods
63
- // We remove 'implements CodecConstructor<any, any, any>' as the function returns the class itself
64
- // (Fixes Error 2420, although the original code had the static methods, this clarifies intent).
65
- class TupleCodec {
66
- // --- Static CodecConstructor methods ---
67
- // Called to create an instance from a JavaScript value (e.g., when encoding)
68
- static fromJs(_value) {
69
- // NOTE: Full encoding implementation is omitted for focus
70
- throw new Error("TupleCodec.fromJs not implemented for decoding context");
71
- }
72
- // Called to parse the raw encoded string into a JavaScript object (Wave Data)
73
- static parseWave(expr) {
74
- // For tuples, the raw encoded string is the JSON representation.
75
- return parseWitRecord(expr);
76
- }
77
- // Called to create an instance from the parsed Wave Data
78
- static fromKontor(data) {
79
- // Pass the original parameter definition to the instance for use in toJs()
80
- return new TupleCodecInstance(data, param);
81
- }
82
- // --- Instance constructor (optional, mainly for type checking compatibility) ---
83
- constructor(data) {
84
- // Delegate to the static factory to ensure the instance is correctly initialized
85
- return TupleCodec.fromKontor(data);
86
- }
78
+ throw new Error("Enum parameter missing components (cases)");
87
79
  }
88
- // 3. Cast the class to the correct CodecConstructor type
89
- return TupleCodec;
80
+ const validCases = param.components.map((c) => c.name);
81
+ return {
82
+ decodeWave(expr) {
83
+ const caseName = expr.trim();
84
+ // Validate that it's a valid case
85
+ if (!validCases.includes(caseName)) {
86
+ throw new Error(`Invalid enum case "${caseName}". Valid cases: ${validCases.join(", ")}`);
87
+ }
88
+ return caseName;
89
+ },
90
+ encodeWave(value) {
91
+ // Validate that it's a valid case
92
+ if (!validCases.includes(value)) {
93
+ throw new Error(`Invalid enum case "${value}". Valid cases: ${validCases.join(", ")}`);
94
+ }
95
+ return value;
96
+ },
97
+ };
90
98
  }
91
99
  export function parseWitRecord(raw) {
92
100
  // Remove leading/trailing whitespace and outer braces
@@ -117,7 +125,6 @@ export function parseWitRecord(raw) {
117
125
  }
118
126
  else if (char === "," && depth === 0) {
119
127
  // Found separator between key-value pairs
120
- // @ts-ignore
121
128
  result[currentKey.trim()] = currentValue.trim();
122
129
  currentKey = "";
123
130
  currentValue = "";
@@ -137,157 +144,284 @@ export function parseWitRecord(raw) {
137
144
  }
138
145
  // Add the last key-value pair
139
146
  if (currentKey.trim()) {
140
- // @ts-ignore
141
147
  result[currentKey.trim()] = currentValue.trim();
142
148
  }
143
149
  return result;
144
150
  }
145
- function decoderForParam(p) {
151
+ export function decoderForParam(p) {
146
152
  const t = p.type;
147
153
  switch (t) {
148
- // --- tuples -------------------------------------------------
149
- case "tuple":
150
- return makeDecoder(makeTupleCodecConstructor(p));
151
- case "option<tuple>":
152
- return makeDecoder(OptionCodecFactory.create(makeTupleCodecConstructor(p)));
153
- case "list<tuple>":
154
- return makeDecoder(ListCodecFactory.create(makeTupleCodecConstructor(p)));
155
- // --- string -------------------------------------------------
154
+ // --- variant -----------------------------------------------
155
+ case "variant":
156
+ return VariantCodec(p);
157
+ case "option<variant>":
158
+ return C.OptionCodec(VariantCodec(p));
159
+ case "list<variant>":
160
+ return C.ListCodec(VariantCodec(p));
161
+ case "result<variant, error>":
162
+ return C.ResultCodec(VariantCodec(p), VariantCodec(WitError.param));
163
+ // --- record -------------------------------------------------
164
+ case "record":
165
+ return RecordCodec(p);
166
+ case "option<record>":
167
+ return C.OptionCodec(RecordCodec(p));
168
+ case "list<record>":
169
+ return C.ListCodec(RecordCodec(p));
170
+ case "result<record, error>":
171
+ return C.ResultCodec(RecordCodec(p), VariantCodec(WitError.param));
172
+ // --- enum --------------------------------------------------
173
+ case "enum":
174
+ return EnumCodec(p);
175
+ case "option<enum>":
176
+ return C.OptionCodec(EnumCodec(p));
177
+ case "list<enum>":
178
+ return C.ListCodec(EnumCodec(p));
179
+ case "result<enum, error>":
180
+ return C.ResultCodec(EnumCodec(p), VariantCodec(WitError.param));
181
+ // --- string ------------------------------------------------
156
182
  case "string":
157
- return makeDecoder(StringCodec);
183
+ return C.StringCodec;
158
184
  case "option<string>":
159
- return makeDecoder(OptionCodecFactory.create(StringCodec));
185
+ return C.OptionCodec(C.StringCodec);
160
186
  case "list<string>":
161
- return makeDecoder(ListCodecFactory.create(StringCodec));
162
- // --- decimal ------------------------------------------------
187
+ return C.ListCodec(C.StringCodec);
188
+ case "result<string, error>":
189
+ return C.ResultCodec(C.StringCodec, VariantCodec(WitError.param));
190
+ // --- decimal -----------------------------------------------
163
191
  case "decimal":
164
- return makeDecoder(DecimalCodec);
192
+ return C.DecimalCodec;
165
193
  case "option<decimal>":
166
- return makeDecoder(OptionCodecFactory.create(DecimalCodec));
194
+ return C.OptionCodec(C.DecimalCodec);
167
195
  case "list<decimal>":
168
- return makeDecoder(ListCodecFactory.create(DecimalCodec));
169
- // --- bool ---------------------------------------------------
196
+ return C.ListCodec(C.DecimalCodec);
197
+ case "result<decimal, error>":
198
+ return C.ResultCodec(C.DecimalCodec, VariantCodec(WitError.param));
199
+ // --- bool --------------------------------------------------
170
200
  case "bool":
171
- return makeDecoder(BoolCodec);
201
+ return C.BoolCodec;
172
202
  case "option<bool>":
173
- return makeDecoder(OptionCodecFactory.create(BoolCodec));
203
+ return C.OptionCodec(C.BoolCodec);
174
204
  case "list<bool>":
175
- return makeDecoder(ListCodecFactory.create(BoolCodec));
176
- // --- u64 ----------------------------------------------------
177
- case "u64":
178
- return makeDecoder(U64Codec);
179
- case "option<u64>":
180
- return makeDecoder(OptionCodecFactory.create(U64Codec));
181
- case "list<u64>":
182
- return makeDecoder(ListCodecFactory.create(U64Codec));
183
- // --- s64 ----------------------------------------------------
184
- case "s64":
185
- return makeDecoder(S64Codec);
186
- case "option<s64>":
187
- return makeDecoder(OptionCodecFactory.create(S64Codec));
188
- case "list<s64>":
189
- return makeDecoder(ListCodecFactory.create(S64Codec));
190
- // --- integer ------------------------------------------------
205
+ return C.ListCodec(C.BoolCodec);
206
+ case "result<bool, error>":
207
+ return C.ResultCodec(C.BoolCodec, VariantCodec(WitError.param));
208
+ // --- integer -----------------------------------------------
191
209
  case "integer":
192
- return makeDecoder(IntegerCodec);
210
+ return C.IntegerCodec;
193
211
  case "option<integer>":
194
- return makeDecoder(OptionCodecFactory.create(IntegerCodec));
212
+ return C.OptionCodec(C.IntegerCodec);
195
213
  case "list<integer>":
196
- return makeDecoder(ListCodecFactory.create(IntegerCodec));
197
- // --- not supported (yet) -----------------------------------
198
- case "error":
199
- case "contract-address":
200
- case "s8":
201
- case "s16":
202
- case "s32":
214
+ return C.ListCodec(C.IntegerCodec);
215
+ case "result<integer, error>":
216
+ return C.ResultCodec(C.IntegerCodec, VariantCodec(WitError.param));
217
+ // --- u8 ----------------------------------------------------
203
218
  case "u8":
204
- case "u16":
205
- case "u32":
206
- case "option<s8>":
207
- case "option<s16>":
208
- case "option<s32>":
219
+ return C.U8Codec;
209
220
  case "option<u8>":
210
- case "option<u16>":
211
- case "option<u32>":
212
- case "option<_>":
213
- case "list<s8>":
214
- case "list<s16>":
215
- case "list<s32>":
221
+ return C.OptionCodec(C.U8Codec);
216
222
  case "list<u8>":
223
+ return C.ListCodec(C.U8Codec);
224
+ case "result<u8, error>":
225
+ return C.ResultCodec(C.U8Codec, VariantCodec(WitError.param));
226
+ // --- u16 ---------------------------------------------------
227
+ case "u16":
228
+ return C.U16Codec;
229
+ case "option<u16>":
230
+ return C.OptionCodec(C.U16Codec);
217
231
  case "list<u16>":
232
+ return C.ListCodec(C.U16Codec);
233
+ case "result<u16, error>":
234
+ return C.ResultCodec(C.U16Codec, VariantCodec(WitError.param));
235
+ // --- u32 ---------------------------------------------------
236
+ case "u32":
237
+ return C.U32Codec;
238
+ case "option<u32>":
239
+ return C.OptionCodec(C.U32Codec);
218
240
  case "list<u32>":
219
- case "list<_>":
220
- case "result<_, error>":
221
- case "result<string, error>":
222
- case "result<bool, error>":
241
+ return C.ListCodec(C.U32Codec);
242
+ case "result<u32, error>":
243
+ return C.ResultCodec(C.U32Codec, VariantCodec(WitError.param));
244
+ // --- u64 ---------------------------------------------------
245
+ case "u64":
246
+ return C.U64Codec;
247
+ case "option<u64>":
248
+ return C.OptionCodec(C.U64Codec);
249
+ case "list<u64>":
250
+ return C.ListCodec(C.U64Codec);
251
+ case "result<u64, error>":
252
+ return C.ResultCodec(C.U64Codec, VariantCodec(WitError.param));
253
+ // --- s8 ----------------------------------------------------
254
+ case "s8":
255
+ return C.S8Codec;
256
+ case "option<s8>":
257
+ return C.OptionCodec(C.S8Codec);
258
+ case "list<s8>":
259
+ return C.ListCodec(C.S8Codec);
223
260
  case "result<s8, error>":
261
+ return C.ResultCodec(C.S8Codec, VariantCodec(WitError.param));
262
+ // --- s16 ---------------------------------------------------
263
+ case "s16":
264
+ return C.S16Codec;
265
+ case "option<s16>":
266
+ return C.OptionCodec(C.S16Codec);
267
+ case "list<s16>":
268
+ return C.ListCodec(C.S16Codec);
224
269
  case "result<s16, error>":
270
+ return C.ResultCodec(C.S16Codec, VariantCodec(WitError.param));
271
+ // --- s32 ---------------------------------------------------
272
+ case "s32":
273
+ return C.S32Codec;
274
+ case "option<s32>":
275
+ return C.OptionCodec(C.S32Codec);
276
+ case "list<s32>":
277
+ return C.ListCodec(C.S32Codec);
225
278
  case "result<s32, error>":
279
+ return C.ResultCodec(C.S32Codec, VariantCodec(WitError.param));
280
+ // --- s64 ---------------------------------------------------
281
+ case "s64":
282
+ return C.S64Codec;
283
+ case "option<s64>":
284
+ return C.OptionCodec(C.S64Codec);
285
+ case "list<s64>":
286
+ return C.ListCodec(C.S64Codec);
226
287
  case "result<s64, error>":
227
- case "result<u8, error>":
228
- case "result<u16, error>":
229
- case "result<u32, error>":
230
- case "result<u64, error>":
231
- case "result<decimal, error>":
232
- case "result<integer, error>":
233
- case "result<tuple, error>":
234
- case "result<option<string>, error>":
235
- case "result<option<bool>, error>":
236
- case "result<option<s8>, error>":
237
- case "result<option<s16>, error>":
238
- case "result<option<s32>, error>":
239
- case "result<option<s64>, error>":
240
- case "result<option<u8>, error>":
241
- case "result<option<u16>, error>":
242
- case "result<option<u32>, error>":
243
- case "result<option<u64>, error>":
244
- case "result<option<decimal>, error>":
245
- case "result<option<integer>, error>":
288
+ return C.ResultCodec(C.S64Codec, VariantCodec(WitError.param));
289
+ // --- unit (special cases) ----------------------------------
290
+ case "option<_>":
291
+ return C.OptionCodec(C.UnitCodec);
292
+ case "result<_, error>":
293
+ return C.ResultCodec(C.UnitCodec, VariantCodec(WitError.param));
246
294
  case "result<option<_>, error>":
247
- case "result<option<tuple>, error>":
295
+ return C.ResultCodec(C.OptionCodec(C.UnitCodec), VariantCodec(WitError.param));
296
+ // --- option of list (nested) -------------------------------
248
297
  case "option<list<string>>":
298
+ return C.OptionCodec(C.ListCodec(C.StringCodec));
299
+ case "option<list<decimal>>":
300
+ return C.OptionCodec(C.ListCodec(C.DecimalCodec));
249
301
  case "option<list<bool>>":
250
- case "option<list<s8>>":
251
- case "option<list<s16>>":
252
- case "option<list<s32>>":
253
- case "option<list<s64>>":
302
+ return C.OptionCodec(C.ListCodec(C.BoolCodec));
303
+ case "option<list<integer>>":
304
+ return C.OptionCodec(C.ListCodec(C.IntegerCodec));
254
305
  case "option<list<u8>>":
306
+ return C.OptionCodec(C.ListCodec(C.U8Codec));
255
307
  case "option<list<u16>>":
308
+ return C.OptionCodec(C.ListCodec(C.U16Codec));
256
309
  case "option<list<u32>>":
310
+ return C.OptionCodec(C.ListCodec(C.U32Codec));
257
311
  case "option<list<u64>>":
258
- case "option<list<decimal>>":
259
- case "option<list<integer>>":
260
- case "option<list<_>>":
261
- case "option<list<tuple>>":
262
- case "result<option<list<string>>, error>":
263
- case "result<option<list<bool>>, error>":
264
- case "result<option<list<s8>>, error>":
265
- case "result<option<list<s16>>, error>":
266
- case "result<option<list<s32>>, error>":
267
- case "result<option<list<s64>>, error>":
268
- case "result<option<list<u8>>, error>":
269
- case "result<option<list<u16>>, error>":
270
- case "result<option<list<u32>>, error>":
271
- case "result<option<list<u64>>, error>":
272
- case "result<option<list<decimal>>, error>":
273
- case "result<option<list<integer>>, error>":
274
- case "result<option<list<_>>, error>":
275
- case "result<option<list<tuple>>, error>":
312
+ return C.OptionCodec(C.ListCodec(C.U64Codec));
313
+ case "option<list<s8>>":
314
+ return C.OptionCodec(C.ListCodec(C.S8Codec));
315
+ case "option<list<s16>>":
316
+ return C.OptionCodec(C.ListCodec(C.S16Codec));
317
+ case "option<list<s32>>":
318
+ return C.OptionCodec(C.ListCodec(C.S32Codec));
319
+ case "option<list<s64>>":
320
+ return C.OptionCodec(C.ListCodec(C.S64Codec));
321
+ case "option<list<variant>>":
322
+ return C.OptionCodec(C.ListCodec(VariantCodec(p)));
323
+ case "option<list<record>>":
324
+ return C.OptionCodec(C.ListCodec(RecordCodec(p)));
325
+ case "option<list<enum>>":
326
+ return C.OptionCodec(C.ListCodec(EnumCodec(p)));
327
+ // --- result of option (nested) -----------------------------
328
+ case "result<option<string>, error>":
329
+ return C.ResultCodec(C.OptionCodec(C.StringCodec), VariantCodec(WitError.param));
330
+ case "result<option<decimal>, error>":
331
+ return C.ResultCodec(C.OptionCodec(C.DecimalCodec), VariantCodec(WitError.param));
332
+ case "result<option<bool>, error>":
333
+ return C.ResultCodec(C.OptionCodec(C.BoolCodec), VariantCodec(WitError.param));
334
+ case "result<option<integer>, error>":
335
+ return C.ResultCodec(C.OptionCodec(C.IntegerCodec), VariantCodec(WitError.param));
336
+ case "result<option<u8>, error>":
337
+ return C.ResultCodec(C.OptionCodec(C.U8Codec), VariantCodec(WitError.param));
338
+ case "result<option<u16>, error>":
339
+ return C.ResultCodec(C.OptionCodec(C.U16Codec), VariantCodec(WitError.param));
340
+ case "result<option<u32>, error>":
341
+ return C.ResultCodec(C.OptionCodec(C.U32Codec), VariantCodec(WitError.param));
342
+ case "result<option<u64>, error>":
343
+ return C.ResultCodec(C.OptionCodec(C.U64Codec), VariantCodec(WitError.param));
344
+ case "result<option<s8>, error>":
345
+ return C.ResultCodec(C.OptionCodec(C.S8Codec), VariantCodec(WitError.param));
346
+ case "result<option<s16>, error>":
347
+ return C.ResultCodec(C.OptionCodec(C.S16Codec), VariantCodec(WitError.param));
348
+ case "result<option<s32>, error>":
349
+ return C.ResultCodec(C.OptionCodec(C.S32Codec), VariantCodec(WitError.param));
350
+ case "result<option<s64>, error>":
351
+ return C.ResultCodec(C.OptionCodec(C.S64Codec), VariantCodec(WitError.param));
352
+ case "result<option<variant>, error>":
353
+ return C.ResultCodec(C.OptionCodec(VariantCodec(p)), VariantCodec(WitError.param));
354
+ case "result<option<record>, error>":
355
+ return C.ResultCodec(C.OptionCodec(RecordCodec(p)), VariantCodec(WitError.param));
356
+ case "result<option<enum>, error>":
357
+ return C.ResultCodec(C.OptionCodec(EnumCodec(p)), VariantCodec(WitError.param));
358
+ // --- result of list (nested) -------------------------------
276
359
  case "result<list<string>, error>":
360
+ return C.ResultCodec(C.ListCodec(C.StringCodec), VariantCodec(WitError.param));
361
+ case "result<list<decimal>, error>":
362
+ return C.ResultCodec(C.ListCodec(C.DecimalCodec), VariantCodec(WitError.param));
277
363
  case "result<list<bool>, error>":
278
- case "result<list<s8>, error>":
279
- case "result<list<s16>, error>":
280
- case "result<list<s32>, error>":
281
- case "result<list<s64>, error>":
364
+ return C.ResultCodec(C.ListCodec(C.BoolCodec), VariantCodec(WitError.param));
365
+ case "result<list<integer>, error>":
366
+ return C.ResultCodec(C.ListCodec(C.IntegerCodec), VariantCodec(WitError.param));
282
367
  case "result<list<u8>, error>":
368
+ return C.ResultCodec(C.ListCodec(C.U8Codec), VariantCodec(WitError.param));
283
369
  case "result<list<u16>, error>":
370
+ return C.ResultCodec(C.ListCodec(C.U16Codec), VariantCodec(WitError.param));
284
371
  case "result<list<u32>, error>":
372
+ return C.ResultCodec(C.ListCodec(C.U32Codec), VariantCodec(WitError.param));
285
373
  case "result<list<u64>, error>":
286
- case "result<list<decimal>, error>":
287
- case "result<list<integer>, error>":
288
- case "result<list<_>, error>":
289
- case "result<list<tuple>, error>":
290
- throw new InvalidWitEncodingTypeError(t, { docsPath: "tk" });
374
+ return C.ResultCodec(C.ListCodec(C.U64Codec), VariantCodec(WitError.param));
375
+ case "result<list<s8>, error>":
376
+ return C.ResultCodec(C.ListCodec(C.S8Codec), VariantCodec(WitError.param));
377
+ case "result<list<s16>, error>":
378
+ return C.ResultCodec(C.ListCodec(C.S16Codec), VariantCodec(WitError.param));
379
+ case "result<list<s32>, error>":
380
+ return C.ResultCodec(C.ListCodec(C.S32Codec), VariantCodec(WitError.param));
381
+ case "result<list<s64>, error>":
382
+ return C.ResultCodec(C.ListCodec(C.S64Codec), VariantCodec(WitError.param));
383
+ case "result<list<variant>, error>":
384
+ return C.ResultCodec(C.ListCodec(VariantCodec(p)), VariantCodec(WitError.param));
385
+ case "result<list<record>, error>":
386
+ return C.ResultCodec(C.ListCodec(RecordCodec(p)), VariantCodec(WitError.param));
387
+ case "result<list<enum>, error>":
388
+ return C.ResultCodec(C.ListCodec(EnumCodec(p)), VariantCodec(WitError.param));
389
+ case "result<option<_>, error>":
390
+ return C.ResultCodec(C.OptionCodec(C.UnitCodec), VariantCodec(WitError.param));
391
+ case "result<option<list<string>>, error>":
392
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.StringCodec)), VariantCodec(WitError.param));
393
+ case "result<option<list<decimal>>, error>":
394
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.DecimalCodec)), VariantCodec(WitError.param));
395
+ case "result<option<list<bool>>, error>":
396
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.BoolCodec)), VariantCodec(WitError.param));
397
+ case "result<option<list<integer>>, error>":
398
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.IntegerCodec)), VariantCodec(WitError.param));
399
+ case "result<option<list<u8>>, error>":
400
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.U8Codec)), VariantCodec(WitError.param));
401
+ case "result<option<list<u16>>, error>":
402
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.U16Codec)), VariantCodec(WitError.param));
403
+ case "result<option<list<u32>>, error>":
404
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.U32Codec)), VariantCodec(WitError.param));
405
+ case "result<option<list<u64>>, error>":
406
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.U64Codec)), VariantCodec(WitError.param));
407
+ case "result<option<list<s8>>, error>":
408
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.S8Codec)), VariantCodec(WitError.param));
409
+ case "result<option<list<s16>>, error>":
410
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.S16Codec)), VariantCodec(WitError.param));
411
+ case "result<option<list<s32>>, error>":
412
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.S32Codec)), VariantCodec(WitError.param));
413
+ case "result<option<list<s64>>, error>":
414
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(C.S64Codec)), VariantCodec(WitError.param));
415
+ case "result<option<list<variant>>, error>":
416
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(VariantCodec(p))), VariantCodec(WitError.param));
417
+ case "result<option<list<record>>, error>":
418
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(RecordCodec(p))), VariantCodec(WitError.param));
419
+ case "result<option<list<enum>>, error>":
420
+ return C.ResultCodec(C.OptionCodec(C.ListCodec(EnumCodec(p))), VariantCodec(WitError.param));
421
+ case "error":
422
+ return VariantCodec(WitError.param);
423
+ case "contract-address":
424
+ return C.ContractAddressCodec;
291
425
  default: {
292
426
  t;
293
427
  throw new InvalidWitEncodingTypeError(t, { docsPath: "tk" });
@@ -1 +1 @@
1
- {"version":3,"file":"decode-wit-parameter.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/decode-wit-parameter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decode-wit-parameter.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/decode-wit-parameter.ts"],"names":[],"mappings":"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"}