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
@@ -14,15 +14,110 @@ export interface CachedStealthClientOptions extends StealthClientConnectionOptio
14
14
  cacheKey?: string;
15
15
  cache?: Map<string, Promise<StealthCanisterClient>>;
16
16
  }
17
- export declare function isLocalReplica(url: string): boolean;
18
- export declare function createStealthClient(options: StealthClientConnectionOptions): Promise<StealthCanisterClient>;
19
- export declare function getStealthClientFromConfig(options: CachedStealthClientOptions): Promise<StealthCanisterClient>;
20
- export declare function clearStealthClientCache(cache?: Map<string, Promise<StealthCanisterClient>>, key?: string): void;
21
17
  export interface DeciderClientConfig extends DeciderClientOptions {
22
18
  baseUrl: string;
23
19
  cacheKey?: string;
24
20
  cache?: Map<string, HttpDeciderClient>;
25
21
  }
22
+ export declare function isLocalReplica(url: string): boolean;
23
+ /**
24
+ * Manager for caching StealthCanisterClient instances.
25
+ */
26
+ export declare class StealthClientCacheManager {
27
+ private readonly cache;
28
+ /**
29
+ * Gets or creates a cached stealth client.
30
+ * If creation fails, the failed promise is removed from the cache to allow retry.
31
+ */
32
+ getOrCreate(options: StealthClientConnectionOptions, cacheKey?: string): Promise<StealthCanisterClient>;
33
+ /**
34
+ * Clears a specific entry or all entries from the cache.
35
+ */
36
+ clear(key?: string): void;
37
+ /**
38
+ * Resets the cache to its initial empty state.
39
+ * Alias for clear() - useful for testing.
40
+ */
41
+ reset(): void;
42
+ /**
43
+ * Returns the number of cached entries.
44
+ */
45
+ size(): number;
46
+ /**
47
+ * Returns true if the cache contains an entry for the given key.
48
+ */
49
+ has(key: string): boolean;
50
+ }
51
+ /**
52
+ * Manager for caching HttpDeciderClient instances.
53
+ */
54
+ export declare class DeciderClientCacheManager {
55
+ private readonly cache;
56
+ /**
57
+ * Gets or creates a cached decider client.
58
+ */
59
+ getOrCreate(baseUrl: string, options?: DeciderClientOptions, cacheKey?: string): HttpDeciderClient;
60
+ /**
61
+ * Clears a specific entry or all entries from the cache.
62
+ */
63
+ clear(key?: string): void;
64
+ /**
65
+ * Resets the cache to its initial empty state.
66
+ * Alias for clear() - useful for testing.
67
+ */
68
+ reset(): void;
69
+ /**
70
+ * Returns the number of cached entries.
71
+ */
72
+ size(): number;
73
+ /**
74
+ * Returns true if the cache contains an entry for the given key.
75
+ */
76
+ has(key: string): boolean;
77
+ }
78
+ /**
79
+ * Creates a new stealth client without caching.
80
+ */
81
+ export declare function createStealthClient(options: StealthClientConnectionOptions): Promise<StealthCanisterClient>;
82
+ /**
83
+ * Gets a stealth client from cache or creates a new one.
84
+ * Supports custom cache via options.
85
+ * If creation fails, the failed promise is removed from the cache to allow retry.
86
+ */
87
+ export declare function getStealthClientFromConfig(options: CachedStealthClientOptions): Promise<StealthCanisterClient>;
88
+ /**
89
+ * Clears the stealth client cache.
90
+ * @param cache Optional custom cache to clear. Defaults to the global cache.
91
+ * @param key Optional specific key to clear. If not provided, clears all entries.
92
+ */
93
+ export declare function clearStealthClientCache(cache?: Map<string, Promise<StealthCanisterClient>>, key?: string): void;
94
+ /**
95
+ * Resets the default stealth client cache to its initial state.
96
+ * Useful for testing.
97
+ */
98
+ export declare function resetStealthClientCache(): void;
99
+ /**
100
+ * Returns the default stealth client cache manager.
101
+ */
102
+ export declare function getDefaultStealthClientCacheManager(): StealthClientCacheManager;
103
+ /**
104
+ * Gets a decider client from cache or creates a new one.
105
+ * Supports custom cache via config.
106
+ */
26
107
  export declare function getDeciderClient(config: DeciderClientConfig): HttpDeciderClient;
