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,201 @@
1
+ import { beforeEach, describe, expect, test, vi } from "vitest";
2
+ vi.mock("../../ic/authorization.js", () => ({
3
+ authorizationMessage: vi.fn(),
4
+ authorizationMessageText: vi.fn(),
5
+ unixTimeNs: vi.fn(),
6
+ }));
7
+ vi.mock("../../ic/encryption.js", () => ({
8
+ scanAnnouncements: vi.fn(),
9
+ }));
10
+ vi.mock("../../ic/recipient.js", () => ({
11
+ decryptVetKey: vi.fn(),
12
+ prepareTransportKey: vi.fn(),
13
+ }));
14
+ vi.mock("../../wasm/index.js", () => ({
15
+ decodeFullBurnAddress: vi.fn(),
16
+ }));
17
+ import { authorizationMessage, authorizationMessageText, unixTimeNs, } from "../../ic/authorization.js";
18
+ import { scanAnnouncements } from "../../ic/encryption.js";
19
+ import { decryptVetKey, prepareTransportKey } from "../../ic/recipient.js";
20
+ import { decodeFullBurnAddress } from "../../wasm/index.js";
21
+ import { bytesToHex } from "../../utils/hex.js";
22
+ import { createAuthorizationPayload, requestVetKey, scanReceivings } from "../scanner.js";
23
+ describe("operations/scanner", () => {
24
+ const mockAuthorizationMessage = vi.mocked(authorizationMessage);
25
+ const mockAuthorizationMessageText = vi.mocked(authorizationMessageText);
26
+ const mockUnixTimeNs = vi.mocked(unixTimeNs);
27
+ const mockScanAnnouncements = vi.mocked(scanAnnouncements);
28
+ const mockDecryptVetKey = vi.mocked(decryptVetKey);
29
+ const mockPrepareTransportKey = vi.mocked(prepareTransportKey);
30
+ const mockDecodeFullBurnAddress = vi.mocked(decodeFullBurnAddress);
31
+ const address = "0x1111111111111111111111111111111111111111";
32
+ beforeEach(() => {
33
+ vi.clearAllMocks();
34
+ mockUnixTimeNs.mockReturnValue(100n);
35
+ mockPrepareTransportKey.mockReturnValue({
36
+ publicKey: new Uint8Array([1, 2, 3]),
37
+ secret: new Uint8Array([4, 5, 6]),
38
+ });
39
+ mockAuthorizationMessageText.mockReturnValue("message");
40
+ mockAuthorizationMessage.mockReturnValue(new Uint8Array([9, 9, 9]));
41
+ });
42
+ describe("createAuthorizationPayload", () => {
43
+ test("builds message/canonicalMessage and increments nonce", async () => {
44
+ const client = {
45
+ getKeyManagerCanisterId: () => "aaaaa-aa",
46
+ getMaxNonce: vi.fn().mockResolvedValue(5n),
47
+ };
48
+ const payload = await createAuthorizationPayload(client, address, 60);
49
+ expect(payload.expiryNs).toBe(60000000100n);
50
+ expect(payload.nonce).toBe(6n);
51
+ expect(payload.message).toBe("message");
52
+ expect(payload.canonicalMessage).toEqual(new Uint8Array([9, 9, 9]));
53
+ expect(payload.transport.publicKey).toEqual(new Uint8Array([1, 2, 3]));
54
+ expect(client.getMaxNonce).toHaveBeenCalledWith(expect.any(Uint8Array));
55
+ expect(mockAuthorizationMessageText).toHaveBeenCalledWith("aaaaa-aa", expect.any(Uint8Array), new Uint8Array([1, 2, 3]), 60000000100n, 6n);
56
+ expect(mockAuthorizationMessage).toHaveBeenCalledWith("aaaaa-aa", expect.any(Uint8Array), new Uint8Array([1, 2, 3]), 60000000100n, 6n);
57
+ });
58
+ });
59
+ describe("requestVetKey", () => {
60
+ test("requests encrypted view key and decrypts it", async () => {
61
+ const client = {
62
+ requestEncryptedViewKey: vi.fn().mockResolvedValue(new Uint8Array([7, 7, 7])),
63
+ getViewPublicKey: vi.fn().mockResolvedValue(new Uint8Array([8, 8, 8])),
64
+ };
65
+ const payload = {
66
+ expiryNs: 123n,
67
+ nonce: 9n,
68
+ transport: {
69
+ publicKey: new Uint8Array([1, 2, 3]),
70
+ secret: new Uint8Array([4, 5, 6]),
71
+ },
72
+ };
73
+ const signature = new Uint8Array([0xaa]);
74
+ const expectedVetKey = { kind: "vetKey" };
75
+ mockDecryptVetKey.mockReturnValue(expectedVetKey);
76
+ const vetKey = await requestVetKey(client, address, payload, signature);
77
+ expect(vetKey).toBe(expectedVetKey);
78
+ expect(client.requestEncryptedViewKey).toHaveBeenCalledWith(expect.objectContaining({
79
+ address: expect.any(Uint8Array),
80
+ transportPublicKey: new Uint8Array([1, 2, 3]),
81
+ expiryNs: 123n,
82
+ nonce: 9n,
83
+ signature,
84
+ }));
85
+ expect(client.getViewPublicKey).toHaveBeenCalledWith(expect.any(Uint8Array));
86
+ expect(mockDecryptVetKey).toHaveBeenCalledWith(new Uint8Array([7, 7, 7]), new Uint8Array([8, 8, 8]), new Uint8Array([4, 5, 6]));
87
+ });
88
+ });
89
+ describe("scanReceivings", () => {
90
+ test("paginates announcements and returns scanned items", async () => {
91
+ const client = {
92
+ listAnnouncements: vi
93
+ .fn()
94
+ .mockResolvedValueOnce({
95
+ announcements: [{ id: 1n }, { id: 2n }],
96
+ nextId: 2n,
97
+ })
98
+ .mockResolvedValueOnce({
99
+ announcements: [{ id: 3n }],
100
+ nextId: null,
101
+ }),
102
+ };
103
+ mockScanAnnouncements
104
+ .mockResolvedValueOnce([
105
+ { id: 1n, plaintext: new Uint8Array([1]), createdAtNs: 10n },
106
+ { id: 2n, plaintext: new Uint8Array([2]), createdAtNs: 20n },
107
+ ])
108
+ .mockResolvedValueOnce([{ id: 3n, plaintext: new Uint8Array([3]), createdAtNs: 30n }]);
109
+ mockDecodeFullBurnAddress.mockResolvedValue({
110
+ burnAddress: address,
111
+ fullBurnAddress: `0x${"00".repeat(32)}`,
112
+ generalRecipient: { chainId: 1n },
113
+ });
114
+ const results = await scanReceivings({ client, vetKey: {}, pageSize: 2, tag: "tag" });
115
+ expect(results).toHaveLength(3);
116
+ expect(client.listAnnouncements).toHaveBeenNthCalledWith(1, undefined, 2, "tag");
117
+ expect(client.listAnnouncements).toHaveBeenNthCalledWith(2, 2n, 2, "tag");
118
+ expect(mockScanAnnouncements).toHaveBeenCalledTimes(2);
119
+ expect(mockDecodeFullBurnAddress).toHaveBeenCalledTimes(3);
120
+ });
121
+ test("uses startAfter cursor when provided", async () => {
122
+ const client = {
123
+ listAnnouncements: vi.fn().mockResolvedValue({
124
+ announcements: [],
125
+ nextId: null,
126
+ }),
127
+ };
128
+ await scanReceivings({
129
+ client,
130
+ vetKey: {},
131
+ startAfter: 123n,
132
+ pageSize: 10,
133
+ tag: "tag",
134
+ });
135
+ expect(client.listAnnouncements).toHaveBeenCalledWith(123n, 10, "tag");
136
+ });
137
+ test("ignores announcements that fail PoW recovery", async () => {
138
+ const client = {
139
+ listAnnouncements: vi.fn().mockResolvedValue({
140
+ announcements: [{ id: 1n }, { id: 2n }],
141
+ nextId: null,
142
+ }),
143
+ };
144
+ const powPlaintext = new Uint8Array([0x01]);
145
+ const okPlaintext = new Uint8Array([0x02]);
146
+ mockScanAnnouncements.mockResolvedValue([
147
+ { id: 1n, plaintext: powPlaintext, createdAtNs: 1n },
148
+ { id: 2n, plaintext: okPlaintext, createdAtNs: 2n },
149
+ ]);
150
+ mockDecodeFullBurnAddress.mockImplementation(async (payloadHex) => {
151
+ if (payloadHex === bytesToHex(powPlaintext)) {
152
+ throw new Error("PoW recovery failed");
153
+ }
154
+ return {
155
+ burnAddress: address,
156
+ fullBurnAddress: `0x${"00".repeat(32)}`,
157
+ generalRecipient: { chainId: 1n },
158
+ };
159
+ });
160
+ const results = await scanReceivings({ client, vetKey: {}, tag: "tag" });
161
+ expect(results).toHaveLength(1);
162
+ expect(results[0]?.id).toBe(2n);
163
+ });
164
+ test("ignores announcements that fail burn address derivation", async () => {
165
+ const client = {
166
+ listAnnouncements: vi.fn().mockResolvedValue({
167
+ announcements: [{ id: 1n }, { id: 2n }],
168
+ nextId: null,
169
+ }),
170
+ };
171
+ mockScanAnnouncements.mockResolvedValue([
172
+ { id: 1n, plaintext: new Uint8Array([0x01]), createdAtNs: 1n },
173
+ { id: 2n, plaintext: new Uint8Array([0x02]), createdAtNs: 2n },
174
+ ]);
175
+ mockDecodeFullBurnAddress
176
+ .mockRejectedValueOnce(new Error("derive burn address failed"))
177
+ .mockResolvedValueOnce({
178
+ burnAddress: address,
179
+ fullBurnAddress: `0x${"00".repeat(32)}`,
180
+ generalRecipient: { chainId: 1n },
181
+ });
182
+ const results = await scanReceivings({ client, vetKey: {}, tag: "tag" });
183
+ expect(results).toHaveLength(1);
184
+ expect(results[0]?.id).toBe(2n);
185
+ });
186
+ test("throws on non-PoW errors", async () => {
187
+ const client = {
188
+ listAnnouncements: vi.fn().mockResolvedValue({
189
+ announcements: [{ id: 1n }],
190
+ nextId: null,
191
+ }),
192
+ };
193
+ mockScanAnnouncements.mockResolvedValue([
194
+ { id: 1n, plaintext: new Uint8Array([0x01]), createdAtNs: 1n },
195
+ ]);
196
+ mockDecodeFullBurnAddress.mockRejectedValue(new Error("unexpected"));
197
+ await expect(scanReceivings({ client, vetKey: {}, tag: "tag" })).rejects.toThrow("unexpected");
198
+ });
199
+ });
200
+ });
201
+ //# sourceMappingURL=scanner.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanner.test.js","sourceRoot":"","sources":["../../../src/operations/__tests__/scanner.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=teleport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teleport.test.d.ts","sourceRoot":"","sources":["../../../src/operations/__tests__/teleport.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import { getTreeIndexForChain } from "../teleport.js";
3
+ describe("operations/teleport", () => {
4
+ test("returns tree index for chain id", () => {
5
+ const state = {
6
+ latestAggSeq: 1n,
7
+ aggregationRoot: `0x${"00".repeat(32)}`,
8
+ snapshot: [],
9
+ transferTreeIndices: [5n, 9n],
10
+ chainIds: [1n, 10n],
11
+ };
12
+ expect(getTreeIndexForChain(state, 10n)).toBe(9n);
13
+ });
14
+ test("throws when chain id is not found", () => {
15
+ const state = {
16
+ latestAggSeq: 1n,
17
+ aggregationRoot: `0x${"00".repeat(32)}`,
18
+ snapshot: [],
19
+ transferTreeIndices: [5n],
20
+ chainIds: [1n],
21
+ };
22
+ expect(() => getTreeIndexForChain(state, 2n)).toThrow("Chain id 2 not found");
23
+ });
24
+ test("throws when snapshot is missing a tree index for the chain", () => {
25
+ const state = {
26
+ latestAggSeq: 1n,
27
+ aggregationRoot: `0x${"00".repeat(32)}`,
28
+ snapshot: [],
29
+ transferTreeIndices: [],
30
+ chainIds: [1n],
31
+ };
32
+ expect(() => getTreeIndexForChain(state, 1n)).toThrow("Aggregation snapshot missing tree index for chain 1");
33
+ });
34
+ });
35
+ //# sourceMappingURL=teleport.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teleport.test.js","sourceRoot":"","sources":["../../../src/operations/__tests__/teleport.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC3C,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACvC,QAAQ,EAAE,EAAE;YACZ,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YAC7B,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;SACpB,CAAC;QAEF,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACvC,QAAQ,EAAE,EAAE;YACZ,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,QAAQ,EAAE,CAAC,EAAE,CAAC;SACf,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACtE,MAAM,KAAK,GAAyB;YAClC,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACvC,QAAQ,EAAE,EAAE;YACZ,mBAAmB,EAAE,EAAE;YACvB,QAAQ,EAAE,CAAC,EAAE,CAAC;SACf,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACnD,qDAAqD,CACtD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=teleportProof.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teleportProof.test.d.ts","sourceRoot":"","sources":["../../../src/operations/__tests__/teleportProof.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,126 @@
1
+ import { describe, expect, test, vi } from "vitest";
2
+ import { TeleportProofClient, createTeleportProofClient } from "../teleportProof.js";
3
+ describe("operations/teleportProof", () => {
4
+ test("createBatchTeleportProof runs nova prover, calls hook, then requests decider proof", async () => {
5
+ const calls = [];
6
+ const proofs = {
7
+ createSingleTeleportProof: vi.fn(),
8
+ runNovaProver: vi.fn().mockImplementation(async () => {
9
+ calls.push("nova");
10
+ return {
11
+ ivcProof: new Uint8Array([1, 2, 3]),
12
+ finalState: ["0xstate"],
13
+ steps: 2,
14
+ };
15
+ }),
16
+ };
17
+ const decider = {
18
+ produceDeciderProof: vi.fn().mockImplementation(async () => {
19
+ calls.push("decider");
20
+ return new Uint8Array([9, 9]);
21
+ }),
22
+ };
23
+ const onStart = vi.fn(async () => {
24
+ calls.push("start");
25
+ });
26
+ const client = new TeleportProofClient(proofs);
27
+ const result = await client.createBatchTeleportProof({
28
+ aggregationState: {
29
+ latestAggSeq: 1n,
30
+ aggregationRoot: `0x${"00".repeat(32)}`,
31
+ snapshot: [],
32
+ transferTreeIndices: [],
33
+ chainIds: [],
34
+ },
35
+ recipientFr: `0x${"11".repeat(32)}`,
36
+ secretHex: `0x${"22".repeat(32)}`,
37
+ events: [
38
+ {
39
+ eventIndex: 0n,
40
+ from: `0x${"33".repeat(20)}`,
41
+ to: `0x${"44".repeat(20)}`,
42
+ value: 1n,
43
+ ethBlockNumber: 1n,
44
+ },
45
+ ],
46
+ proofs: [{ leafIndex: 1n, siblings: [] }],
47
+ decider,
48
+ onDeciderRequestStart: onStart,
49
+ });
50
+ expect(calls).toEqual(["nova", "start", "decider"]);
51
+ expect(proofs.runNovaProver).toHaveBeenCalledWith(expect.objectContaining({
52
+ recipientFr: `0x${"11".repeat(32)}`,
53
+ secretHex: `0x${"22".repeat(32)}`,
54
+ }));
55
+ expect(onStart).toHaveBeenCalledTimes(1);
56
+ expect(decider.produceDeciderProof).toHaveBeenCalledWith("withdraw_global", new Uint8Array([1, 2, 3]));
57
+ expect(result.deciderProof).toEqual(new Uint8Array([9, 9]));
58
+ expect(result.steps).toBe(2);
59
+ });
60
+ test("createBatchTeleportProof does not call decider when onDeciderRequestStart throws", async () => {
61
+ const proofs = {
62
+ runNovaProver: vi.fn().mockResolvedValue({
63
+ ivcProof: new Uint8Array([1]),
64
+ finalState: [],
65
+ steps: 1,
66
+ }),
67
+ };
68
+ const decider = { produceDeciderProof: vi.fn() };
69
+ const client = new TeleportProofClient(proofs);
70
+ await expect(client.createBatchTeleportProof({
71
+ aggregationState: {
72
+ latestAggSeq: 1n,
73
+ aggregationRoot: `0x${"00".repeat(32)}`,
74
+ snapshot: [],
75
+ transferTreeIndices: [],
76
+ chainIds: [],
77
+ },
78
+ recipientFr: `0x${"11".repeat(32)}`,
79
+ secretHex: `0x${"22".repeat(32)}`,
80
+ events: [],
81
+ proofs: [],
82
+ decider,
83
+ onDeciderRequestStart: () => {
84
+ throw new Error("hook failed");
85
+ },
86
+ })).rejects.toThrow("hook failed");
87
+ expect(decider.produceDeciderProof).not.toHaveBeenCalled();
88
+ });
89
+ test("createBatchTeleportProof does not call hook or decider when nova prover throws", async () => {
90
+ const proofs = {
91
+ runNovaProver: vi.fn().mockRejectedValue(new Error("nova failed")),
92
+ };
93
+ const decider = { produceDeciderProof: vi.fn() };
94
+ const onStart = vi.fn();
95
+ const client = new TeleportProofClient(proofs);
96
+ await expect(client.createBatchTeleportProof({
97
+ aggregationState: {
98
+ latestAggSeq: 1n,
99
+ aggregationRoot: `0x${"00".repeat(32)}`,
100
+ snapshot: [],
101
+ transferTreeIndices: [],
102
+ chainIds: [],
103
+ },
104
+ recipientFr: `0x${"11".repeat(32)}`,
105
+ secretHex: `0x${"22".repeat(32)}`,
106
+ events: [],
107
+ proofs: [],
108
+ decider,
109
+ onDeciderRequestStart: onStart,
110
+ })).rejects.toThrow("nova failed");
111
+ expect(onStart).not.toHaveBeenCalled();
112
+ expect(decider.produceDeciderProof).not.toHaveBeenCalled();
113
+ });
114
+ test("createTeleportProofClient uses provided ProofService instance", async () => {
115
+ const proofs = {
116
+ createSingleTeleportProof: vi
117
+ .fn()
118
+ .mockResolvedValue({ proofCalldata: "0x", publicInputs: [], treeDepth: 0 }),
119
+ runNovaProver: vi.fn(),
120
+ };
121
+ const client = createTeleportProofClient({ proofs });
122
+ await client.createSingleTeleportProof({});
123
+ expect(proofs.createSingleTeleportProof).toHaveBeenCalledWith({});
124
+ });
125
+ });
126
+ //# sourceMappingURL=teleportProof.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teleportProof.test.js","sourceRoot":"","sources":["../../../src/operations/__tests__/teleportProof.test.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,62 @@
1
1
  import { StealthCanisterClient } from "../ic/client.js";
