@kontor/kontor-sdk 1.0.0-alpha.15 → 1.0.0-alpha.16

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 (293) hide show
  1. package/dist/cjs/exports/index.js +17 -1
  2. package/dist/cjs/exports/index.js.map +1 -1
  3. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  4. package/dist/esm/exports/index.js +8 -0
  5. package/dist/esm/exports/index.js.map +1 -1
  6. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  7. package/dist/types/exports/index.d.ts +8 -0
  8. package/dist/types/exports/index.d.ts.map +1 -1
  9. package/package.json +2 -6
  10. package/src/exports/index.ts +44 -0
  11. package/dist/src/exports/index.js +0 -11
  12. package/dist/src/exports/index.js.map +0 -1
  13. package/dist/src/exports/index.test.js +0 -10
  14. package/dist/src/exports/index.test.js.map +0 -1
  15. package/dist/src/sdk/accounts/hd-key-to-account.js +0 -20
  16. package/dist/src/sdk/accounts/hd-key-to-account.js.map +0 -1
  17. package/dist/src/sdk/accounts/mnemonic-to-account.js +0 -16
  18. package/dist/src/sdk/accounts/mnemonic-to-account.js.map +0 -1
  19. package/dist/src/sdk/accounts/mnemonic-to-account.test.js +0 -96
  20. package/dist/src/sdk/accounts/mnemonic-to-account.test.js.map +0 -1
  21. package/dist/src/sdk/accounts/private-key-to-account.js +0 -42
  22. package/dist/src/sdk/accounts/private-key-to-account.js.map +0 -1
  23. package/dist/src/sdk/accounts/to-local-account.js +0 -28
  24. package/dist/src/sdk/accounts/to-local-account.js.map +0 -1
  25. package/dist/src/sdk/accounts/types.js +0 -2
  26. package/dist/src/sdk/accounts/types.js.map +0 -1
  27. package/dist/src/sdk/accounts/utils/parse-account.js +0 -10
  28. package/dist/src/sdk/accounts/utils/parse-account.js.map +0 -1
  29. package/dist/src/sdk/accounts/utils/public-key-to-p2tr-payment.js +0 -14
  30. package/dist/src/sdk/accounts/utils/public-key-to-p2tr-payment.js.map +0 -1
  31. package/dist/src/sdk/accounts/utils/sign-psbt.js +0 -17
  32. package/dist/src/sdk/accounts/utils/sign-psbt.js.map +0 -1
  33. package/dist/src/sdk/actions/get-contract.js +0 -50
  34. package/dist/src/sdk/actions/get-contract.js.map +0 -1
  35. package/dist/src/sdk/actions/get-contract.test-d.js +0 -43
  36. package/dist/src/sdk/actions/get-contract.test-d.js.map +0 -1
  37. package/dist/src/sdk/actions/kontor/public/build-compose-query.js +0 -30
  38. package/dist/src/sdk/actions/kontor/public/build-compose-query.js.map +0 -1
  39. package/dist/src/sdk/actions/kontor/public/build-instruction-query.js +0 -45
  40. package/dist/src/sdk/actions/kontor/public/build-instruction-query.js.map +0 -1
  41. package/dist/src/sdk/actions/kontor/public/call-compose.js +0 -38
  42. package/dist/src/sdk/actions/kontor/public/call-compose.js.map +0 -1
  43. package/dist/src/sdk/actions/kontor/public/call-view.js +0 -21
  44. package/dist/src/sdk/actions/kontor/public/call-view.js.map +0 -1
  45. package/dist/src/sdk/actions/kontor/public/inspect.js +0 -20
  46. package/dist/src/sdk/actions/kontor/public/inspect.js.map +0 -1
  47. package/dist/src/sdk/actions/kontor/public/proc-contract.js +0 -54
  48. package/dist/src/sdk/actions/kontor/public/proc-contract.js.map +0 -1
  49. package/dist/src/sdk/actions/kontor/public/proc-contract.test.js +0 -47
  50. package/dist/src/sdk/actions/kontor/public/proc-contract.test.js.map +0 -1
  51. package/dist/src/sdk/actions/kontor/public/view-contract.js +0 -43
  52. package/dist/src/sdk/actions/kontor/public/view-contract.js.map +0 -1
  53. package/dist/src/sdk/actions/kontor/public/view-contract.test-d.js +0 -43
  54. package/dist/src/sdk/actions/kontor/public/view-contract.test-d.js.map +0 -1
  55. package/dist/src/sdk/actions/kontor/wallet/sign-commit.js +0 -34
  56. package/dist/src/sdk/actions/kontor/wallet/sign-commit.js.map +0 -1
  57. package/dist/src/sdk/actions/kontor/wallet/sign-reveal.js +0 -88
  58. package/dist/src/sdk/actions/kontor/wallet/sign-reveal.js.map +0 -1
  59. package/dist/src/sdk/actions/public/send-raw-transaction.js +0 -7
  60. package/dist/src/sdk/actions/public/send-raw-transaction.js.map +0 -1
  61. package/dist/src/sdk/actions/public/test-mempool-accept.js +0 -20
  62. package/dist/src/sdk/actions/public/test-mempool-accept.js.map +0 -1
  63. package/dist/src/sdk/actions/wallet/get-addresses.js +0 -20
  64. package/dist/src/sdk/actions/wallet/get-addresses.js.map +0 -1
  65. package/dist/src/sdk/actions/wallet/sign-psbt.js +0 -28
  66. package/dist/src/sdk/actions/wallet/sign-psbt.js.map +0 -1
  67. package/dist/src/sdk/chains/definitions/index.js +0 -2
  68. package/dist/src/sdk/chains/definitions/index.js.map +0 -1
  69. package/dist/src/sdk/chains/definitions/signet.js +0 -36
  70. package/dist/src/sdk/chains/definitions/signet.js.map +0 -1
  71. package/dist/src/sdk/clients/base/create-http-client.js +0 -41
  72. package/dist/src/sdk/clients/base/create-http-client.js.map +0 -1
  73. package/dist/src/sdk/clients/base/create-rpc-client.js +0 -41
  74. package/dist/src/sdk/clients/base/create-rpc-client.js.map +0 -1
  75. package/dist/src/sdk/clients/base/create-rpc-client.test.js +0 -145
  76. package/dist/src/sdk/clients/base/create-rpc-client.test.js.map +0 -1
  77. package/dist/src/sdk/clients/create-public-client.js +0 -13
  78. package/dist/src/sdk/clients/create-public-client.js.map +0 -1
  79. package/dist/src/sdk/clients/create-public-client.test.js +0 -113
  80. package/dist/src/sdk/clients/create-public-client.test.js.map +0 -1
  81. package/dist/src/sdk/clients/create-wallet-client.js +0 -14
  82. package/dist/src/sdk/clients/create-wallet-client.js.map +0 -1
  83. package/dist/src/sdk/clients/decorators/kontor/public.js +0 -19
  84. package/dist/src/sdk/clients/decorators/kontor/public.js.map +0 -1
  85. package/dist/src/sdk/clients/decorators/kontor/wallet.js +0 -13
  86. package/dist/src/sdk/clients/decorators/kontor/wallet.js.map +0 -1
  87. package/dist/src/sdk/clients/decorators/public.js +0 -9
  88. package/dist/src/sdk/clients/decorators/public.js.map +0 -1
  89. package/dist/src/sdk/clients/decorators/wallet.js +0 -9
  90. package/dist/src/sdk/clients/decorators/wallet.js.map +0 -1
  91. package/dist/src/sdk/clients/kontor/create-public-client.js +0 -14
  92. package/dist/src/sdk/clients/kontor/create-public-client.js.map +0 -1
  93. package/dist/src/sdk/clients/kontor/create-public-client.test.js +0 -44
  94. package/dist/src/sdk/clients/kontor/create-public-client.test.js.map +0 -1
  95. package/dist/src/sdk/clients/kontor/create-wallet-client.js +0 -14
  96. package/dist/src/sdk/clients/kontor/create-wallet-client.js.map +0 -1
  97. package/dist/src/sdk/clients/transports/create-http-transport.js +0 -25
  98. package/dist/src/sdk/clients/transports/create-http-transport.js.map +0 -1
  99. package/dist/src/sdk/clients/transports/create-rpc-transport.js +0 -36
  100. package/dist/src/sdk/clients/transports/create-rpc-transport.js.map +0 -1
  101. package/dist/src/sdk/clients/transports/create-rpc-transport.test.js +0 -58
  102. package/dist/src/sdk/clients/transports/create-rpc-transport.test.js.map +0 -1
  103. package/dist/src/sdk/clients/transports/custom.js +0 -14
  104. package/dist/src/sdk/clients/transports/custom.js.map +0 -1
  105. package/dist/src/sdk/clients/transports/http-rpc.js +0 -84
  106. package/dist/src/sdk/clients/transports/http-rpc.js.map +0 -1
  107. package/dist/src/sdk/clients/transports/http-rpc.test.js +0 -147
  108. package/dist/src/sdk/clients/transports/http-rpc.test.js.map +0 -1
  109. package/dist/src/sdk/clients/transports/http.js +0 -45
  110. package/dist/src/sdk/clients/transports/http.js.map +0 -1
  111. package/dist/src/sdk/contracts/wits.js +0 -26
  112. package/dist/src/sdk/contracts/wits.js.map +0 -1
  113. package/dist/src/sdk/errors/address.js +0 -13
  114. package/dist/src/sdk/errors/address.js.map +0 -1
  115. package/dist/src/sdk/errors/base.js +0 -92
  116. package/dist/src/sdk/errors/base.js.map +0 -1
  117. package/dist/src/sdk/errors/request.js +0 -100
  118. package/dist/src/sdk/errors/request.js.map +0 -1
  119. package/dist/src/sdk/errors/rpc.js +0 -30
  120. package/dist/src/sdk/errors/rpc.js.map +0 -1
  121. package/dist/src/sdk/errors/transport.js +0 -10
  122. package/dist/src/sdk/errors/transport.js.map +0 -1
  123. package/dist/src/sdk/errors/utils.js +0 -2
  124. package/dist/src/sdk/errors/utils.js.map +0 -1
  125. package/dist/src/sdk/errors/version.js +0 -2
  126. package/dist/src/sdk/errors/version.js.map +0 -1
  127. package/dist/src/sdk/errors/wit.js +0 -19
  128. package/dist/src/sdk/errors/wit.js.map +0 -1
  129. package/dist/src/sdk/test/e2e.test.js +0 -166
  130. package/dist/src/sdk/test/e2e.test.js.map +0 -1
  131. package/dist/src/sdk/types/account.js +0 -2
  132. package/dist/src/sdk/types/account.js.map +0 -1
  133. package/dist/src/sdk/types/btc-rpc.js +0 -2
  134. package/dist/src/sdk/types/btc-rpc.js.map +0 -1
  135. package/dist/src/sdk/types/chain.js +0 -2
  136. package/dist/src/sdk/types/chain.js.map +0 -1
  137. package/dist/src/sdk/types/contract.js +0 -2
  138. package/dist/src/sdk/types/contract.js.map +0 -1
  139. package/dist/src/sdk/types/contract.test-d.js +0 -35
  140. package/dist/src/sdk/types/contract.test-d.js.map +0 -1
  141. package/dist/src/sdk/types/http-schema.js +0 -73
  142. package/dist/src/sdk/types/http-schema.js.map +0 -1
  143. package/dist/src/sdk/types/http-schema.test-d.js +0 -133
  144. package/dist/src/sdk/types/http-schema.test-d.js.map +0 -1
  145. package/dist/src/sdk/types/kontor.js +0 -28
  146. package/dist/src/sdk/types/kontor.js.map +0 -1
  147. package/dist/src/sdk/types/misc.js +0 -2
  148. package/dist/src/sdk/types/misc.js.map +0 -1
  149. package/dist/src/sdk/types/rpc-schema.js +0 -2
  150. package/dist/src/sdk/types/rpc-schema.js.map +0 -1
  151. package/dist/src/sdk/types/rpc.js +0 -19
  152. package/dist/src/sdk/types/rpc.js.map +0 -1
  153. package/dist/src/sdk/types/utils.js +0 -2
  154. package/dist/src/sdk/types/utils.js.map +0 -1
  155. package/dist/src/sdk/types/wbip001.js +0 -3
  156. package/dist/src/sdk/types/wbip001.js.map +0 -1
  157. package/dist/src/sdk/utils/build-http-request.js +0 -55
  158. package/dist/src/sdk/utils/build-http-request.js.map +0 -1
  159. package/dist/src/sdk/utils/build-request.js +0 -35
  160. package/dist/src/sdk/utils/build-request.js.map +0 -1
  161. package/dist/src/sdk/utils/build-rpc-request.js +0 -84
  162. package/dist/src/sdk/utils/build-rpc-request.js.map +0 -1
  163. package/dist/src/sdk/utils/chain/defineChain.js +0 -9
  164. package/dist/src/sdk/utils/chain/defineChain.js.map +0 -1
  165. package/dist/src/sdk/utils/encoding/to-hex.js +0 -23
  166. package/dist/src/sdk/utils/encoding/to-hex.js.map +0 -1
  167. package/dist/src/sdk/utils/get-action.js +0 -27
  168. package/dist/src/sdk/utils/get-action.js.map +0 -1
  169. package/dist/src/sdk/utils/http.js +0 -137
  170. package/dist/src/sdk/utils/http.js.map +0 -1
  171. package/dist/src/sdk/utils/lru.js +0 -35
  172. package/dist/src/sdk/utils/lru.js.map +0 -1
  173. package/dist/src/sdk/utils/promise/create-batch-scheduler.js +0 -49
  174. package/dist/src/sdk/utils/promise/create-batch-scheduler.js.map +0 -1
  175. package/dist/src/sdk/utils/promise/with-dedupe.js +0 -14
  176. package/dist/src/sdk/utils/promise/with-dedupe.js.map +0 -1
  177. package/dist/src/sdk/utils/promise/with-resolvers.js +0 -10
  178. package/dist/src/sdk/utils/promise/with-resolvers.js.map +0 -1
  179. package/dist/src/sdk/utils/promise/with-retry.js +0 -25
  180. package/dist/src/sdk/utils/promise/with-retry.js.map +0 -1
  181. package/dist/src/sdk/utils/promise/with-timeout.js +0 -30
  182. package/dist/src/sdk/utils/promise/with-timeout.js.map +0 -1
  183. package/dist/src/sdk/utils/rpc/http.js +0 -86
  184. package/dist/src/sdk/utils/rpc/http.js.map +0 -1
  185. package/dist/src/sdk/utils/rpc/id.js +0 -13
  186. package/dist/src/sdk/utils/rpc/id.js.map +0 -1
  187. package/dist/src/sdk/utils/stringify.js +0 -5
  188. package/dist/src/sdk/utils/stringify.js.map +0 -1
  189. package/dist/src/sdk/utils/uid.js +0 -14
  190. package/dist/src/sdk/utils/uid.js.map +0 -1
  191. package/dist/src/sdk/utils/wait.js +0 -4
  192. package/dist/src/sdk/utils/wait.js.map +0 -1
  193. package/dist/src/sdk/utils/wit/codecs/decimal.js +0 -165
  194. package/dist/src/sdk/utils/wit/codecs/decimal.js.map +0 -1
  195. package/dist/src/sdk/utils/wit/codecs/enum.js +0 -104
  196. package/dist/src/sdk/utils/wit/codecs/enum.js.map +0 -1
  197. package/dist/src/sdk/utils/wit/codecs/integer.js +0 -167
  198. package/dist/src/sdk/utils/wit/codecs/integer.js.map +0 -1
  199. package/dist/src/sdk/utils/wit/codecs/list.js +0 -117
  200. package/dist/src/sdk/utils/wit/codecs/list.js.map +0 -1
  201. package/dist/src/sdk/utils/wit/codecs/option.js +0 -91
  202. package/dist/src/sdk/utils/wit/codecs/option.js.map +0 -1
  203. package/dist/src/sdk/utils/wit/codecs/string.js +0 -27
  204. package/dist/src/sdk/utils/wit/codecs/string.js.map +0 -1
  205. package/dist/src/sdk/utils/wit/codecs/types.js +0 -45
  206. package/dist/src/sdk/utils/wit/codecs/types.js.map +0 -1
  207. package/dist/src/sdk/utils/wit/codecs/unit.js +0 -22
  208. package/dist/src/sdk/utils/wit/codecs/unit.js.map +0 -1
  209. package/dist/src/sdk/utils/wit/decode-function-result.js +0 -36
  210. package/dist/src/sdk/utils/wit/decode-function-result.js.map +0 -1
  211. package/dist/src/sdk/utils/wit/decode-wit-parameter.js +0 -286
  212. package/dist/src/sdk/utils/wit/decode-wit-parameter.js.map +0 -1
  213. package/dist/src/sdk/utils/wit/decode-wit-parameter.test.js +0 -75
  214. package/dist/src/sdk/utils/wit/decode-wit-parameter.test.js.map +0 -1
  215. package/dist/src/sdk/utils/wit/encode-function-data.js +0 -17
  216. package/dist/src/sdk/utils/wit/encode-function-data.js.map +0 -1
  217. package/dist/src/sdk/utils/wit/encode-function-data.test-d.js +0 -21
  218. package/dist/src/sdk/utils/wit/encode-function-data.test-d.js.map +0 -1
  219. package/dist/src/sdk/utils/wit/encode-function-data.test.js +0 -91
  220. package/dist/src/sdk/utils/wit/encode-function-data.test.js.map +0 -1
  221. package/dist/src/sdk/utils/wit/encode-wit-parameters.js +0 -250
  222. package/dist/src/sdk/utils/wit/encode-wit-parameters.js.map +0 -1
  223. package/dist/src/sdk/utils/wit/encode-wit-parameters.test.js +0 -62
  224. package/dist/src/sdk/utils/wit/encode-wit-parameters.test.js.map +0 -1
  225. package/dist/src/sdk/utils/wit/get-wit-item.js +0 -15
  226. package/dist/src/sdk/utils/wit/get-wit-item.js.map +0 -1
  227. package/dist/src/sdk/utils/wit/get-wit-item.test.js +0 -118
  228. package/dist/src/sdk/utils/wit/get-wit-item.test.js.map +0 -1
  229. package/dist/src/sdk/utils/wit/prepare-encode-function-data.js +0 -24
  230. package/dist/src/sdk/utils/wit/prepare-encode-function-data.js.map +0 -1
  231. package/dist/src/wit/error.js +0 -59
  232. package/dist/src/wit/error.js.map +0 -1
  233. package/dist/src/wit/narrow.js +0 -14
  234. package/dist/src/wit/narrow.js.map +0 -1
  235. package/dist/src/wit/regex.js +0 -6
  236. package/dist/src/wit/regex.js.map +0 -1
  237. package/dist/src/wit/register.js +0 -2
  238. package/dist/src/wit/register.js.map +0 -1
  239. package/dist/src/wit/type-utils.js +0 -2
  240. package/dist/src/wit/type-utils.js.map +0 -1
  241. package/dist/src/wit/utils.js +0 -2
  242. package/dist/src/wit/utils.js.map +0 -1
  243. package/dist/src/wit/utils.test-d.js +0 -16
  244. package/dist/src/wit/utils.test-d.js.map +0 -1
  245. package/dist/src/wit/version.js +0 -2
  246. package/dist/src/wit/version.js.map +0 -1
  247. package/dist/src/wit/wit-parser/core/errors/signature.js +0 -42
  248. package/dist/src/wit/wit-parser/core/errors/signature.js.map +0 -1
  249. package/dist/src/wit/wit-parser/core/errors/splitParameters.js +0 -18
  250. package/dist/src/wit/wit-parser/core/errors/splitParameters.js.map +0 -1
  251. package/dist/src/wit/wit-parser/core/errors/wit-parameter.js +0 -29
  252. package/dist/src/wit/wit-parser/core/errors/wit-parameter.js.map +0 -1
  253. package/dist/src/wit/wit-parser/core/records.js +0 -73
  254. package/dist/src/wit/wit-parser/core/records.js.map +0 -1
  255. package/dist/src/wit/wit-parser/core/records.test.js +0 -53
  256. package/dist/src/wit/wit-parser/core/records.test.js.map +0 -1
  257. package/dist/src/wit/wit-parser/core/signatures.js +0 -32
  258. package/dist/src/wit/wit-parser/core/signatures.js.map +0 -1
  259. package/dist/src/wit/wit-parser/core/signatures.test.js +0 -54
  260. package/dist/src/wit/wit-parser/core/signatures.test.js.map +0 -1
  261. package/dist/src/wit/wit-parser/core/types/records.js +0 -2
  262. package/dist/src/wit/wit-parser/core/types/records.js.map +0 -1
  263. package/dist/src/wit/wit-parser/core/types/records.test-d.js +0 -19
  264. package/dist/src/wit/wit-parser/core/types/records.test-d.js.map +0 -1
  265. package/dist/src/wit/wit-parser/core/types/signatures.js +0 -3
  266. package/dist/src/wit/wit-parser/core/types/signatures.js.map +0 -1
  267. package/dist/src/wit/wit-parser/core/types/signatures.test-d.js +0 -18
  268. package/dist/src/wit/wit-parser/core/types/signatures.test-d.js.map +0 -1
  269. package/dist/src/wit/wit-parser/core/types/utils.js +0 -2
  270. package/dist/src/wit/wit-parser/core/types/utils.js.map +0 -1
  271. package/dist/src/wit/wit-parser/core/types/utils.test-d.js +0 -138
  272. package/dist/src/wit/wit-parser/core/types/utils.test-d.js.map +0 -1
  273. package/dist/src/wit/wit-parser/core/utils.js +0 -212
  274. package/dist/src/wit/wit-parser/core/utils.js.map +0 -1
  275. package/dist/src/wit/wit-parser/core/utils.test.js +0 -302
  276. package/dist/src/wit/wit-parser/core/utils.test.js.map +0 -1
  277. package/dist/src/wit/wit-parser/parse-wit-parameter.js +0 -26
  278. package/dist/src/wit/wit-parser/parse-wit-parameter.js.map +0 -1
  279. package/dist/src/wit/wit-parser/parse-wit-parameter.test.js +0 -77
  280. package/dist/src/wit/wit-parser/parse-wit-parameter.test.js.map +0 -1
  281. package/dist/src/wit/wit-parser/parse-wit.js +0 -16
  282. package/dist/src/wit/wit-parser/parse-wit.js.map +0 -1
  283. package/dist/src/wit/wit-parser/parse-wit.test.js +0 -78
  284. package/dist/src/wit/wit-parser/parse-wit.test.js.map +0 -1
  285. package/dist/src/wit/wit.js +0 -2
  286. package/dist/src/wit/wit.js.map +0 -1
  287. package/dist/src/wit/wit.test.js +0 -6
  288. package/dist/src/wit/wit.test.js.map +0 -1
  289. package/dist/test/globalSetup.js +0 -14
  290. package/dist/test/globalSetup.js.map +0 -1
  291. package/dist/test/src/wits.js +0 -21
  292. package/dist/test/src/wits.js.map +0 -1
  293. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,302 +0,0 @@