108
+ /**
109
+ * Clears the decider client cache.
110
+ * @param cache Optional custom cache to clear. Defaults to the global cache.
111
+ * @param key Optional specific key to clear. If not provided, clears all entries.
112
+ */
27
113
  export declare function clearDeciderClientCache(cache?: Map<string, HttpDeciderClient>, key?: string): void;
114
+ /**
115
+ * Resets the default decider client cache to its initial state.
116
+ * Useful for testing.
117
+ */
118
+ export declare function resetDeciderClientCache(): void;
119
+ /**
120
+ * Returns the default decider client cache manager.
121
+ */
122
+ export declare function getDefaultDeciderClientCacheManager(): DeciderClientCacheManager;
28
123
  //# sourceMappingURL=connections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/ic/connections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAI9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,8BAA8B;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,0BAA2B,SAAQ,8BAA8B;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;CACrD;AAID,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AA0BD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAEhC;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,qBAAqB,CAAC,CAmBhC;AAED,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,EACnD,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAON;AAED,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACxC;AAID,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,iBAAiB,CAQ/E;AAED,wBAAgB,uBAAuB,CACrC,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACtC,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAON"}
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../src/ic/connections.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import { HttpAgent } from "@dfinity/agent";
2
2
  import { Principal } from "@dfinity/principal";
3
3
  import { HttpDeciderClient } from "../decider/prover.js";
4
4
  import { StealthCanisterClient } from "./client.js";
5
- const defaultStealthCache = new Map();
5
+ // ============================================================================
6
+ // Utilities
7
+ // ============================================================================
6
8
  export function isLocalReplica(url) {
7
9
  return /localhost|127\.0\.0\.1/.test(url);
8
10
  }
@@ -26,49 +28,239 @@ async function instantiateStealthClient(options) {
26
28
  const keyManagerId = Principal.fromText(options.keyManagerCanisterId);
27
29
  return new StealthCanisterClient(agent, storageId, keyManagerId);
28
30
  }