2
2
  import { InvoiceIssueArtifacts } from "../types.js";
3
+ /**
4
+ * Parameters for preparing an invoice issue.
5
+ *
6
+ * This generates a unique invoice ID (32 bytes), derives burn addresses, and
7
+ * produces the EIP-191 signature message that should be signed by the issuer.
8
+ */
3
9
  export interface InvoiceIssueParams {
10
+ /** ICP stealth client used to query existing invoices and submit new ones. */
4
11
  client: StealthCanisterClient;
12
+ /** 32-byte seed as 0x-hex string. */
5
13
  seedHex: string;
14
+ /** Recipient EVM address (0x-prefixed, 20 bytes). */
6
15
  recipientAddress: string;
16
+ /** Recipient chain ID (EVM chain ID). */
7
17
  recipientChainId: number | bigint;
18
+ /** Whether to create a batch invoice (multiple burn addresses). */
8
19
  isBatch: boolean;
20
+ /** Optional storage tag used to namespace invoices. */
9
21
  tag?: string;
22
+ /** RNG override for testing/determinism. Must return exactly `length` bytes. */
10
23
  randomBytes?: (length: number) => Uint8Array;
24
+ /** Maximum number of attempts to find a unique invoice ID (default: 8). */
11
25
  maxRetries?: number;
12
26
  }
