zerc20-client-sdk 0.1.13 → 0.1.14

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 (404) hide show
  1. package/README.md +261 -0
  2. package/dist/constants.d.ts +15 -0
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +15 -0
  5. package/dist/constants.js.map +1 -1
  6. package/dist/decider/__tests__/prover.test.d.ts +2 -0
  7. package/dist/decider/__tests__/prover.test.d.ts.map +1 -0
  8. package/dist/decider/__tests__/prover.test.js +246 -0
  9. package/dist/decider/__tests__/prover.test.js.map +1 -0
  10. package/dist/decider/prover.d.ts +36 -4
  11. package/dist/decider/prover.d.ts.map +1 -1
  12. package/dist/decider/prover.js +48 -38
  13. package/dist/decider/prover.js.map +1 -1
  14. package/dist/ic/__tests__/candid.test.d.ts +2 -0
  15. package/dist/ic/__tests__/candid.test.d.ts.map +1 -0
  16. package/dist/ic/__tests__/candid.test.js +44 -0
  17. package/dist/ic/__tests__/candid.test.js.map +1 -0
  18. package/dist/ic/__tests__/client.test.d.ts +2 -0
  19. package/dist/ic/__tests__/client.test.d.ts.map +1 -0
  20. package/dist/ic/__tests__/client.test.js +522 -0
  21. package/dist/ic/__tests__/client.test.js.map +1 -0
  22. package/dist/ic/__tests__/config.test.d.ts +2 -0
  23. package/dist/ic/__tests__/config.test.d.ts.map +1 -0
  24. package/dist/ic/__tests__/config.test.js +72 -0
  25. package/dist/ic/__tests__/config.test.js.map +1 -0
  26. package/dist/ic/__tests__/connections.test.d.ts +2 -0
  27. package/dist/ic/__tests__/connections.test.d.ts.map +1 -0
  28. package/dist/ic/__tests__/connections.test.js +385 -0
  29. package/dist/ic/__tests__/connections.test.js.map +1 -0
  30. package/dist/ic/__tests__/invoice.test.d.ts +2 -0
  31. package/dist/ic/__tests__/invoice.test.d.ts.map +1 -0
  32. package/dist/ic/__tests__/invoice.test.js +95 -0
  33. package/dist/ic/__tests__/invoice.test.js.map +1 -0
  34. package/dist/ic/authorization.d.ts +28 -0
  35. package/dist/ic/authorization.d.ts.map +1 -1
  36. package/dist/ic/authorization.js +24 -0
  37. package/dist/ic/authorization.js.map +1 -1
  38. package/dist/ic/candid.d.ts +72 -0
  39. package/dist/ic/candid.d.ts.map +1 -0
  40. package/dist/ic/candid.js +35 -0
  41. package/dist/ic/candid.js.map +1 -0
  42. package/dist/ic/client.d.ts +57 -59
  43. package/dist/ic/client.d.ts.map +1 -1
  44. package/dist/ic/client.js +59 -81
  45. package/dist/ic/client.js.map +1 -1
  46. package/dist/ic/config.d.ts +27 -0
  47. package/dist/ic/config.d.ts.map +1 -1
  48. package/dist/ic/config.js +27 -0
  49. package/dist/ic/config.js.map +1 -1
  50. package/dist/ic/connections.d.ts +99 -4
  51. package/dist/ic/connections.d.ts.map +1 -1
  52. package/dist/ic/connections.js +222 -30
  53. package/dist/ic/connections.js.map +1 -1
  54. package/dist/ic/encryption.d.ts +33 -0
  55. package/dist/ic/encryption.d.ts.map +1 -1
  56. package/dist/ic/encryption.js +21 -0
  57. package/dist/ic/encryption.js.map +1 -1
  58. package/dist/ic/errors.d.ts +15 -0
  59. package/dist/ic/errors.d.ts.map +1 -1
  60. package/dist/ic/errors.js +15 -0
  61. package/dist/ic/errors.js.map +1 -1
  62. package/dist/ic/idl.d.ts +26 -0
  63. package/dist/ic/idl.d.ts.map +1 -0
  64. package/dist/ic/idl.js +84 -0
  65. package/dist/ic/idl.js.map +1 -0
  66. package/dist/ic/index.d.ts +1 -1
  67. package/dist/ic/index.d.ts.map +1 -1
  68. package/dist/ic/index.js +1 -1
  69. package/dist/ic/index.js.map +1 -1
  70. package/dist/ic/invoice.d.ts.map +1 -1
  71. package/dist/ic/invoice.js.map +1 -1
  72. package/dist/ic/types.d.ts +42 -0
  73. package/dist/ic/types.d.ts.map +1 -1
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +1 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/onchain/__tests__/contracts.test.d.ts +2 -0
  79. package/dist/onchain/__tests__/contracts.test.d.ts.map +1 -0
  80. package/dist/onchain/__tests__/contracts.test.js +42 -0
  81. package/dist/onchain/__tests__/contracts.test.js.map +1 -0
  82. package/dist/onchain/contracts.d.ts +22 -0
  83. package/dist/onchain/contracts.d.ts.map +1 -1
  84. package/dist/onchain/contracts.js +22 -0
  85. package/dist/onchain/contracts.js.map +1 -1
  86. package/dist/operations/__tests__/invoice.test.d.ts +2 -0
  87. package/dist/operations/__tests__/invoice.test.d.ts.map +1 -0
  88. package/dist/operations/__tests__/invoice.test.js +261 -0
  89. package/dist/operations/__tests__/invoice.test.js.map +1 -0
  90. package/dist/operations/__tests__/privateSend.test.d.ts +2 -0
  91. package/dist/operations/__tests__/privateSend.test.d.ts.map +1 -0
  92. package/dist/operations/__tests__/privateSend.test.js +135 -0
  93. package/dist/operations/__tests__/privateSend.test.js.map +1 -0
  94. package/dist/operations/__tests__/reexports.test.d.ts +2 -0
  95. package/dist/operations/__tests__/reexports.test.d.ts.map +1 -0
  96. package/dist/operations/__tests__/reexports.test.js +22 -0
  97. package/dist/operations/__tests__/reexports.test.js.map +1 -0
  98. package/dist/operations/__tests__/scanner.test.d.ts +2 -0
  99. package/dist/operations/__tests__/scanner.test.d.ts.map +1 -0
  100. package/dist/operations/__tests__/scanner.test.js +201 -0
  101. package/dist/operations/__tests__/scanner.test.js.map +1 -0
  102. package/dist/operations/__tests__/teleport.test.d.ts +2 -0
  103. package/dist/operations/__tests__/teleport.test.d.ts.map +1 -0
  104. package/dist/operations/__tests__/teleport.test.js +35 -0
  105. package/dist/operations/__tests__/teleport.test.js.map +1 -0
  106. package/dist/operations/__tests__/teleportProof.test.d.ts +2 -0
  107. package/dist/operations/__tests__/teleportProof.test.d.ts.map +1 -0
  108. package/dist/operations/__tests__/teleportProof.test.js +126 -0
  109. package/dist/operations/__tests__/teleportProof.test.js.map +1 -0
  110. package/dist/operations/invoice.d.ts +44 -0
  111. package/dist/operations/invoice.d.ts.map +1 -1
  112. package/dist/operations/invoice.js +30 -0
  113. package/dist/operations/invoice.js.map +1 -1
  114. package/dist/operations/liquidityManager/__tests__/balance.test.d.ts +2 -0
  115. package/dist/operations/liquidityManager/__tests__/balance.test.d.ts.map +1 -0
  116. package/dist/operations/liquidityManager/__tests__/balance.test.js +104 -0
  117. package/dist/operations/liquidityManager/__tests__/balance.test.js.map +1 -0
  118. package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.d.ts +2 -0
  119. package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.d.ts.map +1 -0
  120. package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js +198 -0
  121. package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js.map +1 -0
  122. package/dist/operations/liquidityManager/__tests__/helpers.test.d.ts +2 -0
  123. package/dist/operations/liquidityManager/__tests__/helpers.test.d.ts.map +1 -0
  124. package/dist/operations/liquidityManager/__tests__/helpers.test.js +126 -0
  125. package/dist/operations/liquidityManager/__tests__/helpers.test.js.map +1 -0
  126. package/dist/operations/liquidityManager/__tests__/unwrap.test.d.ts +2 -0
  127. package/dist/operations/liquidityManager/__tests__/unwrap.test.d.ts.map +1 -0
  128. package/dist/operations/liquidityManager/__tests__/unwrap.test.js +224 -0
  129. package/dist/operations/liquidityManager/__tests__/unwrap.test.js.map +1 -0
  130. package/dist/operations/liquidityManager/__tests__/wrap.test.d.ts +2 -0
  131. package/dist/operations/liquidityManager/__tests__/wrap.test.d.ts.map +1 -0
  132. package/dist/operations/liquidityManager/__tests__/wrap.test.js +144 -0
  133. package/dist/operations/liquidityManager/__tests__/wrap.test.js.map +1 -0
  134. package/dist/operations/liquidityManager/balance.d.ts +19 -0
  135. package/dist/operations/liquidityManager/balance.d.ts.map +1 -0
  136. package/dist/operations/liquidityManager/balance.js +62 -0
  137. package/dist/operations/liquidityManager/balance.js.map +1 -0
  138. package/dist/operations/liquidityManager/crossUnwrap.d.ts +73 -0
  139. package/dist/operations/liquidityManager/crossUnwrap.d.ts.map +1 -0
  140. package/dist/operations/liquidityManager/crossUnwrap.js +189 -0
  141. package/dist/operations/liquidityManager/crossUnwrap.js.map +1 -0
  142. package/dist/operations/liquidityManager/helpers.d.ts +15521 -0
  143. package/dist/operations/liquidityManager/helpers.d.ts.map +1 -0
  144. package/dist/operations/liquidityManager/helpers.js +81 -0
  145. package/dist/operations/liquidityManager/helpers.js.map +1 -0
  146. package/dist/operations/liquidityManager/index.d.ts +12 -0
  147. package/dist/operations/liquidityManager/index.d.ts.map +1 -0
  148. package/dist/operations/liquidityManager/index.js +9 -0
  149. package/dist/operations/liquidityManager/index.js.map +1 -0
  150. package/dist/operations/liquidityManager/types.d.ts +90 -0
  151. package/dist/operations/liquidityManager/types.d.ts.map +1 -0
  152. package/dist/operations/liquidityManager/types.js +5 -0
  153. package/dist/operations/liquidityManager/types.js.map +1 -0
  154. package/dist/operations/liquidityManager/unwrap.d.ts +54 -0
  155. package/dist/operations/liquidityManager/unwrap.d.ts.map +1 -0
  156. package/dist/operations/liquidityManager/unwrap.js +80 -0
  157. package/dist/operations/liquidityManager/unwrap.js.map +1 -0
  158. package/dist/operations/liquidityManager/wrap.d.ts +38 -0
  159. package/dist/operations/liquidityManager/wrap.d.ts.map +1 -0
  160. package/dist/operations/liquidityManager/wrap.js +53 -0
  161. package/dist/operations/liquidityManager/wrap.js.map +1 -0
  162. package/dist/operations/liquidityManager.d.ts +3 -104
  163. package/dist/operations/liquidityManager.d.ts.map +1 -1
  164. package/dist/operations/liquidityManager.js +3 -343
  165. package/dist/operations/liquidityManager.js.map +1 -1
  166. package/dist/operations/privateSend.d.ts +26 -0
  167. package/dist/operations/privateSend.d.ts.map +1 -1
  168. package/dist/operations/privateSend.js +11 -0
  169. package/dist/operations/privateSend.js.map +1 -1
  170. package/dist/operations/receive/__tests__/announcementStatus.test.d.ts +2 -0
  171. package/dist/operations/receive/__tests__/announcementStatus.test.d.ts.map +1 -0
  172. package/dist/operations/receive/__tests__/announcementStatus.test.js +223 -0
  173. package/dist/operations/receive/__tests__/announcementStatus.test.js.map +1 -0
  174. package/dist/operations/receive/__tests__/cache.test.d.ts +2 -0
  175. package/dist/operations/receive/__tests__/cache.test.d.ts.map +1 -0
  176. package/dist/operations/receive/__tests__/cache.test.js +339 -0
  177. package/dist/operations/receive/__tests__/cache.test.js.map +1 -0
  178. package/dist/operations/receive/__tests__/helpers.test.d.ts +2 -0
  179. package/dist/operations/receive/__tests__/helpers.test.d.ts.map +1 -0
  180. package/dist/operations/receive/__tests__/helpers.test.js +80 -0
  181. package/dist/operations/receive/__tests__/helpers.test.js.map +1 -0
  182. package/dist/operations/receive/__tests__/redeemContext.test.d.ts +2 -0
  183. package/dist/operations/receive/__tests__/redeemContext.test.d.ts.map +1 -0
  184. package/dist/operations/receive/__tests__/redeemContext.test.js +230 -0
  185. package/dist/operations/receive/__tests__/redeemContext.test.js.map +1 -0
  186. package/dist/operations/receive/announcementStatus.d.ts +12 -0
  187. package/dist/operations/receive/announcementStatus.d.ts.map +1 -0
  188. package/dist/operations/receive/announcementStatus.js +56 -0
  189. package/dist/operations/receive/announcementStatus.js.map +1 -0
  190. package/dist/operations/receive/cache.d.ts +69 -0
  191. package/dist/operations/receive/cache.d.ts.map +1 -0
  192. package/dist/operations/receive/cache.js +105 -0
  193. package/dist/operations/receive/cache.js.map +1 -0
  194. package/dist/operations/receive/helpers.d.ts +16 -0
  195. package/dist/operations/receive/helpers.d.ts.map +1 -0
  196. package/dist/operations/receive/helpers.js +33 -0
  197. package/dist/operations/receive/helpers.js.map +1 -0
  198. package/dist/operations/receive/index.d.ts +9 -0
  199. package/dist/operations/receive/index.d.ts.map +1 -0
  200. package/dist/operations/receive/index.js +9 -0
  201. package/dist/operations/receive/index.js.map +1 -0
  202. package/dist/operations/receive/redeemContext.d.ts +16 -0
  203. package/dist/operations/receive/redeemContext.d.ts.map +1 -0
  204. package/dist/operations/receive/redeemContext.js +107 -0
  205. package/dist/operations/receive/redeemContext.js.map +1 -0
  206. package/dist/operations/receive/types.d.ts +141 -0
  207. package/dist/operations/receive/types.d.ts.map +1 -0
  208. package/dist/operations/receive/types.js +5 -0
  209. package/dist/operations/receive/types.js.map +1 -0
  210. package/dist/operations/receive.d.ts +5 -66
  211. package/dist/operations/receive.d.ts.map +1 -1
  212. package/dist/operations/receive.js +5 -173
  213. package/dist/operations/receive.js.map +1 -1
  214. package/dist/operations/scanner.d.ts +37 -0
  215. package/dist/operations/scanner.d.ts.map +1 -1
  216. package/dist/operations/scanner.js +21 -0
  217. package/dist/operations/scanner.js.map +1 -1
  218. package/dist/operations/teleport.d.ts +5 -0
  219. package/dist/operations/teleport.d.ts.map +1 -1
  220. package/dist/operations/teleport.js +5 -0
  221. package/dist/operations/teleport.js.map +1 -1
  222. package/dist/operations/teleportProof.d.ts +34 -0
  223. package/dist/operations/teleportProof.d.ts.map +1 -1
  224. package/dist/operations/teleportProof.js +16 -0
  225. package/dist/operations/teleportProof.js.map +1 -1
  226. package/dist/registry/__tests__/helpers.test.d.ts +2 -0
  227. package/dist/registry/__tests__/helpers.test.d.ts.map +1 -0
  228. package/dist/registry/__tests__/helpers.test.js +98 -0
  229. package/dist/registry/__tests__/helpers.test.js.map +1 -0
  230. package/dist/registry/__tests__/loader.test.d.ts +2 -0
  231. package/dist/registry/__tests__/loader.test.d.ts.map +1 -0
  232. package/dist/registry/__tests__/loader.test.js +300 -0
  233. package/dist/registry/__tests__/loader.test.js.map +1 -0
  234. package/dist/registry/__tests__/normalize.test.d.ts +2 -0
  235. package/dist/registry/__tests__/normalize.test.d.ts.map +1 -0
  236. package/dist/registry/__tests__/normalize.test.js +180 -0
  237. package/dist/registry/__tests__/normalize.test.js.map +1 -0
  238. package/dist/registry/__tests__/parsing.test.d.ts +2 -0
  239. package/dist/registry/__tests__/parsing.test.d.ts.map +1 -0
  240. package/dist/registry/__tests__/parsing.test.js +188 -0
  241. package/dist/registry/__tests__/parsing.test.js.map +1 -0
  242. package/dist/registry/helpers.d.ts +14 -0
  243. package/dist/registry/helpers.d.ts.map +1 -0
  244. package/dist/registry/helpers.js +29 -0
  245. package/dist/registry/helpers.js.map +1 -0
  246. package/dist/registry/index.d.ts +13 -0
  247. package/dist/registry/index.d.ts.map +1 -0
  248. package/dist/registry/index.js +15 -0
  249. package/dist/registry/index.js.map +1 -0
  250. package/dist/registry/loader.d.ts +57 -0
  251. package/dist/registry/loader.d.ts.map +1 -0
  252. package/dist/registry/loader.js +188 -0
  253. package/dist/registry/loader.js.map +1 -0
  254. package/dist/registry/normalize.d.ts +29 -0
  255. package/dist/registry/normalize.d.ts.map +1 -0
  256. package/dist/registry/normalize.js +81 -0
  257. package/dist/registry/normalize.js.map +1 -0
  258. package/dist/registry/parsing.d.ts +55 -0
  259. package/dist/registry/parsing.d.ts.map +1 -0
  260. package/dist/registry/parsing.js +139 -0
  261. package/dist/registry/parsing.js.map +1 -0
  262. package/dist/registry/tokens.d.ts +6 -42
  263. package/dist/registry/tokens.d.ts.map +1 -1
  264. package/dist/registry/tokens.js +6 -231
  265. package/dist/registry/tokens.js.map +1 -1
  266. package/dist/registry/types.d.ts +81 -0
  267. package/dist/registry/types.d.ts.map +1 -0
  268. package/dist/registry/types.js +2 -0
  269. package/dist/registry/types.js.map +1 -0
  270. package/dist/sdk.d.ts +57 -0
  271. package/dist/sdk.d.ts.map +1 -1
  272. package/dist/sdk.js +21 -0
  273. package/dist/sdk.js.map +1 -1
  274. package/dist/sdk.publicApi.test.d.ts +2 -0
  275. package/dist/sdk.publicApi.test.d.ts.map +1 -0
  276. package/dist/sdk.publicApi.test.js +78 -0
  277. package/dist/sdk.publicApi.test.js.map +1 -0
  278. package/dist/types.d.ts +159 -0
  279. package/dist/types.d.ts.map +1 -1
  280. package/dist/utils/__tests__/branded.test.d.ts +2 -0
  281. package/dist/utils/__tests__/branded.test.d.ts.map +1 -0
  282. package/dist/utils/__tests__/branded.test.js +293 -0
  283. package/dist/utils/__tests__/branded.test.js.map +1 -0
  284. package/dist/utils/__tests__/fees.test.d.ts +2 -0
  285. package/dist/utils/__tests__/fees.test.d.ts.map +1 -0
  286. package/dist/utils/__tests__/fees.test.js +84 -0
  287. package/dist/utils/__tests__/fees.test.js.map +1 -0
  288. package/dist/utils/__tests__/hex.test.d.ts +2 -0
  289. package/dist/utils/__tests__/hex.test.d.ts.map +1 -0
  290. package/dist/utils/__tests__/hex.test.js +252 -0
  291. package/dist/utils/__tests__/hex.test.js.map +1 -0
  292. package/dist/utils/__tests__/http.test.d.ts +2 -0
  293. package/dist/utils/__tests__/http.test.d.ts.map +1 -0
  294. package/dist/utils/__tests__/http.test.js +295 -0
  295. package/dist/utils/__tests__/http.test.js.map +1 -0
  296. package/dist/utils/branded.d.ts +154 -0
  297. package/dist/utils/branded.d.ts.map +1 -0
  298. package/dist/utils/branded.js +177 -0
  299. package/dist/utils/branded.js.map +1 -0
  300. package/dist/utils/fees.d.ts +6 -0
  301. package/dist/utils/fees.d.ts.map +1 -1
  302. package/dist/utils/fees.js +4 -0
  303. package/dist/utils/fees.js.map +1 -1
  304. package/dist/utils/hex.d.ts +37 -0
  305. package/dist/utils/hex.d.ts.map +1 -1
  306. package/dist/utils/hex.js +30 -0
  307. package/dist/utils/hex.js.map +1 -1
  308. package/dist/utils/http.d.ts +100 -0
  309. package/dist/utils/http.d.ts.map +1 -1
  310. package/dist/utils/http.js +158 -0
  311. package/dist/utils/http.js.map +1 -1
  312. package/dist/utils/merkle.d.ts +26 -0
  313. package/dist/utils/merkle.d.ts.map +1 -1
  314. package/dist/utils/merkle.js +26 -0
  315. package/dist/utils/merkle.js.map +1 -1
  316. package/dist/wasm/__tests__/artifacts.test.d.ts +2 -0
  317. package/dist/wasm/__tests__/artifacts.test.d.ts.map +1 -0
  318. package/dist/wasm/__tests__/artifacts.test.js +437 -0
  319. package/dist/wasm/__tests__/artifacts.test.js.map +1 -0
  320. package/dist/wasm/__tests__/functions.test.d.ts +2 -0
  321. package/dist/wasm/__tests__/functions.test.d.ts.map +1 -0
  322. package/dist/wasm/__tests__/functions.test.js +34 -0
  323. package/dist/wasm/__tests__/functions.test.js.map +1 -0
  324. package/dist/wasm/__tests__/helpers.test.d.ts +2 -0
  325. package/dist/wasm/__tests__/helpers.test.d.ts.map +1 -0
  326. package/dist/wasm/__tests__/helpers.test.js +128 -0
  327. package/dist/wasm/__tests__/helpers.test.js.map +1 -0
  328. package/dist/wasm/__tests__/loader.test.d.ts +2 -0
  329. package/dist/wasm/__tests__/loader.test.d.ts.map +1 -0
  330. package/dist/wasm/__tests__/loader.test.js +201 -0
  331. package/dist/wasm/__tests__/loader.test.js.map +1 -0
  332. package/dist/wasm/__tests__/runtime.test.d.ts +2 -0
  333. package/dist/wasm/__tests__/runtime.test.d.ts.map +1 -0
  334. package/dist/wasm/__tests__/runtime.test.js +335 -0
  335. package/dist/wasm/__tests__/runtime.test.js.map +1 -0
  336. package/dist/wasm/__tests__/serialization.test.d.ts +2 -0
  337. package/dist/wasm/__tests__/serialization.test.d.ts.map +1 -0
  338. package/dist/wasm/__tests__/serialization.test.js +226 -0
  339. package/dist/wasm/__tests__/serialization.test.js.map +1 -0
  340. package/dist/wasm/__tests__/validation.test.js +15 -15
  341. package/dist/wasm/__tests__/validation.test.js.map +1 -1
  342. package/dist/wasm/artifacts.d.ts +121 -3
  343. package/dist/wasm/artifacts.d.ts.map +1 -1
  344. package/dist/wasm/artifacts.js +175 -50
  345. package/dist/wasm/artifacts.js.map +1 -1
  346. package/dist/wasm/functions.d.ts +77 -0
  347. package/dist/wasm/functions.d.ts.map +1 -0
  348. package/dist/wasm/functions.js +120 -0
  349. package/dist/wasm/functions.js.map +1 -0
  350. package/dist/wasm/helpers.d.ts +32 -0
  351. package/dist/wasm/helpers.d.ts.map +1 -0
  352. package/dist/wasm/helpers.js +79 -0
  353. package/dist/wasm/helpers.js.map +1 -0
  354. package/dist/wasm/index.d.ts +13 -68
  355. package/dist/wasm/index.d.ts.map +1 -1
  356. package/dist/wasm/index.js +14 -514
  357. package/dist/wasm/index.js.map +1 -1
  358. package/dist/wasm/loader.d.ts +76 -0
  359. package/dist/wasm/loader.d.ts.map +1 -0
  360. package/dist/wasm/loader.js +145 -0
  361. package/dist/wasm/loader.js.map +1 -0
  362. package/dist/wasm/runtime.d.ts +65 -0
  363. package/dist/wasm/runtime.d.ts.map +1 -0
  364. package/dist/wasm/runtime.js +227 -0
  365. package/dist/wasm/runtime.js.map +1 -0
  366. package/dist/wasm/serialization.d.ts +113 -0
  367. package/dist/wasm/serialization.d.ts.map +1 -0
  368. package/dist/wasm/serialization.js +188 -0
  369. package/dist/wasm/serialization.js.map +1 -0
  370. package/dist/wasm/types.d.ts +30 -0
  371. package/dist/wasm/types.d.ts.map +1 -0
  372. package/dist/wasm/types.js +2 -0
  373. package/dist/wasm/types.js.map +1 -0
  374. package/dist/zkp/__tests__/proofService.test.d.ts +2 -0
  375. package/dist/zkp/__tests__/proofService.test.d.ts.map +1 -0
  376. package/dist/zkp/__tests__/proofService.test.js +283 -0
  377. package/dist/zkp/__tests__/proofService.test.js.map +1 -0
  378. package/dist/zkp/__tests__/proofUtils.test.js +86 -0
  379. package/dist/zkp/__tests__/proofUtils.test.js.map +1 -1
  380. package/dist/zkp/__tests__/runNovaProver.test.js +13 -1
  381. package/dist/zkp/__tests__/runNovaProver.test.js.map +1 -1
  382. package/dist/zkp/__tests__/workerClient.test.d.ts +2 -0
  383. package/dist/zkp/__tests__/workerClient.test.d.ts.map +1 -0
  384. package/dist/zkp/__tests__/workerClient.test.js +415 -0
  385. package/dist/zkp/__tests__/workerClient.test.js.map +1 -0
  386. package/dist/zkp/index.d.ts +1 -1
  387. package/dist/zkp/index.d.ts.map +1 -1
  388. package/dist/zkp/index.js +1 -1
  389. package/dist/zkp/index.js.map +1 -1
  390. package/dist/zkp/proofService.d.ts +27 -0
  391. package/dist/zkp/proofService.d.ts.map +1 -1
  392. package/dist/zkp/proofService.js +29 -21
  393. package/dist/zkp/proofService.js.map +1 -1
  394. package/dist/zkp/proofUtils.d.ts +36 -0
  395. package/dist/zkp/proofUtils.d.ts.map +1 -1
  396. package/dist/zkp/proofUtils.js +50 -0
  397. package/dist/zkp/proofUtils.js.map +1 -1
  398. package/dist/zkp/workerClient.d.ts +65 -0
  399. package/dist/zkp/workerClient.d.ts.map +1 -1
  400. package/dist/zkp/workerClient.js +135 -61
  401. package/dist/zkp/workerClient.js.map +1 -1
  402. package/dist/zkp/workerTypes.d.ts +27 -0
  403. package/dist/zkp/workerTypes.d.ts.map +1 -1
  404. package/package.json +7 -3
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Candid type definitions for ICP canister interaction.
3
+ * These types match the canister interface (snake_case) and are internal implementation details.
4
+ *
5
+ * @remarks
6
+ * Most SDK consumers should not import this module directly. Use {@link StealthCanisterClient}
7
+ * and the higher-level operations in `src/operations/*`.
8
+ */
9
+ import { ActorMethod } from "@dfinity/agent";
10
+ import type { CanisterResult } from "./types.js";
11
+ export type KeyManagerActor = {
12
+ get_view_public_key: ActorMethod<[Uint8Array], CanisterResult<Uint8Array>>;
13
+ request_encrypted_view_key: ActorMethod<[
14
+ EncryptedViewKeyRequestCandid
15
+ ], CanisterResult<Uint8Array>>;
16
+ get_max_nonce: ActorMethod<[Uint8Array], CanisterResult<bigint>>;
17
+ };
18
+ export type StorageActor = {
19
+ submit_announcement: ActorMethod<[AnnouncementInputCandid], CanisterResult<AnnouncementCandid>>;
20
+ submit_invoice: ActorMethod<[InvoiceSubmissionCandid], CanisterResult<null>>;
21
+ list_invoices: ActorMethod<[Uint8Array, string], CanisterResult<Uint8Array[]>>;
22
+ list_announcements: ActorMethod<[[] | [bigint], [] | [number], string], AnnouncementPageCandid>;
23
+ list_announcements_by_time: ActorMethod<[
24
+ [] | [bigint],
25
+ [] | [number],
26
+ string
27
+ ], AnnouncementPageByTimeCandid>;
28
+ get_announcement: ActorMethod<[bigint], [] | [AnnouncementCandid]>;
29
+ };
30
+ export interface AnnouncementInputCandid {
31
+ ibe_ciphertext: Uint8Array;
32
+ ciphertext: Uint8Array;
33
+ nonce: Uint8Array;
34
+ tag: string;
35
+ }
36
+ export interface EncryptedViewKeyRequestCandid {
37
+ address: Uint8Array;
38
+ transport_public_key: Uint8Array;
39
+ expiry_ns: bigint;
40
+ nonce: bigint;
41
+ signature: Uint8Array;
42
+ }
43
+ export interface InvoiceSubmissionCandid {
44
+ invoice_id: Uint8Array;
45
+ signature: Uint8Array;
46
+ tag: string;
47
+ }
48
+ export interface AnnouncementCandid {
49
+ id: bigint;
50
+ ibe_ciphertext: Uint8Array;
51
+ ciphertext: Uint8Array;
52
+ nonce: Uint8Array;
53
+ created_at_ns: bigint;
54
+ tag: string;
55
+ }
56
+ export interface AnnouncementPageCandid {
57
+ announcements: AnnouncementCandid[];
58
+ next_id: [] | [bigint];
59
+ }
60
+ export interface AnnouncementPageByTimeCandid {
61
+ announcements: AnnouncementCandid[];
62
+ next_ts: [] | [bigint];
63
+ }
64
+ /**
65
+ * Unwraps a canister result, handling both Ok/Err and ok/err variants.
66
+ * @param result - Result union returned by canister method.
67
+ * @param method - Method name used for error context.
68
+ * @throws {@link StealthError} if the result is an error variant.
69
+ * @throws {@link StealthError} if the variant is unknown.
70
+ */
71
+ export declare function unwrapResult<T>(result: CanisterResult<T>, method: string): T;
72
+ //# sourceMappingURL=candid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candid.d.ts","sourceRoot":"","sources":["../../src/ic/candid.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD,MAAM,MAAM,eAAe,GAAG;IAC5B,mBAAmB,EAAE,WAAW,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,0BAA0B,EAAE,WAAW,CACrC;QAAC,6BAA6B;KAAC,EAC/B,cAAc,CAAC,UAAU,CAAC,CAC3B,CAAC;IACF,aAAa,EAAE,WAAW,CAAC,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;CAClE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,mBAAmB,EAAE,WAAW,CAAC,CAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAChG,cAAc,EAAE,WAAW,CAAC,CAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,aAAa,EAAE,WAAW,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC/E,kBAAkB,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAChG,0BAA0B,EAAE,WAAW,CACrC;QAAC,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,EAAE,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM;KAAC,EACtC,4BAA4B,CAC7B,CAAC;IACF,gBAAgB,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;CACpE,CAAC;AAMF,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,UAAU,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,UAAU,CAAC;IACpB,oBAAoB,EAAE,UAAU,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,UAAU,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxB;AAMD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAc5E"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Candid type definitions for ICP canister interaction.
3
+ * These types match the canister interface (snake_case) and are internal implementation details.
4
+ *
5
+ * @remarks
6
+ * Most SDK consumers should not import this module directly. Use {@link StealthCanisterClient}
7
+ * and the higher-level operations in `src/operations/*`.
8
+ */
9
+ import { StealthError } from "./errors.js";
10
+ // ============================================================================
11
+ // Result Unwrapping
12
+ // ============================================================================
13
+ /**
14
+ * Unwraps a canister result, handling both Ok/Err and ok/err variants.
15
+ * @param result - Result union returned by canister method.
16
+ * @param method - Method name used for error context.
17
+ * @throws {@link StealthError} if the result is an error variant.
18
+ * @throws {@link StealthError} if the variant is unknown.
19
+ */
20
+ export function unwrapResult(result, method) {
21
+ if ("Ok" in result) {
22
+ return result.Ok;
23
+ }
24
+ if ("ok" in result) {
25
+ return result.ok;
26
+ }
27
+ if ("Err" in result) {
28
+ throw new StealthError(`${method} failed: ${result.Err}`);
29
+ }
30
+ if ("err" in result) {
31
+ throw new StealthError(`${method} failed: ${result.err}`);
32
+ }
33
+ throw new StealthError(`${method} failed: unknown canister result variant`);
34
+ }
35
+ //# sourceMappingURL=candid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"candid.js","sourceRoot":"","sources":["../../src/ic/candid.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAwE3C,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAI,MAAyB,EAAE,MAAc;IACvE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,YAAY,CAAC,GAAG,MAAM,YAAY,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,YAAY,CAAC,GAAG,MAAM,YAAY,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,GAAG,MAAM,0CAA0C,CAAC,CAAC;AAC9E,CAAC"}
@@ -1,89 +1,87 @@
1
- import { ActorMethod, Agent } from "@dfinity/agent";
1
+ import { Agent } from "@dfinity/agent";
2
2
  import { Principal } from "@dfinity/principal";