31
+ // ============================================================================
32
+ // StealthClientCacheManager
33
+ // ============================================================================
34
+ /**
35
+ * Manager for caching StealthCanisterClient instances.
36
+ */
37
+ export class StealthClientCacheManager {
38
+ cache = new Map();
39
+ /**
40
+ * Gets or creates a cached stealth client.
41
+ * If creation fails, the failed promise is removed from the cache to allow retry.
42
+ */
43
+ async getOrCreate(options, cacheKey) {
44
+ const key = cacheKey ??
45
+ `${options.icReplicaUrl}|${options.storageCanisterId}|${options.keyManagerCanisterId}`;
46
+ if (!this.cache.has(key)) {
47
+ const promise = instantiateStealthClient(options).catch((error) => {
48
+ this.cache.delete(key);
49
+ throw error;
50
+ });
51
+ this.cache.set(key, promise);
52
+ }
53
+ return this.cache.get(key);
54
+ }
55
+ /**
56
+ * Clears a specific entry or all entries from the cache.
57
+ */
58
+ clear(key) {
59
+ if (key) {
60
+ this.cache.delete(key);
61
+ return;
62
+ }
63
+ this.cache.clear();
64
+ }
65
+ /**
66
+ * Resets the cache to its initial empty state.
67
+ * Alias for clear() - useful for testing.
68
+ */
69
+ reset() {
70
+ this.cache.clear();
71
+ }
72
+ /**
73
+ * Returns the number of cached entries.
74
+ */
75
+ size() {
76
+ return this.cache.size;
77
+ }
78
+ /**
79
+ * Returns true if the cache contains an entry for the given key.
80
+ */
81
+ has(key) {
82
+ return this.cache.has(key);
83
+ }
84
+ }
85
+ // ============================================================================
86
+ // DeciderClientCacheManager
87
+ // ============================================================================
88
+ /**
89
+ * Manager for caching HttpDeciderClient instances.
90
+ */
91
+ export class DeciderClientCacheManager {
92
+ cache = new Map();
93
+ /**
94
+ * Gets or creates a cached decider client.
95
+ */
96
+ getOrCreate(baseUrl, options, cacheKey) {
97
+ const key = cacheKey ?? baseUrl;
98
+ if (!this.cache.has(key)) {
99
+ this.cache.set(key, new HttpDeciderClient(baseUrl, options));
100
+ }
101
+ return this.cache.get(key);
102
+ }
103
+ /**
104
+ * Clears a specific entry or all entries from the cache.
105
+ */
106
+ clear(key) {
107
+ if (key) {
108
+ this.cache.delete(key);
109
+ return;
110
+ }
111
+ this.cache.clear();
112
+ }
113
+ /**
114
+ * Resets the cache to its initial empty state.
115
+ * Alias for clear() - useful for testing.
116
+ */
117
+ reset() {
118
+ this.cache.clear();
119
+ }
120
+ /**
121
+ * Returns the number of cached entries.
122
+ */
123
+ size() {
124
+ return this.cache.size;
125
+ }
126
+ /**
127
+ * Returns true if the cache contains an entry for the given key.
128
+ */
129
+ has(key) {
130
+ return this.cache.has(key);
131
+ }
132
+ }
133
+ // ============================================================================
134
+ // Default Singletons
135
+ // ============================================================================
136
+ const defaultStealthCacheManager = new StealthClientCacheManager();
137
+ const defaultDeciderCacheManager = new DeciderClientCacheManager();
138
+ // ============================================================================
139
+ // Backward-Compatible Functions (Stealth Client)
140
+ // ============================================================================
141
+ /**
142
+ * Creates a new stealth client without caching.
143
+ */
29
144
  export async function createStealthClient(options) {
30
145
  return instantiateStealthClient(options);
31
146
  }
147
+ /**
148
+ * Gets a stealth client from cache or creates a new one.
149
+ * Supports custom cache via options.
150
+ * If creation fails, the failed promise is removed from the cache to allow retry.
151
+ */
32
152
  export async function getStealthClientFromConfig(options) {
33
- const cache = options.cache ?? defaultStealthCache;
34
- const cacheKey = options.cacheKey ??
35
- `${options.icReplicaUrl}|${options.storageCanisterId}|${options.keyManagerCanisterId}`;
36
- if (!cache.has(cacheKey)) {
37
- cache.set(cacheKey, instantiateStealthClient({
38
- icReplicaUrl: options.icReplicaUrl,
39
- storageCanisterId: options.storageCanisterId,
40
- keyManagerCanisterId: options.keyManagerCanisterId,
41
- agent: options.agent,
42
- agentOptions: options.agentOptions,
43
- fetchRootKey: options.fetchRootKey,
44
- }));
45
- }
46
- return cache.get(cacheKey);
153
+ // If custom cache is provided, use direct Map operations for backward compatibility
154
+ if (options.cache) {
155
+ const cache = options.cache;
156
+ const cacheKey = options.cacheKey ??
157
+ `${options.icReplicaUrl}|${options.storageCanisterId}|${options.keyManagerCanisterId}`;
158
+ if (!cache.has(cacheKey)) {
159
+ const promise = instantiateStealthClient({
160
+ icReplicaUrl: options.icReplicaUrl,
161
+ storageCanisterId: options.storageCanisterId,
162
+ keyManagerCanisterId: options.keyManagerCanisterId,
163
+ agent: options.agent,
164
+ agentOptions: options.agentOptions,
165
+ fetchRootKey: options.fetchRootKey,
166
+ }).catch((error) => {
167
+ cache.delete(cacheKey);
168
+ throw error;
169
+ });
170
+ cache.set(cacheKey, promise);
171
+ }
172
+ return cache.get(cacheKey);
173
+ }
174
+ // Use default manager
175
+ return defaultStealthCacheManager.getOrCreate({
176
+ icReplicaUrl: options.icReplicaUrl,
177
+ storageCanisterId: options.storageCanisterId,
178
+ keyManagerCanisterId: options.keyManagerCanisterId,
179
+ agent: options.agent,
180
+ agentOptions: options.agentOptions,
181
+ fetchRootKey: options.fetchRootKey,
182
+ }, options.cacheKey);
47
183
  }