27
+ /**
28
+ * Prepare invoice issue artifacts for the recipient.
29
+ *
30
+ * @returns Invoice ID, derived burn addresses, and the signature message to sign.
31
+ * @throws Error if a unique invoice ID cannot be generated within `maxRetries`.
32
+ */
13
33
  export declare function prepareInvoiceIssue(params: InvoiceIssueParams): Promise<InvoiceIssueArtifacts>;
34
+ /**
35
+ * Extract the embedded chain ID from a 32-byte invoice ID.
36
+ *
37
+ * @throws Error if `invoiceBytes` is not 32 bytes.
38
+ */
14
39
  export declare function extractChainIdFromInvoiceBytes(invoiceBytes: Uint8Array): bigint;
40
+ /**
41
+ * Extract the embedded chain ID from a 32-byte invoice ID hex string.
42
+ *
43
+ * @throws Error if the invoice ID is not 32 bytes.
44
+ */
15
45
  export declare function extractChainIdFromInvoiceHex(invoiceIdHex: string): bigint;
46
+ /**
47
+ * Submit an invoice to the storage canister.
48
+ *
49
+ * @param client - Stealth client instance.
50
+ * @param invoiceIdHex - 32-byte invoice ID as 0x-hex string.
51
+ * @param signature - Signature over the message produced by `prepareInvoiceIssue`.
52
+ * @param tag - Optional storage tag (defaults to `DEFAULT_ZSTORAGE_TAG`).
53
+ */
16
54
  export declare function submitInvoice(client: StealthCanisterClient, invoiceIdHex: string, signature: Uint8Array, tag?: string): Promise<void>;