3
- import { Announcement, AnnouncementInput, AnnouncementPage, AnnouncementPageByTime, CanisterResult, EncryptedViewKeyRequest, InvoiceSubmission } from "./types.js";
4
- export type KeyManagerActor = {
5
- get_view_public_key: ActorMethod<[Uint8Array], CanisterResult<Uint8Array>>;
6
- request_encrypted_view_key: ActorMethod<[
7
- EncryptedViewKeyRequestCandid
8
- ], CanisterResult<Uint8Array>>;
9
- get_max_nonce: ActorMethod<[Uint8Array], CanisterResult<bigint>>;
10
- };
11
- export interface AnnouncementInputCandid {
12
- ibe_ciphertext: Uint8Array;
13
- ciphertext: Uint8Array;
14
- nonce: Uint8Array;
15
- tag: string;
16
- }
17
- export interface EncryptedViewKeyRequestCandid {
18
- address: Uint8Array;
19
- transport_public_key: Uint8Array;
20
- expiry_ns: bigint;
21
- nonce: bigint;
22
- signature: Uint8Array;
23
- }
24
- export interface InvoiceSubmissionCandid {
25
- invoice_id: Uint8Array;
26
- signature: Uint8Array;
27
- tag: string;
28
- }
29
- export type StorageActor = {
30
- submit_announcement: ActorMethod<[AnnouncementInputCandid], CanisterResult<AnnouncementCandid>>;
31
- submit_invoice: ActorMethod<[InvoiceSubmissionCandid], CanisterResult<null>>;
32
- list_invoices: ActorMethod<[Uint8Array, string], CanisterResult<Uint8Array[]>>;
33
- list_announcements: ActorMethod<[
34
- [] | [bigint],
35
- [] | [number],
36
- string
37
- ], AnnouncementPageCandid>;
38
- list_announcements_by_time: ActorMethod<[
39
- [] | [bigint],
40
- [] | [number],
41
- string
42
- ], AnnouncementPageByTimeCandid>;
43
- get_announcement: ActorMethod<[bigint], [] | [AnnouncementCandid]>;
44
- };
45
- export interface AnnouncementCandid {
46
- id: bigint;
47
- ibe_ciphertext: Uint8Array;
48
- ciphertext: Uint8Array;
49
- nonce: Uint8Array;
50
- created_at_ns: bigint;
51
- tag: string;
52
- }
53
- export interface AnnouncementPageCandid {
54
- announcements: AnnouncementCandid[];
55
- next_id: [] | [bigint];
56
- }
57
- export interface AnnouncementPageByTimeCandid {
58
- announcements: AnnouncementCandid[];
59
- next_ts: [] | [bigint];
60
- }
3
+ import { AnnouncementCandid, AnnouncementInputCandid, EncryptedViewKeyRequestCandid, InvoiceSubmissionCandid } from "./candid.js";
4
+ import { Announcement, AnnouncementInput, AnnouncementPage, AnnouncementPageByTime, EncryptedViewKeyRequest, InvoiceSubmission } from "./types.js";
5
+ /**
6
+ * Internet Computer canister client used for stealth announcements and invoices.
7
+ * @remarks
8
+ * This client:
9
+ * - Creates and memoizes canister actors for the key manager and storage canisters.
10
+ * - Unwraps `Result`-style canister responses (`Ok`/`ok`, `Err`/`err`) via `unwrapResult`.
11
+ */
61
12
  export declare class StealthCanisterClient {
62
13
  private readonly agent;
63
14
  private readonly storageCanisterId;
64
15
  private readonly keyManagerCanisterId;
65
16
  private keyManagerActor;
66
17
  private storageActor;
18
+ /**
19
+ * Create a canister client using a pre-configured {@link Agent} and canister principals.
20
+ */
67
21
  constructor(agent: Agent, storageCanisterId: Principal, keyManagerCanisterId: Principal);
22
+ /** Return the configured agent. */
68
23
  getAgent(): Agent;
24
+ /** Return the configured storage canister id. */
69
25
  getStorageCanisterId(): Principal;
26
+ /** Return the configured key manager canister id. */
70
27
  getKeyManagerCanisterId(): Principal;
28
+ /**
29
+ * Fetch the view public key for an EVM address (encoded as bytes).
30
+ */
71
31
  getViewPublicKey(address: Uint8Array): Promise<Uint8Array>;
32
+ /**
33
+ * Request an encrypted view key (vetKD flow).
34
+ * @remarks See {@link EncryptedViewKeyRequest} for required signature/nonce/expiry fields.
35
+ */
72
36
  requestEncryptedViewKey(request: EncryptedViewKeyRequest): Promise<Uint8Array>;
37
+ /**
38
+ * Read the maximum nonce for the given address from the key manager canister.
39
+ */
73
40
  getMaxNonce(address: Uint8Array): Promise<bigint>;
41
+ /**
42
+ * Submit an encrypted announcement to the storage canister.
43
+ */
74
44
  submitAnnouncement(input: AnnouncementInput): Promise<Announcement>;
45
+ /**
46
+ * Submit an invoice (signed pointer) to the storage canister.
47
+ */
75
48
  submitInvoice(submission: InvoiceSubmission): Promise<void>;
49
+ /**
50
+ * List invoice ids for an address.
51
+ * @param address - Address bytes used by the canister as the invoice owner key.
52
+ * @param tag - Optional storage tag. Defaults to {@link DEFAULT_ZSTORAGE_TAG}.
53
+ */
76
54
  listInvoices(address: Uint8Array, tag?: string): Promise<Uint8Array[]>;
55
+ /**
56
+ * List announcements using an id-based cursor.
57
+ * @param startAfter - If provided, results start strictly after this announcement id.
58
+ * @param limit - Maximum number of announcements to return.
59
+ * @param tag - Optional storage tag. Defaults to {@link DEFAULT_ZSTORAGE_TAG}.
60
+ * @returns A page with announcements and `nextId` cursor (or null if no more pages).
61
+ */
77
62
  listAnnouncements(startAfter?: bigint, limit?: number, tag?: string): Promise<AnnouncementPage>;
78
63
  /**
79
64
  * List announcements filtered by time.
80
65
  * @param startAfterTs - Timestamp in nanoseconds. Only announcements created after this time will be returned.
81
66
  * @param limit - Maximum number of announcements to return.
82
67
  * @param tag - Storage tag to filter by.
68
+ * @returns A page with announcements and `nextTs` cursor (or null if no more pages).
83
69
  */
84
70
  listAnnouncementsByTime(startAfterTs?: bigint, limit?: number, tag?: string): Promise<AnnouncementPageByTime>;
71
+ /**
72
+ * Fetch a single announcement by its id.
73
+ * @returns The announcement if present, otherwise `null`.
74
+ */
85
75
  getAnnouncement(id: bigint): Promise<Announcement | null>;
86
76
  private getKeyManagerActor;
87
77
  private getStorageActor;
88
78
  }