184
+ /**
185
+ * Clears the stealth client cache.
186
+ * @param cache Optional custom cache to clear. Defaults to the global cache.
187
+ * @param key Optional specific key to clear. If not provided, clears all entries.
188
+ */
48
189
  export function clearStealthClientCache(cache, key) {
49
- const target = cache ?? defaultStealthCache;
50
- if (key) {
51
- target.delete(key);
190
+ if (cache) {
191
+ if (key) {
192
+ cache.delete(key);
193
+ }
194
+ else {
195
+ cache.clear();
196
+ }
52
197
  return;
53
198
  }
54
- target.clear();
199
+ defaultStealthCacheManager.clear(key);
55
200
  }
56
- const defaultDeciderCache = new Map();
201
+ /**
202
+ * Resets the default stealth client cache to its initial state.
203
+ * Useful for testing.
204
+ */
205
+ export function resetStealthClientCache() {
206
+ defaultStealthCacheManager.reset();
207
+ }
208
+ /**
209
+ * Returns the default stealth client cache manager.
210
+ */
211
+ export function getDefaultStealthClientCacheManager() {
212
+ return defaultStealthCacheManager;
213
+ }
214
+ // ============================================================================
215
+ // Backward-Compatible Functions (Decider Client)
216
+ // ============================================================================
217
+ /**
218
+ * Gets a decider client from cache or creates a new one.
219
+ * Supports custom cache via config.
220
+ */
57
221
  export function getDeciderClient(config) {
58
- const cache = config.cache ?? defaultDeciderCache;
59
- const cacheKey = config.cacheKey ?? config.baseUrl;
60
- if (!cache.has(cacheKey)) {
61
- const { baseUrl, cacheKey: _cacheKey, cache: _cache, ...options } = config;
62
- cache.set(cacheKey, new HttpDeciderClient(baseUrl, options));
222
+ // If custom cache is provided, use direct Map operations for backward compatibility
223
+ if (config.cache) {
224
+ const cache = config.cache;
225
+ const cacheKey = config.cacheKey ?? config.baseUrl;
226
+ if (!cache.has(cacheKey)) {
227
+ const { baseUrl, cacheKey: _cacheKey, cache: _cache, ...options } = config;
228
+ cache.set(cacheKey, new HttpDeciderClient(baseUrl, options));
229
+ }
230
+ return cache.get(cacheKey);
63
231
  }
64
- return cache.get(cacheKey);
232
+ // Use default manager
233
+ const { baseUrl, cacheKey, cache: _cache, ...options } = config;
234
+ return defaultDeciderCacheManager.getOrCreate(baseUrl, options, cacheKey);
65
235
  }
236
+ /**
237
+ * Clears the decider client cache.
238
+ * @param cache Optional custom cache to clear. Defaults to the global cache.
239
+ * @param key Optional specific key to clear. If not provided, clears all entries.
240
+ */
66
241
  export function clearDeciderClientCache(cache, key) {
67
- const target = cache ?? defaultDeciderCache;
68
- if (key) {
69
- target.delete(key);
242
+ if (cache) {
243
+ if (key) {
244
+ cache.delete(key);
245
+ }
246
+ else {
247
+ cache.clear();
248
+ }
70
249
  return;
71
250
  }
72
- target.clear();
251
+ defaultDeciderCacheManager.clear(key);
252
+ }
253
+ /**
254
+ * Resets the default decider client cache to its initial state.
255
+ * Useful for testing.
256
+ */
257
+ export function resetDeciderClientCache() {
258
+ defaultDeciderCacheManager.reset();
259
+ }
260
+ /**
261
+ * Returns the default decider client cache manager.
262
+ */
263
+ export function getDefaultDeciderClientCacheManager() {
264
+ return defaultDeciderCacheManager;
73
265
  }
74
266
  //# sourceMappingURL=connections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/ic/connections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections.js","sourceRoot":"","sources":["../../src/ic/connections.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,48 @@
1
1
  import { VetKey } from "@dfinity/vetkeys";
2
2
  import { Announcement, AnnouncementInput, DecryptedAnnouncement } from "./types.js";
3
+ /**
4
+ * Encryption and decryption helpers for stealth announcements.
5
+ * @remarks
6
+ * - Requires WebCrypto (AES-GCM). In Node.js this uses `node:crypto`'s `webcrypto`.
7
+ * - Announcement payloads use:
8
+ * - IBE to encrypt the session key (`ibeCiphertext`)
9
+ * - AES-GCM to encrypt the plaintext (`ciphertext`, `nonce`)
10
+ * - Decryption may throw {@link AnnouncementIgnoredError} for announcements not intended for the given view key.
11
+ */
3
12
  export interface EncryptPayloadOptions {
13
+ /** Optional IBE identity bytes (defaults to empty). */
4
14
  identity?: Uint8Array;
15
+ /** Optional seed bytes used by IBE encryption (defaults to random 32 bytes). */
5
16
  seed?: Uint8Array;
17
+ /** Optional RNG for tests (must return the requested length). */
6
18
  randomBytes?: (length: number) => Uint8Array;
7
19
  }
20
+ /**
21
+ * Encrypt a plaintext announcement.
22
+ * @param viewPublicKey - Recipient's view public key (vetKD derived public key bytes).
23
+ * @param plaintext - Announcement plaintext bytes or UTF-8 string.
24
+ * @returns Announcement input suitable for {@link StealthCanisterClient.submitAnnouncement}.
25
+ * @throws {@link StealthError} if WebCrypto is unavailable or inputs are invalid.
26
+ */
8
27
  export declare function encryptAnnouncement(viewPublicKey: Uint8Array, plaintext: Uint8Array | string, options?: EncryptPayloadOptions): Promise<AnnouncementInput>;
28
+ /**
29
+ * Encrypt a plaintext announcement and return the session key used.
30
+ * @remarks The returned `sessionKey` is a copy; internal buffers are zeroed when possible.
31
+ */
9
32
  export declare function encryptAnnouncementWithArtifacts(viewPublicKey: Uint8Array, plaintextInput: Uint8Array | string, options?: EncryptPayloadOptions): Promise<{
10
33
  announcement: AnnouncementInput;
11
34
  sessionKey: Uint8Array;
12
35
  }>;
36
+ /**
37
+ * Decrypt an announcement using a vetKD view key.
38
+ * @throws {@link AnnouncementIgnoredError} when the announcement cannot be decrypted for this key
39
+ * (vet key mismatch, invalid ciphertext, invalid nonce length, or authentication failure).
40
+ * @throws {@link StealthError} if WebCrypto is unavailable.
41
+ */
13
42
  export declare function decryptAnnouncement(vetKey: VetKey, announcement: Announcement): Promise<DecryptedAnnouncement>;
43
+ /**
44
+ * Attempt to decrypt many announcements, ignoring those not intended for the provided key.
45
+ * @remarks Only {@link AnnouncementIgnoredError} is swallowed; all other errors are rethrown.
46
+ */
14
47
  export declare function scanAnnouncements(vetKey: VetKey, announcements: Announcement[]): Promise<DecryptedAnnouncement[]>;
15
48
  //# sourceMappingURL=encryption.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/ic/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKpF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;CAC9C;AAED,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,UAAU,EACzB,SAAS,EAAE,UAAU,GAAG,MAAM,EAC9B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAO5B;AAED,wBAAsB,gCAAgC,CACpD,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,UAAU,GAAG,MAAM,EACnC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC;IAAE,YAAY,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC,CA4DtE;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA6ChC;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAalC"}
1
+ {"version":3,"file":"encryption.d.ts","sourceRoot":"","sources":["../../src/ic/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAKpF;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,gFAAgF;IAChF,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,iEAAiE;IACjE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,UAAU,EACzB,SAAS,EAAE,UAAU,GAAG,MAAM,EAC9B,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAO5B;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CACpD,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,UAAU,GAAG,MAAM,EACnC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC;IAAE,YAAY,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,CAAC,CA4DtE;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA6ChC;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAalC"}
@@ -2,10 +2,21 @@ import { DerivedPublicKey, IbeCiphertext, IbeIdentity, IbeSeed } from "@dfinity/
2
2
  import { AnnouncementIgnoredError, StealthError } from "./errors.js";
3
3
  const SESSION_KEY_LEN = 32;
4
4
  const NONCE_LEN = 12;
5
+ /**
6
+ * Encrypt a plaintext announcement.
7
+ * @param viewPublicKey - Recipient's view public key (vetKD derived public key bytes).
8
+ * @param plaintext - Announcement plaintext bytes or UTF-8 string.
9
+ * @returns Announcement input suitable for {@link StealthCanisterClient.submitAnnouncement}.
10
+ * @throws {@link StealthError} if WebCrypto is unavailable or inputs are invalid.
11
+ */
5
12
  export async function encryptAnnouncement(viewPublicKey, plaintext, options = {}) {
6
13
  const { announcement } = await encryptAnnouncementWithArtifacts(viewPublicKey, plaintext, options);
7
14
  return announcement;
8
15
  }
16
+ /**
17
+ * Encrypt a plaintext announcement and return the session key used.
18
+ * @remarks The returned `sessionKey` is a copy; internal buffers are zeroed when possible.
19
+ */
9
20
  export async function encryptAnnouncementWithArtifacts(viewPublicKey, plaintextInput, options = {}) {
10
21
  const crypto = await resolveCrypto();
11
22
  const plaintext = typeof plaintextInput === "string" ? new TextEncoder().encode(plaintextInput) : plaintextInput;
@@ -41,6 +52,12 @@ export async function encryptAnnouncementWithArtifacts(viewPublicKey, plaintextI
41
52
  sessionKey: sessionKeyCopy,
42
53
  };
43
54
  }
55
+ /**
56
+ * Decrypt an announcement using a vetKD view key.
57
+ * @throws {@link AnnouncementIgnoredError} when the announcement cannot be decrypted for this key
58
+ * (vet key mismatch, invalid ciphertext, invalid nonce length, or authentication failure).
59
+ * @throws {@link StealthError} if WebCrypto is unavailable.
60
+ */
44
61
  export async function decryptAnnouncement(vetKey, announcement) {
45
62
  const crypto = await resolveCrypto();
46
63
  const { ibeCiphertext, ciphertext, nonce } = announcement;
@@ -74,6 +91,10 @@ export async function decryptAnnouncement(vetKey, announcement) {
74
91
  throw new AnnouncementIgnoredError("ciphertext authentication failed");
75
92
  }
76
93
  }
94
+ /**
95
+ * Attempt to decrypt many announcements, ignoring those not intended for the provided key.
96
+ * @remarks Only {@link AnnouncementIgnoredError} is swallowed; all other errors are rethrown.
97
+ */
77
98
  export async function scanAnnouncements(vetKey, announcements) {
78
99
  const decrypted = [];
79
100
  for (const announcement of announcements) {
@@ -1 +1 @@
1
- {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/ic/encryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../src/ic/encryption.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,21 @@
1
+ /**
2
+ * Base error type for IC-related and stealth client operations.
3
+ * @remarks
4
+ * SDK consumers can `instanceof StealthError` to distinguish SDK failures from other thrown errors.
5
+ */
1
6
  export declare class StealthError extends Error {
2
7
  constructor(message: string);
3
8
  }
9
+ /**
10
+ * Error thrown when an announcement should be ignored during scanning/decryption.
11
+ * @remarks
12
+ * This is used for expected failures such as:
13
+ * - view key mismatch
14
+ * - invalid ciphertext for this recipient
15
+ * - AES-GCM authentication failure
16
+ *
17
+ * Scanners typically swallow this error and continue with other announcements.
18
+ */
4
19
  export declare class AnnouncementIgnoredError extends StealthError {
5
20
  constructor(reason: string);
6
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ic/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,wBAAyB,SAAQ,YAAY;gBAC5C,MAAM,EAAE,MAAM;CAI3B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ic/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;GASG;AACH,qBAAa,wBAAyB,SAAQ,YAAY;gBAC5C,MAAM,EAAE,MAAM;CAI3B"}
package/dist/ic/errors.js CHANGED
@@ -1,9 +1,24 @@
1
+ /**
2
+ * Base error type for IC-related and stealth client operations.
3
+ * @remarks
4
+ * SDK consumers can `instanceof StealthError` to distinguish SDK failures from other thrown errors.
5
+ */
1
6
  export class StealthError extends Error {
2
7
  constructor(message) {
3
8
  super(message);
4
9
  this.name = "StealthError";
5
10
  }
6
11
  }
12
+ /**
13
+ * Error thrown when an announcement should be ignored during scanning/decryption.
14
+ * @remarks
15
+ * This is used for expected failures such as:
16
+ * - view key mismatch
17
+ * - invalid ciphertext for this recipient
18
+ * - AES-GCM authentication failure
19
+ *
20
+ * Scanners typically swallow this error and continue with other announcements.
21
+ */
7
22
  export class AnnouncementIgnoredError extends StealthError {
8
23
  constructor(reason) {
9
24
  super(`announcement ignored: ${reason}`);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ic/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,YAAY;IACxD,YAAY,MAAc;QACxB,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ic/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,wBAAyB,SAAQ,YAAY;IACxD,YAAY,MAAc;QACxB,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Candid IDL factory definitions for ICP canisters.
3
+ * @remarks
4
+ * These factories must remain in sync with the deployed canister interfaces.
5
+ * SDK consumers typically should not depend on this module directly.
6
+ */
7
+ import { IDL } from "@dfinity/candid";
8
+ /**
9
+ * IDL factory for the Key Manager canister.
10
+ * Provides view key derivation and encrypted key request functionality.
11
+ *
12
+ * @remarks
13
+ * The canister returns a Result variant. Some deployments may use `Ok/Err` and others `ok/err`;
14
+ * the SDK unwrap logic handles both at the boundary (`ic/candid.ts`).
15
+ */
16
+ export declare const keyManagerIdlFactory: IDL.InterfaceFactory;
17
+ /**
18
+ * IDL factory for the Storage canister.
19
+ * Provides announcement and invoice storage functionality.
20
+ *
21
+ * @remarks
22
+ * Pagination methods use `Opt` cursors (`next_id`, `next_ts`). The SDK maps these to `bigint | null`
23
+ * for consumer convenience.
24
+ */
25
+ export declare const storageIdlFactory: IDL.InterfaceFactory;
26
+ //# sourceMappingURL=idl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idl.d.ts","sourceRoot":"","sources":["../../src/ic/idl.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,GAAG,CAAC,gBAuBtC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,GAAG,CAAC,gBAqDnC,CAAC"}