55
+ /**
56
+ * List invoice IDs for a given owner address.
57
+ *
58
+ * @param chainId - Optional filter for a specific chain ID embedded in invoice IDs.
59
+ * @returns Invoice IDs as 0x-hex strings.
60
+ */
17
61
  export declare function listInvoices(client: StealthCanisterClient, ownerAddress: string, chainId?: number | bigint, tag?: string): Promise<string[]>;
18
62
  //# sourceMappingURL=invoice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/operations/invoice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAA2B,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAW7E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA0FhC;AAcD,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,CAS/E;AAED,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGzE;AAoBD,wBAAsB,aAAa,CACjC,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,UAAU,EACrB,GAAG,GAAE,MAA6B,GACjC,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EACzB,GAAG,GAAE,MAA6B,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB"}
1
+ {"version":3,"file":"invoice.d.ts","sourceRoot":"","sources":["../../src/operations/invoice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAA2B,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAW7E;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,MAAM,EAAE,qBAAqB,CAAC;IAC9B,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IAC7C,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,qBAAqB,CAAC,CA0FhC;AAcD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,UAAU,GAAG,MAAM,CAS/E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAGzE;AAoBD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,UAAU,EACrB,GAAG,GAAE,MAA6B,GACjC,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,qBAAqB,EAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EACzB,GAAG,GAAE,MAA6B,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAWnB"}
@@ -2,6 +2,12 @@ import { DEFAULT_ZSTORAGE_TAG, NUM_BATCH_INVOICES } from "../constants.js";
2
2
  import { invoiceMessageText } from "../ic/invoice.js";
3
3
  import { addressToBytes, bytesToHex, ensureHexLength, hexToBytes, normalizeHex, randomBytes, } from "../utils/hex.js";
4
4
  import { buildFullBurnAddress, deriveInvoiceBatch, deriveInvoiceSingle } from "../wasm/index.js";
5
+ /**
6
+ * Prepare invoice issue artifacts for the recipient.
7
+ *
8
+ * @returns Invoice ID, derived burn addresses, and the signature message to sign.
9
+ * @throws Error if a unique invoice ID cannot be generated within `maxRetries`.
10
+ */
5
11
  export async function prepareInvoiceIssue(params) {
6
12
  const { client, recipientAddress, recipientChainId, isBatch, randomBytes: rng, maxRetries = 8, } = params;
7
13
  const tag = params.tag ?? DEFAULT_ZSTORAGE_TAG;
@@ -69,6 +75,11 @@ function embedChainId(bytes, chainId) {
69
75
  bytes[CHAIN_ID_OFFSET + index] = nextByte;
70
76
  }
71
77
  }
78
+ /**
79
+ * Extract the embedded chain ID from a 32-byte invoice ID.
80
+ *
81
+ * @throws Error if `invoiceBytes` is not 32 bytes.
82
+ */
72
83
  export function extractChainIdFromInvoiceBytes(invoiceBytes) {
73
84
  if (invoiceBytes.length !== 32) {
74
85
  throw new Error("invoice id must be 32 bytes");
@@ -79,6 +90,11 @@ export function extractChainIdFromInvoiceBytes(invoiceBytes) {
79
90
  }
80
91
  return value;
81
92
  }
93
+ /**
94
+ * Extract the embedded chain ID from a 32-byte invoice ID hex string.
95
+ *
96
+ * @throws Error if the invoice ID is not 32 bytes.
97
+ */
82
98
  export function extractChainIdFromInvoiceHex(invoiceIdHex) {
83
99
  const bytes = hexToBytes(ensureHexLength(invoiceIdHex, 32, "invoice id"));
84
100
  return extractChainIdFromInvoiceBytes(bytes);
@@ -97,6 +113,14 @@ function generateInvoiceIdBytes(isBatch, chainId, rng) {
97
113
  embedChainId(bytes, chainId);
98
114
  return bytes;
99
115
  }
116
+ /**
117
+ * Submit an invoice to the storage canister.
118
+ *
119
+ * @param client - Stealth client instance.
120
+ * @param invoiceIdHex - 32-byte invoice ID as 0x-hex string.
121
+ * @param signature - Signature over the message produced by `prepareInvoiceIssue`.
122
+ * @param tag - Optional storage tag (defaults to `DEFAULT_ZSTORAGE_TAG`).
123
+ */
100
124
  export async function submitInvoice(client, invoiceIdHex, signature, tag = DEFAULT_ZSTORAGE_TAG) {
101
125
  const invoiceBytes = hexToBytes(ensureHexLength(invoiceIdHex, 32, "invoice id"));
102
126
  const submission = {
@@ -106,6 +130,12 @@ export async function submitInvoice(client, invoiceIdHex, signature, tag = DEFAU
106
130
  };
107
131
  await client.submitInvoice(submission);
108
132
  }
133
+ /**
134
+ * List invoice IDs for a given owner address.
135
+ *
136
+ * @param chainId - Optional filter for a specific chain ID embedded in invoice IDs.
137
+ * @returns Invoice IDs as 0x-hex strings.
138
+ */
109
139
  export async function listInvoices(client, ownerAddress, chainId, tag = DEFAULT_ZSTORAGE_TAG) {
110
140
  const ownerBytes = addressToBytes(ownerAddress);
111
141
  const response = await client.listInvoices(ownerBytes, tag);
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/operations/invoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/operations/invoice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=balance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.test.d.ts","sourceRoot":"","sources":["../../../../src/operations/liquidityManager/__tests__/balance.test.ts"],"names":[],"mappings":""}