79
+ /** @internal */
80
+ export declare function mapAnnouncement(announcement: AnnouncementCandid): Announcement;
81
+ /** @internal */
82
+ export declare function toCandidAnnouncementInput(input: AnnouncementInput): AnnouncementInputCandid;
83
+ /** @internal */
84
+ export declare function toCandidEncryptedViewKeyRequest(request: EncryptedViewKeyRequest): EncryptedViewKeyRequestCandid;
85
+ /** @internal */
86
+ export declare function toCandidInvoiceSubmission(submission: InvoiceSubmission): InvoiceSubmissionCandid;
89
87
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ic/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/ic/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EAIxB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAGpB;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAQ9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IATvC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,YAAY,CAA6B;IAEjD;;OAEG;gBAEgB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,SAAS,EAC5B,oBAAoB,EAAE,SAAS;IAGlD,mCAAmC;IACnC,QAAQ,IAAI,KAAK;IAIjB,iDAAiD;IACjD,oBAAoB,IAAI,SAAS;IAIjC,qDAAqD;IACrD,uBAAuB,IAAI,SAAS;IAIpC;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAMhE;;;OAGG;IACG,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IAMpF;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvD;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAOzE;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjE;;;;OAIG;IACG,YAAY,CAChB,OAAO,EAAE,UAAU,EACnB,GAAG,GAAE,MAA6B,GACjC,OAAO,CAAC,UAAU,EAAE,CAAC;IAMxB;;;;;;OAMG;IACG,iBAAiB,CACrB,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,GAAE,MAA6B,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAW5B;;;;;;OAMG;IACG,uBAAuB,CAC3B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,EACd,GAAG,GAAE,MAA6B,GACjC,OAAO,CAAC,sBAAsB,CAAC;IAWlC;;;OAGG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YASjD,kBAAkB;YAWlB,eAAe;CAU9B;AAMD,gBAAgB;AAChB,wBAAgB,eAAe,CAAC,YAAY,EAAE,kBAAkB,GAAG,YAAY,CAS9E;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,iBAAiB,GAAG,uBAAuB,CAO3F;AAED,gBAAgB;AAChB,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,uBAAuB,GAC/B,6BAA6B,CAQ/B;AAED,gBAAgB;AAChB,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,iBAAiB,GAAG,uBAAuB,CAMhG"}
package/dist/ic/client.js CHANGED
@@ -1,57 +1,99 @@
1
1
  import { Actor } from "@dfinity/agent";