1
- import { expect, test, describe } from "vitest";
2
- import { parseWitParameter, splitParameters, parseFunctionSignature, } from "./utils.js";
3
- const parseOptions = {
4
- records: {
5
- "contract-address": [
6
- { name: "name", type: "string" },
7
- { name: "height", type: "s64" },
8
- { name: "tx-index", type: "s64" },
9
- ],
10
- },
11
- };
12
- describe("parseFunctionSignature", () => {
13
- test.each([
14
- {
15
- input: "export fib: func(ctx: borrow<proc-context>, arith-address: contract-address, n: u64) -> u64;",
16
- expected: {
17
- context: "proc",
18
- inputs: [
19
- {
20
- name: "arith-address",
21
- type: "contract-address",
22
- },
23
- {
24
- name: "n",
25
- type: "u64",
26
- },
27
- ],
28
- name: "fib",
29
- outputs: [
30
- {
31
- type: "u64",
32
- },
33
- ],
34
- type: "function",
35
- },
36
- },
37
- {
38
- input: "export cached-values: func(ctx: borrow<view-context>) -> list<u64>;",
39
- expected: {
40
- context: "view",
41
- inputs: [],
42
- name: "cached-values",
43
- outputs: [
44
- {
45
- type: "list<u64>",
46
- },
47
- ],
48
- type: "function",
49
- },
50
- },
51
- ])("parseFunctionSignature($input)", ({ input, expected }) => {
52
- expect(parseFunctionSignature(input)).toEqual(expected);
53
- });
54
- });
55
- describe("parseWitParameter", () => {
56
- test.each([
57
- {
58
- parameter: "ctx: borrow<proc-context>",
59
- expected: {
60
- name: "ctx",
61
- type: "borrow<proc-context>",
62
- },
63
- },
64
- {
65
- parameter: "arith-address: contract-address",
66
- expected: {
67
- name: "arith-address",
68
- type: "tuple",
69
- components: [
70
- { name: "name", type: "string" },
71
- { name: "height", type: "s64" },
72
- { name: "tx-index", type: "s64" },
73
- ],
74
- },
75
- },
76
- {
77
- parameter: "n: u64",
78
- expected: {
79
- name: "n",
80
- type: "u64",
81
- },
82
- },
83
- {
84
- parameter: "y: string",
85
- expected: {
86
- name: "y",
87
- type: "string",
88
- },
89
- },
90
- {
91
- parameter: "list-of-strings: list<string>",
92
- expected: {
93
- name: "list-of-strings",
94
- type: "list<string>",
95
- },
96
- },
97
- {
98
- parameter: "arith-addresses: list<contract-address>",
99
- expected: {
100
- name: "arith-addresses",
101
- type: "list<tuple>",
102
- components: [
103
- { name: "name", type: "string" },
104
- { name: "height", type: "s64" },
105
- { name: "tx-index", type: "s64" },
106
- ],
107
- },
108
- },
109
- {
110
- parameter: "list<contract-address>",
111
- expected: {
112
- type: "list<tuple>",
113
- components: [
114
- { name: "name", type: "string" },
115
- { name: "height", type: "s64" },
116
- { name: "tx-index", type: "s64" },
117
- ],
118
- },
119
- },
120
- {
121
- parameter: "option<contract-address>",
122
- expected: {
123
- type: "option<tuple>",
124
- components: [
125
- { name: "name", type: "string" },
126
- { name: "height", type: "s64" },
127
- { name: "tx-index", type: "s64" },
128
- ],
129
- },
130
- },
131
- {
132
- parameter: "result<contract-address, error>",
133
- expected: {
134
- type: "result<tuple, error>",
135
- components: [
136
- { name: "name", type: "string" },
137
- { name: "height", type: "s64" },
138
- { name: "tx-index", type: "s64" },
139
- ],
140
- },
141
- },
142
- {
143
- parameter: "result<list<contract-address>, error>",
144
- expected: {
145
- type: "result<list<tuple>, error>",
146
- components: [
147
- { name: "name", type: "string" },
148
- { name: "height", type: "s64" },
149
- { name: "tx-index", type: "s64" },
150
- ],
151
- },
152
- },
153
- // {
154
- // parameter: "result<string, list<option<contract-address>>>",
155
- // expected: {
156
- // type: "result<string, list<option<tuple>>>",
157
- // components: [
158
- // { name: "left", type: "string" },
159
- // {
160
- // name: "right",
161
- // type: "list<option<tuple>>",
162
- // components: [
163
- // { name: "name", type: "string" },
164
- // { name: "height", type: "s64" },
165
- // { name: "tx-index", type: "s64" },
166
- // ],
167
- // },
168
- // ],
169
- // },
170
- // },
171
- // {
172
- // parameter: "result<string, list<result<string, contract-address>>>",
173
- // expected: {
174
- // type: "result<string, list<result<string, tuple>>>",
175
- // components: [
176
- // { name: "left", type: "string" },
177
- // {
178
- // name: "right",
179
- // type: "list<result<string, tuple>>",
180
- // components: [
181
- // { name: "left", type: "string" },
182
- // {
183
- // name: "right",
184
- // type: "tuple",
185
- // components: [
186
- // { name: "name", type: "string" },
187
- // { name: "height", type: "s64" },
188
- // { name: "tx-index", type: "s64" },
189
- // ],
190
- // },
191
- // ],
192
- // },
193
- // ],
194
- // },
195
- // },
196
- // {
197
- // parameter:
198
- // "result<string, list<result<string, option<contract-address>>>>",
199
- // expected: {
200
- // type: "result<string, list<result<string, option<tuple>>>>",
201
- // components: [
202
- // { name: "left", type: "string" },
203
- // {
204
- // name: "right",
205
- // type: "list<result<string, option<tuple>>>",
206
- // components: [
207
- // { name: "left", type: "string" },
208
- // {
209
- // name: "right",
210
- // type: "option<tuple>",
211
- // components: [
212
- // { name: "name", type: "string" },
213
- // { name: "height", type: "s64" },
214
- // { name: "tx-index", type: "s64" },
215
- // ],
216
- // },
217
- // ],
218
- // },
219
- // ],
220
- // },
221
- // },
222
- // {
223
- // parameter: "option<list<result<string, contract-address>>>",
224
- // expected: {
225
- // type: "option<list<result<string, tuple>>>",
226
- // components: [
227
- // { type: "string", name: "left" },
228
- // {
229
- // name: "right",
230
- // type: "tuple",
231
- // components: [
232
- // { type: "string", name: "name" },
233
- // { name: "height", type: "s64" },
234
- // { name: "tx-index", type: "s64" },
235
- // ],
236
- // },
237
- // ],
238
- // },
239
- // },
240
- ])("parseWitParameter($parameter)", ({ parameter, expected }) => {
241
- expect(parseWitParameter(parameter, parseOptions)).toEqual(expected);
242
- });
243
- });
244
- // import { InvalidGenericSyntaxError } from "./errors";
245
- describe("splitParameters (WIT generics, only < > nesting)", () => {
246
- test("empty / whitespace", () => {
247
- expect(splitParameters("")).toEqual([]);
248
- expect(splitParameters(" ")).toEqual([]);
249
- });
250
- test("simple top-level commas", () => {
251
- expect(splitParameters("a, b, c")).toEqual(["a", "b", "c"]);
252
- expect(splitParameters(" a , b ,c ")).toEqual(["a", "b", "c"]);
253
- });
254
- test("does not split inside < >", () => {
255
- expect(splitParameters("tuple<u64, list<string>>")).toEqual([
256
- "tuple<u64, list<string>>",
257
- ]);
258
- expect(splitParameters("result<integer, error>")).toEqual([
259
- "result<integer, error>",
260
- ]);
261
- expect(splitParameters("map<string, list<result<u64, error>>>")).toEqual([
262
- "map<string, list<result<u64, error>>>",
263
- ]);
264
- });
265
- test("mixed: top-level params that contain nested generics", () => {
266
- const input = "ctx: borrow<proc-context>, pair: list<result<token-pair, error>>, n: u64";
267
- expect(splitParameters(input)).toEqual([
268
- "ctx: borrow<proc-context>",
269
- "pair: list<result<token-pair, error>>",
270
- "n: u64",
271
- ]);
272
- });
273
- test("deep nesting", () => {
274
- const input = "outer<mid<inner<u8, list<u16>>>>";
275
- expect(splitParameters(input)).toEqual([
276
- "outer<mid<inner<u8, list<u16>>>>",
277
- ]);
278
- });
279
- test("handles trailing comma by ignoring empty token", () => {
280
- expect(splitParameters("a, b<z, y>,")) // trailing comma
281
- .toEqual(["a", "b<z, y>"]);
282
- });
283
- test("ignores empty segments from duplicate commas", () => {
284
- expect(splitParameters("a,,b")).toEqual(["a", "b"]);
285
- expect(splitParameters(",a,b,")).toEqual(["a", "b"]);
286
- });
287
- test("throws on unbalanced opener", () => {
288
- expect(() => splitParameters("a<b,c")).toThrow(); // e.g., InvalidGenericSyntaxError
289
- });
290
- test("throws on stray closer", () => {
291
- expect(() => splitParameters("a,b>")).toThrow();
292
- });
293
- test("complex function-style params", () => {
294
- const input = "ctx: borrow<proc-context>, result: result<tuple<u64, list<string>>, error>, flag: bool";
295
- expect(splitParameters(input)).toEqual([
296
- "ctx: borrow<proc-context>",
297
- "result: result<tuple<u64, list<string>>, error>",
298
- "flag: bool",
299
- ]);
300
- });
301
- });
302
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../../src/wit/wit-parser/core/utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { InvalidWitParameterError } from "./core/errors/wit-parameter.js";
2
- import { parseRecords } from "./core/records.js";
3
- import { isRecordSignature } from "./core/signatures.js";
4
- import { parseWitParameter as parseWitParameter_ } from "./core/utils.js";
5
- export function parseWitParameter(param) {
6
- let witParameter;
7
- if (typeof param === "string")
8
- witParameter = parseWitParameter_(param, {});
9
- else {
10
- const records = parseRecords(param);
11
- const length = param.length;
12
- for (let i = 0; i < length; i++) {
13
- const signature = param[i];
14
- if (isRecordSignature(signature))
15
- continue;
16
- witParameter = parseWitParameter_(signature, {
17
- records: records,
18
- });
19
- break;
20
- }
21
- }
22
- if (!witParameter)
23
- throw new InvalidWitParameterError({ param });
24
- return witParameter;
25
- }
26
- //# sourceMappingURL=parse-wit-parameter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-wit-parameter.js","sourceRoot":"","sources":["../../../../src/wit/wit-parser/parse-wit-parameter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAiC1E,MAAM,UAAU,iBAAiB,CAG/B,KAcG;IAEH,IAAI,YAAsC,CAAC;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAC3B,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAA6B,CAAC;SACtE,CAAC;QACJ,MAAM,OAAO,GAAG,YAAY,CAAC,KAA0B,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,SAAS,GAAI,KAA2B,CAAC,CAAC,CAAE,CAAC;YACnD,IAAI,iBAAiB,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC3C,YAAY,GAAG,kBAAkB,CAAC,SAAS,EAAE;gBAC3C,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,wBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,OAAO,YAAwC,CAAC;AAClD,CAAC"}
@@ -1,77 +0,0 @@
1
- import { expectTypeOf, expect, test } from "vitest";
2
- import { parseWitParameter } from "./parse-wit-parameter.js";
3
- test("ParseWitParameter", () => {
4
- expectTypeOf()
5
- .toEqualTypeOf;
6
- expectTypeOf().toEqualTypeOf();
7
- expectTypeOf().toEqualTypeOf();
8
- });
9
- test("parseWitParameter", () => {
10
- expect(() => parseWitParameter(" ")).toThrowErrorMatchingInlineSnapshot(`
11
- [InvalidWitParameterError: Failed to parse Wit parameter.
12
-
13
- Details: parseWitParameter(" ")
14
- Version: kontor-2dk@1.0.0]
15
- `);
16
- });
17
- test.each([
18
- {
19
- signature: "ctx: borrow<proc-context>",
20
- expected: { name: "ctx", type: "borrow<proc-context>" },
21
- },
22
- {
23
- signature: "arith-address: contract-address",
24
- expected: { name: "arith-address", type: "contract-address" },
25
- },
26
- {
27
- signature: [
28
- "record contract-address { name: string, height: s64, tx-index: s64 }",
29
- "arith-address: contract-address",
30
- ],
31
- expected: {
32
- name: "arith-address",
33
- type: "tuple",
34
- components: [
35
- {
36
- name: "name",
37
- type: "string",
38
- },
39
- {
40
- name: "height",
41
- type: "s64",
42
- },
43
- {
44
- name: "tx-index",
45
- type: "s64",
46
- },
47
- ],
48
- },
49
- },
50
- {
51
- signature: [
52
- "record contract-address { name: string, height: s64, tx-index: s64 }",
53
- "arith-address: result<contract-address, error>",
54
- ],
55
- expected: {
56
- name: "arith-address",
57
- type: "result<tuple, error>",
58
- components: [
59
- {
60
- name: "name",
61
- type: "string",
62
- },
63
- {
64
- name: "height",
65
- type: "s64",
66
- },
67
- {
68
- name: "tx-index",
69
- type: "s64",
70
- },
71
- ],
72
- },
73
- },
74
- ])("parseAbiParameter($signature)", ({ signature, expected }) => {
75
- expect(parseWitParameter(signature)).toEqual(expected);
76
- });
77
- //# sourceMappingURL=parse-wit-parameter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-wit-parameter.test.js","sourceRoot":"","sources":["../../../../src/wit/wit-parser/parse-wit-parameter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,YAAY,EAA0D;SACnE,aAGD,CAAC;IAEH,YAAY,EAOT,CAAC,aAAa,EAiBb,CAAC;IAEL,YAAY,EAOT,CAAC,aAAa,EAiBb,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,kCAAkC,CACrE;;;;;GAKD,CACA,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC;IACR;QACE,SAAS,EAAE,2BAA2B;QACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE;KACxD;IACD;QACE,SAAS,EAAE,iCAAiC;QAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE;KAC9D;IACD;QACE,SAAS,EAAE;YACT,uEAAuE;YACvE,iCAAiC;SAClC;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,KAAK;iBACZ;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,KAAK;iBACZ;aACF;SACF;KACF;IACD;QACE,SAAS,EAAE;YACT,uEAAuE;YACvE,iDAAiD;SAClD;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,sBAAsB;YAC5B,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,QAAQ;iBACf;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,KAAK;iBACZ;gBACD;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,KAAK;iBACZ;aACF;SACF;KACF;CACF,CAAC,CAAC,+BAA+B,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,MAAM,CAAC,iBAAiB,CAAoB,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC"}
@@ -1,16 +0,0 @@
1
- import { isRecordSignature } from "./core/signatures.js";
2
- import { parseRecords } from "./core/records.js";
3
- import { parseSignature } from "./core/utils.js";
4
- export function parseWit(signatures) {
5
- const structs = parseRecords(signatures);
6
- const wit = [];
7
- const length = signatures.length;
8
- for (let i = 0; i < length; i++) {
9
- const signature = signatures[i];
10
- if (isRecordSignature(signature))
11
- continue;
12
- wit.push(parseSignature(signature, structs));
13
- }
14
- return wit;
15
- }
16
- //# sourceMappingURL=parse-wit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-wit.js","sourceRoot":"","sources":["../../../../src/wit/wit-parser/parse-wit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAyCjD,MAAM,UAAU,QAAQ,CACtB,UAI4B;IAE5B,MAAM,OAAO,GAAG,YAAY,CAAC,UAA+B,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,MAAM,GAAG,UAAU,CAAC,MAAgB,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,SAAS,GAAI,UAAgC,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,iBAAiB,CAAC,SAAS,CAAC;YAAE,SAAS;QAC3C,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAsC,CAAC;AAChD,CAAC"}
@@ -1,78 +0,0 @@
1
- import { expectTypeOf, describe, expect, test } from "vitest";
2
- import { parseWit } from "./parse-wit.js";
3
- test("ParseWit (types)", () => {
4
- // type-level assertions
5
- expectTypeOf().toEqualTypeOf();
6
- expectTypeOf().toEqualTypeOf();
7
- });
8
- describe("parseWit (runtime)", () => {
9
- test("parses proc + view functions and strips ctx from inputs", () => {
10
- const input = [
11
- // TODO: build in record defs should be defined under the hood
12
- "record contract-address { name: string, height: s64, tx-index: s64 }",
13
- "export fib: func(ctx: borrow<proc-context>, arith-address: contract-address, n: u64) -> u64;",
14
- "export fib-of-sub: func(ctx: borrow<proc-context>, arith-address: contract-address, x: string, y: string) -> result<u64, error>;",
15
- "export cached-values: func(ctx: borrow<view-context>) -> list<u64>;",
16
- "export return-option: func(ctx: borrow<view-context>) -> option<u64>;",
17
- ];
18
- const out = parseWit(input);
19
- expect(out).toEqual([
20
- {
21
- name: "fib",
22
- type: "function",
23
- context: "proc",
24
- inputs: [
25
- {
26
- name: "arith-address",
27
- type: "tuple",
28
- components: [
29
- { name: "name", type: "string" },
30
- { name: "height", type: "s64" },
31
- { name: "tx-index", type: "s64" },
32
- ],
33
- },
34
- { name: "n", type: "u64" },
35
- ],
36
- outputs: [{ type: "u64" }],
37
- },
38
- {
39
- name: "fib-of-sub",
40
- type: "function",
41
- context: "proc",
42
- inputs: [
43
- {
44
- name: "arith-address",
45
- type: "tuple",
46
- components: [
47
- { name: "name", type: "string" },
48
- { name: "height", type: "s64" },
49
- { name: "tx-index", type: "s64" },
50
- ],
51
- },
52
- { name: "x", type: "string" },
53
- { name: "y", type: "string" },
54
- ],
55
- outputs: [
56
- {
57
- type: "result<u64, error>",
58
- },
59
- ],
60
- },
61
- {
62
- name: "cached-values",
63
- type: "function",
64
- context: "view",
65
- inputs: [],
66
- outputs: [{ type: "list<u64>" }],
67
- },
68
- {
69
- name: "return-option",
70
- type: "function",
71
- context: "view",
72
- inputs: [],
73
- outputs: [{ type: "option<u64>" }],
74
- },
75
- ]);
76
- });
77
- });
78
- //# sourceMappingURL=parse-wit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-wit.test.js","sourceRoot":"","sources":["../../../../src/wit/wit-parser/parse-wit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC5B,wBAAwB;IAExB,YAAY,EAST,CAAC,aAAa,EAgDd,CAAC;IAEJ,YAAY,EAST,CAAC,aAAa,EAgDd,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACnE,MAAM,KAAK,GAAG;YACZ,8DAA8D;YAC9D,uEAAuE;YACvE,8FAA8F;YAC9F,kIAAkI;YAClI,qEAAqE;YACrE,uEAAuE;SAC/D,CAAC;QAEX,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAClB;gBACE,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;4BAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;yBAClC;qBACF;oBACD,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;iBAC3B;gBACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;aAC3B;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,OAAO;wBAEb,UAAU,EAAE;4BACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;4BAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;yBAClC;qBACF;oBACD,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC7B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC9B;gBACD,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,oBAAoB;qBAC3B;iBACF;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aACjC;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,MAAM;gBACf,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;aACnC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=wit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wit.js","sourceRoot":"","sources":["../../../src/wit/wit.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { assertType, test } from "vitest";
2
- //TODO: fill this out
3
- test("Wit Types", () => {
4
- assertType("error");
5
- });
6
- //# sourceMappingURL=wit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wit.test.js","sourceRoot":"","sources":["../../../src/wit/wit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAI1C,qBAAqB;AACrB,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;IACrB,UAAU,CAAW,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC"}
@@ -1,14 +0,0 @@
1
- import { dirname, resolve } from "node:path";
2
- import { fileURLToPath } from "node:url";
3
- import { setup } from "@arktype/attest";
4
- const __filename = fileURLToPath(import.meta.url);
5
- const __dirname = dirname(__filename);
6
- export default function () {
7
- return setup({
8
- benchErrorOnThresholdExceeded: true,
9
- tsconfig: resolve(__dirname, "../tsconfig.json"),
10
- });
11
- }
12
- // biome-ignore lint/performance/noBarrelFile: <explanation>
13
- export { teardown } from "@arktype/attest";
14
- //# sourceMappingURL=globalSetup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalSetup.js","sourceRoot":"","sources":["../../test/globalSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,CAAC,OAAO;IACb,OAAO,KAAK,CAAC;QACZ,6BAA6B,EAAE,IAAI;QACnC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,CAAC;KAChD,CAAC,CAAC;AACJ,CAAC;AAED,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,21 +0,0 @@
1
- import { parseWit } from "../../src/wit/wit-parser/parse-wit.js";
2
- export const nativeTokenRaw = [
3
- "record balance { acc: string, amt: decimal }",
4
- "record transfer { src: string, dst: string, amt: decimal }",
5
- "record burn { src: string, amt: decimal }",
6
- "record mint { dst: string, amt: decimal }",
7
- "export issuance: func(ctx: borrow<core-context>, amt: decimal) -> result<mint, error>;",
8
- "export hold: func(ctx: borrow<core-context>, amt: decimal) -> result<transfer, error>;",
9
- "export release: func(ctx: borrow<core-context>, burn-amt: decimal) -> result<burn, error>;",
10
- "export init: func(ctx: borrow<proc-context>);",
11
- "export mint: func(ctx: borrow<proc-context>, amt: decimal) -> result<mint, error>;",
12
- "export burn: func(ctx: borrow<proc-context>, amt: decimal) -> result<burn, error>;",
13
- "export transfer: func(ctx: borrow<proc-context>, dst: string, amt: decimal) -> result<transfer, error>;",
14
- "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
15
- "export balances: func(ctx: borrow<view-context>) -> list<balance>;",
16
- "export total-supply: func(ctx: borrow<view-context>) -> decimal;",
17
- "export attach: func(ctx: borrow<proc-context>, vout: u64, amt: decimal) -> result<transfer, error>;",
18
- "export detach: func(ctx: borrow<proc-context>) -> result<transfer, error>;",
19
- ];
20
- export const nativeToken = parseWit(nativeTokenRaw);
21
- //# sourceMappingURL=wits.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wits.js","sourceRoot":"","sources":["../../../test/src/wits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEjE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,8CAA8C;IAC9C,4DAA4D;IAC5D,2CAA2C;IAC3C,2CAA2C;IAE3C,wFAAwF;IACxF,wFAAwF;IACxF,4FAA4F;IAC5F,+CAA+C;IAC/C,oFAAoF;IACpF,oFAAoF;IACpF,yGAAyG;IACzG,kFAAkF;IAClF,oEAAoE;IACpE,kEAAkE;IAClE,qGAAqG;IACrG,4EAA4E;CACpE,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC"}