2
- import { StealthError } from "./errors.js";
2
+ import { unwrapResult, } from "./candid.js";
3
+ import { keyManagerIdlFactory, storageIdlFactory } from "./idl.js";
3
4
  import { DEFAULT_ZSTORAGE_TAG } from "../constants.js";
5
+ /**
6
+ * Internet Computer canister client used for stealth announcements and invoices.
7
+ * @remarks
8
+ * This client:
9
+ * - Creates and memoizes canister actors for the key manager and storage canisters.
10
+ * - Unwraps `Result`-style canister responses (`Ok`/`ok`, `Err`/`err`) via `unwrapResult`.
11
+ */
4
12
  export class StealthCanisterClient {
5
13
  agent;
6
14
  storageCanisterId;
7
15
  keyManagerCanisterId;
8
16
  keyManagerActor = null;
9
17
  storageActor = null;
18
+ /**
19
+ * Create a canister client using a pre-configured {@link Agent} and canister principals.
20
+ */
10
21
  constructor(agent, storageCanisterId, keyManagerCanisterId) {
11
22
  this.agent = agent;
12
23
  this.storageCanisterId = storageCanisterId;
13
24
  this.keyManagerCanisterId = keyManagerCanisterId;
14
25
  }
26
+ /** Return the configured agent. */
15
27
  getAgent() {
16
28
  return this.agent;
17
29
  }
30
+ /** Return the configured storage canister id. */
18
31
  getStorageCanisterId() {
19
32
  return this.storageCanisterId;
20
33
  }
34
+ /** Return the configured key manager canister id. */
21
35
  getKeyManagerCanisterId() {
22
36
  return this.keyManagerCanisterId;
23
37
  }
38
+ /**
39
+ * Fetch the view public key for an EVM address (encoded as bytes).
40
+ */
24
41
  async getViewPublicKey(address) {
25
42
  const actor = await this.getKeyManagerActor();
26
43
  const result = await actor.get_view_public_key(address);
27
44
  return unwrapResult(result, "get_view_public_key");
28
45
  }
46
+ /**
47
+ * Request an encrypted view key (vetKD flow).
48
+ * @remarks See {@link EncryptedViewKeyRequest} for required signature/nonce/expiry fields.
49
+ */
29
50
  async requestEncryptedViewKey(request) {
30
51
  const actor = await this.getKeyManagerActor();
31
52
  const result = await actor.request_encrypted_view_key(toCandidEncryptedViewKeyRequest(request));
32
53
  return unwrapResult(result, "request_encrypted_view_key");
33
54
  }
55
+ /**
56
+ * Read the maximum nonce for the given address from the key manager canister.
57
+ */
34
58
  async getMaxNonce(address) {
35
59
  const actor = await this.getKeyManagerActor();
36
60
  const result = await actor.get_max_nonce(address);
37
61
  return unwrapResult(result, "get_max_nonce");
38
62
  }
63
+ /**
64
+ * Submit an encrypted announcement to the storage canister.
65
+ */
39
66
  async submitAnnouncement(input) {
40
67
  const actor = await this.getStorageActor();
41
68
  const result = await actor.submit_announcement(toCandidAnnouncementInput(input));
42
69
  const announcement = unwrapResult(result, "submit_announcement");
43
70
  return mapAnnouncement(announcement);
44
71
  }
72
+ /**
73
+ * Submit an invoice (signed pointer) to the storage canister.
74
+ */
45
75
  async submitInvoice(submission) {
46
76
  const actor = await this.getStorageActor();
47
77
  const result = await actor.submit_invoice(toCandidInvoiceSubmission(submission));
48
78
  unwrapResult(result, "submit_invoice");
49
79
  }
80
+ /**
81
+ * List invoice ids for an address.
82
+ * @param address - Address bytes used by the canister as the invoice owner key.
83
+ * @param tag - Optional storage tag. Defaults to {@link DEFAULT_ZSTORAGE_TAG}.
84
+ */
50
85
  async listInvoices(address, tag = DEFAULT_ZSTORAGE_TAG) {
51
86
  const actor = await this.getStorageActor();
52
87
  const result = await actor.list_invoices(address, tag);
53
88
  return unwrapResult(result, "list_invoices");
54
89
  }
90
+ /**
91
+ * List announcements using an id-based cursor.
92
+ * @param startAfter - If provided, results start strictly after this announcement id.
93
+ * @param limit - Maximum number of announcements to return.
94
+ * @param tag - Optional storage tag. Defaults to {@link DEFAULT_ZSTORAGE_TAG}.
95
+ * @returns A page with announcements and `nextId` cursor (or null if no more pages).
96
+ */
55
97
  async listAnnouncements(startAfter, limit, tag = DEFAULT_ZSTORAGE_TAG) {
56
98
  const actor = await this.getStorageActor();
57
99
  const start = (startAfter === undefined ? [] : [startAfter]);
@@ -67,6 +109,7 @@ export class StealthCanisterClient {
67
109
  * @param startAfterTs - Timestamp in nanoseconds. Only announcements created after this time will be returned.
68
110
  * @param limit - Maximum number of announcements to return.
69
111
  * @param tag - Storage tag to filter by.
112
+ * @returns A page with announcements and `nextTs` cursor (or null if no more pages).
70
113
  */
71
114
  async listAnnouncementsByTime(startAfterTs, limit, tag = DEFAULT_ZSTORAGE_TAG) {
72
115
  const actor = await this.getStorageActor();
@@ -78,6 +121,10 @@ export class StealthCanisterClient {
78
121
  nextTs: page.next_ts.length === 0 ? null : page.next_ts[0],
79
122
  };
80
123
  }
124
+ /**
125
+ * Fetch a single announcement by its id.
126
+ * @returns The announcement if present, otherwise `null`.
127
+ */
81
128
  async getAnnouncement(id) {
82
129
  const actor = await this.getStorageActor();
83
130
  const result = await actor.get_announcement(id);
@@ -107,22 +154,11 @@ export class StealthCanisterClient {
107
154
  return this.storageActor;
108
155
  }
109
156
  }
110
- function unwrapResult(result, method) {
111
- if ("Ok" in result) {
112
- return result.Ok;
113
- }
114
- if ("ok" in result) {
115
- return result.ok;
116
- }
117
- if ("Err" in result) {
118
- throw new StealthError(`${method} failed: ${result.Err}`);
119
- }
120
- if ("err" in result) {
121
- throw new StealthError(`${method} failed: ${result.err}`);
122
- }
123
- throw new StealthError(`${method} failed: unknown canister result variant`);
124
- }
125
- function mapAnnouncement(announcement) {
157
+ // ============================================================================
158
+ // Internal Converters (exported for testing)
159
+ // ============================================================================
160
+ /** @internal */
161
+ export function mapAnnouncement(announcement) {
126
162
  return {
127
163
  id: announcement.id,
128
164
  ibeCiphertext: announcement.ibe_ciphertext,
@@ -132,7 +168,8 @@ function mapAnnouncement(announcement) {
132
168
  tag: announcement.tag,
133
169
  };
134
170
  }
135
- function toCandidAnnouncementInput(input) {
171
+ /** @internal */
172
+ export function toCandidAnnouncementInput(input) {
136
173
  return {
137
174
  ibe_ciphertext: input.ibeCiphertext,
138
175
  ciphertext: input.ciphertext,
@@ -140,7 +177,8 @@ function toCandidAnnouncementInput(input) {
140
177
  tag: input.tag ?? DEFAULT_ZSTORAGE_TAG,
141
178
  };
142
179
  }
143
- function toCandidEncryptedViewKeyRequest(request) {
180
+ /** @internal */
181
+ export function toCandidEncryptedViewKeyRequest(request) {
144
182
  return {
145
183
  address: request.address,
146
184
  transport_public_key: request.transportPublicKey,
@@ -149,72 +187,12 @@ function toCandidEncryptedViewKeyRequest(request) {
149
187
  signature: request.signature,
150
188
  };
151
189
  }
152
- function toCandidInvoiceSubmission(submission) {
190
+ /** @internal */
191
+ export function toCandidInvoiceSubmission(submission) {
153
192
  return {
154
193
  invoice_id: submission.invoiceId,
155
194
  signature: submission.signature,
156
195
  tag: submission.tag ?? DEFAULT_ZSTORAGE_TAG,
157
196
  };
158
197
  }
159
- const keyManagerIdlFactory = ({ IDL: idl }) => {
160
- const Address = idl.Vec(idl.Nat8);
161
- const PublicKey = idl.Vec(idl.Nat8);
162
- const Signature = idl.Vec(idl.Nat8);
163
- const EncryptedKey = idl.Vec(idl.Nat8);
164
- const EncryptedViewKeyRequest = idl.Record({
165
- address: Address,
166
- transport_public_key: PublicKey,
167
- expiry_ns: idl.Nat64,
168
- nonce: idl.Nat64,
169
- signature: Signature,
170
- });
171
- const ResultPublicKey = idl.Variant({ Ok: PublicKey, Err: idl.Text });
172
- const ResultEncryptedKey = idl.Variant({ Ok: EncryptedKey, Err: idl.Text });
173
- const ResultNonce = idl.Variant({ Ok: idl.Nat64, Err: idl.Text });
174
- return idl.Service({
175
- get_view_public_key: idl.Func([Address], [ResultPublicKey], []),
176
- request_encrypted_view_key: idl.Func([EncryptedViewKeyRequest], [ResultEncryptedKey], []),
177
- get_max_nonce: idl.Func([Address], [ResultNonce], ["query"]),
178
- });
179
- };
180
- const storageIdlFactory = ({ IDL: idl }) => {
181
- const AnnouncementInput = idl.Record({
182
- ibe_ciphertext: idl.Vec(idl.Nat8),
183
- ciphertext: idl.Vec(idl.Nat8),
184
- nonce: idl.Vec(idl.Nat8),
185
- tag: idl.Text,
186
- });
187
- const Announcement = idl.Record({
188
- id: idl.Nat64,
189
- ibe_ciphertext: idl.Vec(idl.Nat8),
190
- ciphertext: idl.Vec(idl.Nat8),
191
- nonce: idl.Vec(idl.Nat8),
192
- created_at_ns: idl.Nat64,
193
- tag: idl.Text,
194
- });
195
- const AnnouncementPage = idl.Record({
196
- announcements: idl.Vec(Announcement),
197
- next_id: idl.Opt(idl.Nat64),
198
- });
199
- const AnnouncementPageByTime = idl.Record({
200
- announcements: idl.Vec(Announcement),
201
- next_ts: idl.Opt(idl.Nat64),
202
- });
203
- const InvoiceSubmission = idl.Record({
204
- invoice_id: idl.Vec(idl.Nat8),
205
- signature: idl.Vec(idl.Nat8),
206
- tag: idl.Text,
207
- });
208
- const SubmitAnnouncementResult = idl.Variant({ Ok: Announcement, Err: idl.Text });
209
- const SubmitInvoiceResult = idl.Variant({ Ok: idl.Null, Err: idl.Text });
210
- const ListInvoicesResult = idl.Variant({ Ok: idl.Vec(idl.Vec(idl.Nat8)), Err: idl.Text });
211
- return idl.Service({
212
- submit_announcement: idl.Func([AnnouncementInput], [SubmitAnnouncementResult], []),
213
- submit_invoice: idl.Func([InvoiceSubmission], [SubmitInvoiceResult], []),
214
- list_invoices: idl.Func([idl.Vec(idl.Nat8), idl.Text], [ListInvoicesResult], ["query"]),
215
- list_announcements: idl.Func([idl.Opt(idl.Nat64), idl.Opt(idl.Nat32), idl.Text], [AnnouncementPage], ["query"]),
216
- list_announcements_by_time: idl.Func([idl.Opt(idl.Nat64), idl.Opt(idl.Nat32), idl.Text], [AnnouncementPageByTime], ["query"]),
217
- get_announcement: idl.Func([idl.Nat64], [idl.Opt(Announcement)], ["query"]),
218
- });
219
- };
220
198
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ic/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAsB,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAkEvD,MAAM,OAAO,qBAAqB;IAKb;IACA;IACA;IANX,eAAe,GAA2B,IAAI,CAAC;IAC/C,YAAY,GAAwB,IAAI,CAAC;IAEjD,YACmB,KAAY,EACZ,iBAA4B,EAC5B,oBAA+B;QAF/B,UAAK,GAAL,KAAK,CAAO;QACZ,sBAAiB,GAAjB,iBAAiB,CAAW;QAC5B,yBAAoB,GAApB,oBAAoB,CAAW;IAC/C,CAAC;IAEJ,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAmB;QACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,YAAY,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,OAAgC;QAC5D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,CAAC;QAChG,OAAO,YAAY,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAmB;QACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAwB;QAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,YAAY,CAAqB,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACrF,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAA6B;QAC/C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;QACjF,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAmB,EAAE,MAAc,oBAAoB;QACxE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACvD,OAAO,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAmB,EACnB,KAAc,EACd,MAAc,oBAAoB;QAElC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAkB,CAAC;QAC9E,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAkB,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YACtD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAC3B,YAAqB,EACrB,KAAc,EACd,MAAc,oBAAoB;QAElC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAkB,CAAC;QAClF,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAkB,CAAC;QAC1E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QAC7E,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC;YACtD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,WAAW,CAAkB,oBAAoB,EAAE;YAC9E,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,oBAAoB;SACtC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAe,iBAAiB,EAAE;YACrE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,iBAAiB;SACnC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,SAAS,YAAY,CAAI,MAAyB,EAAE,MAAc;IAChE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,YAAY,CAAC,GAAG,MAAM,YAAY,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,YAAY,CAAC,GAAG,MAAM,YAAY,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,GAAG,MAAM,0CAA0C,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,YAAgC;IACvD,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,EAAE;QACnB,aAAa,EAAE,YAAY,CAAC,cAAc;QAC1C,UAAU,EAAE,YAAY,CAAC,UAAU;QACnC,KAAK,EAAE,YAAY,CAAC,KAAK;QACzB,WAAW,EAAE,YAAY,CAAC,aAAa;QACvC,GAAG,EAAE,YAAY,CAAC,GAAG;KACtB,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAwB;IACzD,OAAO;QACL,cAAc,EAAE,KAAK,CAAC,aAAa;QACnC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,oBAAoB;KACvC,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,OAAgC;IAEhC,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,oBAAoB,EAAE,OAAO,CAAC,kBAAkB;QAChD,SAAS,EAAE,OAAO,CAAC,QAAQ;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,UAA6B;IAC9D,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,SAAS;QAChC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,oBAAoB;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAyB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,uBAAuB,GAAG,GAAG,CAAC,MAAM,CAAC;QACzC,OAAO,EAAE,OAAO;QAChB,oBAAoB,EAAE,SAAS;QAC/B,SAAS,EAAE,GAAG,CAAC,KAAK;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,SAAS,EAAE,SAAS;KACrB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAElE,OAAO,GAAG,CAAC,OAAO,CAAC;QACjB,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QAC/D,0BAA0B,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;QACzF,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;KAC7D,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAyB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/D,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACjC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,GAAG,EAAE,GAAG,CAAC,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC9B,EAAE,EAAE,GAAG,CAAC,KAAK;QACb,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACjC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,aAAa,EAAE,GAAG,CAAC,KAAK;QACxB,GAAG,EAAE,GAAG,CAAC,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC;QAClC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC;QACxC,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5B,GAAG,EAAE,GAAG,CAAC,IAAI;KACd,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1F,OAAO,GAAG,CAAC,OAAO,CAAC;QACjB,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,CAAC;QAClF,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC;QACxE,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACvF,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAC1B,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAClD,CAAC,gBAAgB,CAAC,EAClB,CAAC,OAAO,CAAC,CACV;QACD,0BAA0B,EAAE,GAAG,CAAC,IAAI,CAClC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAClD,CAAC,sBAAsB,CAAC,EACxB,CAAC,OAAO,CAAC,CACV;QACD,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;KAC5E,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/ic/client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,33 @@
1
+ /**
2
+ * Default configuration helpers for IC stealth canister interactions.
3
+ * @remarks
4
+ * These helpers are used to construct vetKD context bytes and select key id names when interacting
5
+ * with the key manager canister.
6
+ */
7
+ /**
8
+ * Default vetKD context prefix (domain separator) used by the SDK.
9
+ * @remarks The full context is typically `DEFAULT_CONTEXT_PREFIX || addressBytes`.
10
+ */
1
11
  export declare const DEFAULT_CONTEXT_PREFIX: Uint8Array<ArrayBuffer>;
12
+ /**
13
+ * Default vetKD key id name for production deployments.
14
+ * @remarks This must match the key id configured in the key manager canister.
15
+ */
2
16
  export declare const DEFAULT_KEY_ID_NAME = "key_1";
17
+ /**
18
+ * Default vetKD key id name commonly used for test/local deployments.
19
+ * @remarks This is useful when running against local replicas or staging environments.
20
+ */
3
21
  export declare const DEFAULT_TEST_KEY_ID_NAME = "test_key_1";
22
+ /**
23
+ * Derive the vetKD context bytes for an address.
24
+ * @param address - 20-byte EVM address (binary form).
25
+ * @param domain - Optional domain separator prefix. Defaults to {@link DEFAULT_CONTEXT_PREFIX}.
26
+ * @returns Concatenated context bytes: `domain || address`.
27
+ */
4
28
  export declare function deriveContext(address: Uint8Array, domain?: Uint8Array): Uint8Array;
29
+ /**
30
+ * Encode a UTF-8 string into bytes.
31
+ */
5
32
  export declare function textToUint8(text: string): Uint8Array;
6
33
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/ic/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,sBAAsB,yBAAiC,CAAC;AACrE,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,UAAU,EACnB,MAAM,GAAE,UAAmC,GAC1C,UAAU,CAKZ;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEpD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/ic/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,yBAAiC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,UAAU,EACnB,MAAM,GAAE,UAAmC,GAC1C,UAAU,CAKZ;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEpD"}
package/dist/ic/config.js CHANGED
@@ -1,14 +1,41 @@
1
+ /**
2
+ * Default configuration helpers for IC stealth canister interactions.
3
+ * @remarks
4
+ * These helpers are used to construct vetKD context bytes and select key id names when interacting
5
+ * with the key manager canister.
6
+ */
1
7
  const DEFAULT_DOMAIN = "icp-stealth-announcement-v1";
2
8
  const encoder = new TextEncoder();
9
+ /**
10
+ * Default vetKD context prefix (domain separator) used by the SDK.
11
+ * @remarks The full context is typically `DEFAULT_CONTEXT_PREFIX || addressBytes`.
12
+ */
3
13
  export const DEFAULT_CONTEXT_PREFIX = encoder.encode(DEFAULT_DOMAIN);
14
+ /**
15
+ * Default vetKD key id name for production deployments.
16
+ * @remarks This must match the key id configured in the key manager canister.
17
+ */
4
18
  export const DEFAULT_KEY_ID_NAME = "key_1";
19
+ /**
20
+ * Default vetKD key id name commonly used for test/local deployments.
21
+ * @remarks This is useful when running against local replicas or staging environments.
22
+ */
5
23
  export const DEFAULT_TEST_KEY_ID_NAME = "test_key_1";
24
+ /**
25
+ * Derive the vetKD context bytes for an address.
26
+ * @param address - 20-byte EVM address (binary form).
27
+ * @param domain - Optional domain separator prefix. Defaults to {@link DEFAULT_CONTEXT_PREFIX}.
28
+ * @returns Concatenated context bytes: `domain || address`.
29
+ */
6
30
  export function deriveContext(address, domain = DEFAULT_CONTEXT_PREFIX) {
7
31
  const context = new Uint8Array(domain.length + address.length);
8
32
  context.set(domain, 0);
9
33
  context.set(address, domain.length);
10
34
  return context;
11
35
  }
36
+ /**
37
+ * Encode a UTF-8 string into bytes.
38
+ */
12
39
  export function textToUint8(text) {
13
40
  return encoder.encode(text);
14
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/ic/config.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD,MAAM,UAAU,aAAa,CAC3B,OAAmB,EACnB,SAAqB,sBAAsB;IAE3C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/ic/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAErD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC;AAErD;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAmB,EACnB,SAAqB,sBAAsB;IAE3C,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}