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
@@ -1,346 +1,6 @@
1
- import { encodeAbiParameters, erc20Abi, getContract, hexToBytes, padHex, toHex, } from "viem";
2
- import { waitForTransactionReceipt } from "viem/actions";
3
- import { getAdaptorContract, getLiquidityManagerContract, getZerc20Contract, } from "../onchain/contracts.js";
4
- import { createProviderForToken } from "../registry/tokens.js";
5
- import { normalizeHex, toBigInt } from "../utils/hex.js";
6
- const NATIVE_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
7
- const NATIVE_DECIMALS = 18;
8
- function getErc20Contract(address, client) {
9
- return getContract({
10
- address,
11
- abi: erc20Abi,
12
- client,
13
- });
14
- }
15
- function ensureAccount(walletClient) {
16
- const account = walletClient.account?.address;
17
- if (!account) {
18
- throw new Error("wallet client is missing default account");
19
- }
20
- return normalizeHex(account);
21
- }
22
- function receiptClient(walletClient, publicClient) {
23
- return publicClient ?? walletClient;
24
- }
25
- function ensureBigintLike(value, label) {
26
- if (typeof value === "bigint" || typeof value === "number" || typeof value === "string") {
27
- return toBigInt(value);
28
- }
29
- throw new Error(`${label} must be bigint-like value`);
30
- }
31
- function normalizeAddress(value) {
32
- return normalizeHex(value);
33
- }
34
- function removeDust(amount, decimalConversionRate) {
35
- return amount - (amount % decimalConversionRate);
36
- }
37
- function isNativeToken(address) {
38
- return address === NATIVE_TOKEN_ADDRESS;
39
- }
40
- export async function fetchLiquidityManagerBalances(params) {
41
- const { publicClient, account, liquidityManagerAddress, zerc20TokenAddress } = params;
42
- const normalizedAccount = normalizeAddress(account);
43
- const managerAddress = normalizeAddress(liquidityManagerAddress);
44
- const tokenAddress = normalizeAddress(zerc20TokenAddress);
45
- const manager = getLiquidityManagerContract(managerAddress, publicClient);
46
- const underlyingAddress = normalizeAddress((await manager.read.underlyingToken()));
47
- const nativeUnderlying = isNativeToken(underlyingAddress);
48
- const zerc20DecimalsPromise = publicClient.readContract({
49
- address: tokenAddress,
50
- abi: getZerc20Contract(tokenAddress, publicClient).abi,
51
- functionName: "decimals",
52
- });
53
- const underlyingDecimalsPromise = nativeUnderlying
54
- ? Promise.resolve(NATIVE_DECIMALS)
55
- : publicClient.readContract({
56
- address: underlyingAddress,
57
- abi: erc20Abi,
58
- functionName: "decimals",
59
- });
60
- const zerc20BalancePromise = publicClient.readContract({
61
- address: tokenAddress,
62
- abi: getZerc20Contract(tokenAddress, publicClient).abi,
63
- functionName: "balanceOf",
64
- args: [normalizedAccount],
65
- });
66
- const underlyingBalancePromise = nativeUnderlying
67
- ? publicClient.getBalance({ address: normalizedAccount })
68
- : publicClient.readContract({
69
- address: underlyingAddress,
70
- abi: erc20Abi,
71
- functionName: "balanceOf",
72
- args: [normalizedAccount],
73
- });
74
- const [zerc20Decimals, underlyingDecimals, underlyingBalance, zerc20Balance] = await Promise.all([
75
- zerc20DecimalsPromise,
76
- underlyingDecimalsPromise,
77
- underlyingBalancePromise,
78
- zerc20BalancePromise,
79
- ]);
80
- return {
81
- underlyingAddress,
82
- underlyingBalance,
83
- underlyingDecimals: Number(underlyingDecimals),
84
- zerc20Balance,
85
- zerc20Decimals: Number(zerc20Decimals),
86
- };
87
- }
88
- export async function wrapWithLiquidityManager(params) {
89
- const { walletClient, publicClient, liquidityManagerAddress, amount, underlyingTokenAddress, recipient, } = params;
90
- const normalizedAmount = ensureBigintLike(amount, "amount");
91
- if (normalizedAmount <= 0n) {
92
- throw new Error("amount must be greater than zero");
93
- }
94
- const account = ensureAccount(walletClient);
95
- const managerAddress = normalizeAddress(liquidityManagerAddress);
96
- const readClient = publicClient ?? walletClient;
97
- const manager = getLiquidityManagerContract(managerAddress, walletClient);
98
- const receiptClientInstance = receiptClient(walletClient, publicClient);
99
- const feeOverrides = params.feeOverrides;
100
- const txOverrides = { account, chain: walletClient.chain, ...(feeOverrides ?? {}) };
101
- const underlying = underlyingTokenAddress !== undefined && underlyingTokenAddress !== null
102
- ? normalizeAddress(underlyingTokenAddress)
103
- : normalizeAddress((await getLiquidityManagerContract(managerAddress, readClient).read.underlyingToken()));
104
- const nativeUnderlying = isNativeToken(underlying);
105
- let approvalTransactionHash;
106
- if (!nativeUnderlying) {
107
- const currentAllowance = ensureBigintLike(await getErc20Contract(underlying, readClient).read.allowance([account, managerAddress]), "allowance");
108
- if (currentAllowance < normalizedAmount) {
109
- const approvalHash = await getErc20Contract(underlying, walletClient).write.approve([managerAddress, normalizedAmount], txOverrides);
110
- const approvalReceipt = await waitForTransactionReceipt(receiptClientInstance, {
111
- hash: approvalHash,
112
- });
113
- approvalTransactionHash = approvalReceipt.transactionHash;
114
- }
115
- }
116
- const wrapHash = await manager.write.wrap([normalizedAmount, (recipient ?? account)], {
117
- ...txOverrides,
118
- value: nativeUnderlying ? normalizedAmount : undefined,
119
- });
120
- const wrapReceipt = await waitForTransactionReceipt(receiptClientInstance, { hash: wrapHash });
121
- return {
122
- transactionHash: wrapReceipt.transactionHash,
123
- approvalTransactionHash,
124
- };
125
- }
126
- export async function quoteLocalUnwrap(params) {
127
- const { publicClient, liquidityManagerAddress, amount } = params;
128
- const normalizedAmount = ensureBigintLike(amount, "amount");
129
- const managerAddress = normalizeAddress(liquidityManagerAddress);
130
- const manager = getLiquidityManagerContract(managerAddress, publicClient);
131
- // The contract exposes quoteUnwrapFee; there is no quoteUnwrap function
132
- const fee = ensureBigintLike(await manager.read.quoteUnwrapFee([normalizedAmount]), "fee");
133
- const expectedOut = normalizedAmount > fee ? normalizedAmount - fee : 0n;
134
- return { fee, expectedOut };
135
- }
136
- export async function unwrapWithLiquidityManager(params) {
137
- const { walletClient, publicClient, liquidityManagerAddress, zerc20TokenAddress, amount, recipient, minAmountOut, } = params;
138
- const normalizedAmount = ensureBigintLike(amount, "amount");
139
- if (normalizedAmount <= 0n) {
140
- throw new Error("amount must be greater than zero");
141
- }
142
- const account = ensureAccount(walletClient);
143
- const managerAddress = normalizeAddress(liquidityManagerAddress);
144
- const tokenAddress = normalizeAddress(zerc20TokenAddress);
145
- const readClient = publicClient ?? walletClient;
146
- const manager = getLiquidityManagerContract(managerAddress, walletClient);
147
- const receiptClientInstance = receiptClient(walletClient, publicClient);
148
- const zerc20 = getZerc20Contract(tokenAddress, readClient);
149
- const feeOverrides = params.feeOverrides;
150
- const txOverrides = { account, chain: walletClient.chain, ...(feeOverrides ?? {}) };
151
- // Pre-flight slippage check: re-quote on-chain and verify expectedOut >= minAmountOut
152
- if (minAmountOut !== undefined && minAmountOut > 0n) {
153
- const readManager = getLiquidityManagerContract(managerAddress, readClient);
154
- const fee = ensureBigintLike(await readManager.read.quoteUnwrapFee([normalizedAmount]), "fee");
155
- const expectedOut = normalizedAmount > fee ? normalizedAmount - fee : 0n;
156
- if (expectedOut < minAmountOut) {
157
- throw new Error("Price changed beyond slippage tolerance. Expected output is below the minimum acceptable amount.");
158
- }
159
- }
160
- const allowance = ensureBigintLike(await zerc20.read.allowance([account, managerAddress]), "allowance");
161
- let approvalTransactionHash;
162
- if (allowance < normalizedAmount) {
163
- const approvalHash = await getZerc20Contract(tokenAddress, walletClient).write.approve([managerAddress, normalizedAmount], txOverrides);
164
- const approvalReceipt = await waitForTransactionReceipt(receiptClientInstance, {
165
- hash: approvalHash,
166
- });
167
- approvalTransactionHash = approvalReceipt.transactionHash;
168
- }
169
- const to = (recipient ?? account);
170
- const unwrapHash = minAmountOut !== undefined && minAmountOut > 0n
171
- ? await manager.write.unwrapWithMinOut([normalizedAmount, minAmountOut, to], {
172
- ...txOverrides,
173
- })
174
- : await manager.write.unwrap([normalizedAmount, to], {
175
- ...txOverrides,
176
- });
177
- const unwrapReceipt = await waitForTransactionReceipt(receiptClientInstance, {
178
- hash: unwrapHash,
179
- });
180
- return {
181
- transactionHash: unwrapReceipt.transactionHash,
182
- approvalTransactionHash,
183
- };
184
- }
185
- const BRIDGE_REQUEST_ABI = [
186
- { name: "dstEid", type: "uint32" },
187
- { name: "to", type: "address" },
188
- { name: "minAmountOut", type: "uint256" },
189
- { name: "extraOptions", type: "bytes" },
190
- { name: "composeMsg", type: "bytes" },
191
- { name: "oftCmd", type: "bytes" },
192
- ];
193
- const RECEIVE_GAS = 200000n;
194
- const COMPOSE_GAS = 800000n;
195
- const WORKER_ID_EXECUTOR = 1;
196
- const OPTION_TYPE_LZ_RECEIVE = 1;
197
- const OPTION_TYPE_LZ_COMPOSE = 3;
198
- const OPTIONS_TYPE_3 = 3;
199
- function toBytes(value, size) {
200
- const hex = toHex(value, { size });
201
- return Array.from(hexToBytes(hex));
202
- }
203
- function pushExecutorOption(options, optionType, option) {
204
- const optionSize = option.length + 1;
205
- if (optionSize > 0xffff) {
206
- throw new Error(`Executor option too large (${optionSize} bytes)`);
207
- }
208
- options.push(WORKER_ID_EXECUTOR);
209
- options.push(...toBytes(BigInt(optionSize), 2));
210
- options.push(optionType);
211
- options.push(...option);
212
- }
213
- function buildExtraOptions(lzReceiveGas, lzReceiveValue, lzCompose = []) {
214
- const options = [];
215
- options.push(...toBytes(BigInt(OPTIONS_TYPE_3), 2));
216
- const receiveOption = [...toBytes(lzReceiveGas, 16)];
217
- if (lzReceiveValue > 0n) {
218
- receiveOption.push(...toBytes(lzReceiveValue, 16));
219
- }
220
- pushExecutorOption(options, OPTION_TYPE_LZ_RECEIVE, receiveOption);
221
- lzCompose.forEach(([gas, value], index) => {
222
- const composeOption = [...toBytes(BigInt(index), 2), ...toBytes(gas, 16)];
223
- if (value > 0n) {
224
- composeOption.push(...toBytes(value, 16));
225
- }
226
- pushExecutorOption(options, OPTION_TYPE_LZ_COMPOSE, composeOption);
227
- });
228
- return toHex(Uint8Array.from(options));
229
- }
230
- function encodeBridgeRequest(request) {
231
- return encodeAbiParameters([{ type: "tuple", components: BRIDGE_REQUEST_ABI }], [request]);
232
- }
233
- function padAddressToBytes32(address) {
234
- return padHex(normalizeAddress(address), { size: 32 });
235
- }
236
- export async function buildCrossUnwrapQuote(params) {
237
- const { sourceToken, destinationToken, amount, account, slippageBps } = params;
238
- const normalizedAmount = ensureBigintLike(amount, "amount");
239
- if (normalizedAmount <= 0n) {
240
- throw new Error("amount must be greater than zero");
241
- }
242
- const accountAddress = normalizeAddress(account);
243
- if (!sourceToken.eid) {
244
- throw new Error("source token is missing eid for cross-chain unwrap");
245
- }
246
- if (!destinationToken.eid || !destinationToken.adaptorAddress) {
247
- throw new Error("destination token is missing adaptor configuration for cross-chain unwrap");
248
- }
249
- const adaptorAddress = normalizeAddress(destinationToken.adaptorAddress);
250
- const dstClient = params.publicClientDestination ?? createProviderForToken(destinationToken);
251
- const srcClient = params.publicClientSource ?? createProviderForToken(sourceToken);
252
- const effectiveSlippageBps = BigInt(slippageBps ?? 0);
253
- const bridgeRequest = {
254
- dstEid: Number(sourceToken.eid),
255
- to: accountAddress,
256
- minAmountOut: 0n, // Populated after fee calculation below
257
- extraOptions: buildExtraOptions(RECEIVE_GAS, 0n),
258
- composeMsg: "0x",
259
- oftCmd: "0x",
260
- };
261
- const zerc20 = getZerc20Contract(normalizeAddress(sourceToken.tokenAddress), srcClient);
262
- const adaptor = getAdaptorContract(adaptorAddress, dstClient);
263
- const [feeQuote, decimalConversionRate] = await Promise.all([
264
- adaptor.read.quoteFee([normalizedAmount, bridgeRequest]),
265
- zerc20.read.decimalConversionRate(),
266
- ]);
267
- const nativeBridgeBuffer = (feeQuote.nativeBridgeFee * 3n) / 2n;
268
- const composeOptions = [[COMPOSE_GAS, nativeBridgeBuffer]];
269
- const extraOptions = buildExtraOptions(RECEIVE_GAS, 0n, composeOptions);
270
- const tokenFee = feeQuote.tokenUnwrapFee + feeQuote.tokenBridgeFee;
271
- if (normalizedAmount <= tokenFee) {
272
- throw new Error("amount must exceed unwrap + bridge token fees");
273
- }
274
- const expectedOut = normalizedAmount > tokenFee ? normalizedAmount - tokenFee : 0n;
275
- // Apply slippage tolerance and remove dust so amounts align with shared-decimal precision.
276
- // OFT contracts truncate amounts to shared decimals internally; if minAmountLD / minAmountOut
277
- // contain dust (sub-conversionRate remainder), the on-chain comparison will fail.
278
- const minAmountLD = removeDust(effectiveSlippageBps > 0n
279
- ? (normalizedAmount * (10000n - effectiveSlippageBps)) / 10000n
280
- : normalizedAmount, decimalConversionRate);
281
- const minAmountOut = removeDust(effectiveSlippageBps > 0n
282
- ? (expectedOut * (10000n - effectiveSlippageBps)) / 10000n
283
- : 0n, decimalConversionRate);
284
- // Update bridgeRequest with slippage-adjusted minAmountOut
285
- bridgeRequest.minAmountOut = minAmountOut;
286
- const composePayload = encodeBridgeRequest(bridgeRequest);
287
- const sendParam = {
288
- dstEid: Number(destinationToken.eid),
289
- to: padAddressToBytes32(adaptorAddress),
290
- amountLD: normalizedAmount,
291
- minAmountLD,
292
- extraOptions,
293
- composeMsg: composePayload,
294
- oftCmd: "0x",
295
- };
296
- const sendFee = (await zerc20.read.quoteSend([sendParam, false]));
297
- if (sendFee.lzTokenFee > 0n) {
298
- throw new Error("lzTokenFee payments are not supported for this flow");
299
- }
300
- return {
301
- tokenUnwrapFee: feeQuote.tokenUnwrapFee,
302
- nativeBridgeFee: feeQuote.nativeBridgeFee,
303
- tokenBridgeFee: feeQuote.tokenBridgeFee,
304
- sendNativeFee: sendFee.nativeFee,
305
- expectedOut,
306
- sendParam,
307
- bridgeRequest,
308
- };
309
- }
310
1
  /**
311
- * Apply slippage tolerance to an amount.
312
- * @param amount - The original amount
313
- * @param slippageBps - Slippage in basis points (e.g. 50 = 0.5%, 300 = 3%)
314
- * @returns The minimum acceptable amount after slippage
2
+ * Re-export from liquidityManager module.
3
+ * @deprecated Import from 'zerc20-client-sdk' or './liquidityManager/index.js' directly.
315
4
  */
316
- export function applySlippage(amount, slippageBps) {
317
- if (slippageBps <= 0)
318
- return amount;
319
- const bps = BigInt(Math.round(slippageBps));
320
- return (amount * (10000n - bps)) / 10000n;
321
- }
322
- export async function sendCrossUnwrap(params) {
323
- const { walletClient, publicClient, sourceToken, destinationToken } = params;
324
- const account = ensureAccount(walletClient);
325
- const receiptClientInstance = receiptClient(walletClient, publicClient);
326
- const feeOverrides = params.feeOverrides;
327
- const quote = params.quote ??
328
- (await buildCrossUnwrapQuote({
329
- sourceToken,
330
- destinationToken,
331
- amount: params.amount,
332
- account,
333
- publicClientSource: publicClient,
334
- }));
335
- const zerc20 = getZerc20Contract(normalizeAddress(sourceToken.tokenAddress), walletClient);
336
- const sendHash = await zerc20.write.send([quote.sendParam, { nativeFee: quote.sendNativeFee, lzTokenFee: 0n }, account], {
337
- account,
338
- value: quote.sendNativeFee,
339
- ...(feeOverrides ?? {}),
340
- });
341
- const receipt = await waitForTransactionReceipt(receiptClientInstance, { hash: sendHash });
342
- return {
343
- transactionHash: receipt.transactionHash,
344
- };
345
- }
5
+ export * from "./liquidityManager/index.js";
346
6
  //# sourceMappingURL=liquidityManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"liquidityManager.js","sourceRoot":"","sources":["../../src/operations/liquidityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liquidityManager.js","sourceRoot":"","sources":["../../src/operations/liquidityManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,6BAA6B,CAAC"}
@@ -1,20 +1,46 @@
1
1
  import { StealthCanisterClient } from "../ic/client.js";
2
2
  import { PreparedPrivateSend, PrivateSendResult } from "../types.js";
3
+ /**
4
+ * Parameters for preparing a private send.
5
+ *
6
+ * This derives a payment advice and burn address, then encrypts an announcement
7
+ * for the recipient using the ICP stealth messaging layer.
8
+ */
3
9
  export interface PreparePrivateSendParams {
10
+ /** ICP stealth client used to derive recipient keys and submit announcements. */
4
11
  client: StealthCanisterClient;
12
+ /** Recipient EVM address (0x-prefixed, 20 bytes). */
5
13
  recipientAddress: string;
14
+ /** Recipient chain ID (EVM chain ID). */
6
15
  recipientChainId: number | bigint;
16
+ /** 32-byte seed as 0x-hex string. */
7
17
  seedHex: string;
18
+ /** Optional 32-byte payment advice ID. If omitted, a random ID is generated. */
8
19
  paymentAdviceIdHex?: string;
20
+ /** RNG override used when generating a payment advice ID. */
9
21
  randomBytes?: (length: number) => Uint8Array;
10
22
  /** VetKD key ID name for offchain public key derivation (e.g. "key_1" or "test_key_1") */
11
23
  vetkdKeyIdName?: string;
12
24
  }
25
+ /**
26
+ * Prepare a private send announcement.
27
+ *
28
+ * @returns Artifacts needed to submit the announcement and later redeem it.
29
+ * @throws Error if `seedHex` / `paymentAdviceIdHex` is not 32 bytes.
30
+ */
13
31
  export declare function preparePrivateSend(params: PreparePrivateSendParams): Promise<PreparedPrivateSend>;
14
32
  export interface SubmitPrivateSendParams {
33
+ /** ICP stealth client. */
15
34
  client: StealthCanisterClient;
35
+ /** Output of `preparePrivateSend`. */
16
36
  preparation: PreparedPrivateSend;
37
+ /** Optional storage tag. */
17
38
  tag?: string;
18
39
  }
40
+ /**
41
+ * Submit a prepared private send announcement to the storage canister.
42
+ *
43
+ * @returns The stored announcement and the same preparation metadata.
44
+ */
19
45
  export declare function submitPrivateSendAnnouncement(params: SubmitPrivateSendParams): Promise<PrivateSendResult>;
20
46
  //# sourceMappingURL=privateSend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"privateSend.d.ts","sourceRoot":"","sources":["../../src/operations/privateSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAWrE,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IAC7C,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAkD9B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,EAAE,mBAAmB,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAe5B"}
1
+ {"version":3,"file":"privateSend.d.ts","sourceRoot":"","sources":["../../src/operations/privateSend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAWrE;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,iFAAiF;IACjF,MAAM,EAAE,qBAAqB,CAAC;IAC9B,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IAC7C,0FAA0F;IAC1F,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAkD9B;AAED,MAAM,WAAW,uBAAuB;IACtC,0BAA0B;IAC1B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,sCAAsC;IACtC,WAAW,EAAE,mBAAmB,CAAC;IACjC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,iBAAiB,CAAC,CAe5B"}
@@ -2,6 +2,12 @@ import { deriveViewPublicKeyOffchain } from "../ic/keys.js";
2
2
  import { encryptAnnouncementWithArtifacts } from "../ic/encryption.js";
3
3
  import { addressToBytes, bytesToHex, ensureHexLength, hexToBytes, normalizeHex, randomBytes, } from "../utils/hex.js";
4
4
  import { buildFullBurnAddress, derivePaymentAdvice } from "../wasm/index.js";
5
+ /**
6
+ * Prepare a private send announcement.
7
+ *
8
+ * @returns Artifacts needed to submit the announcement and later redeem it.
9
+ * @throws Error if `seedHex` / `paymentAdviceIdHex` is not 32 bytes.
10
+ */
5
11
  export async function preparePrivateSend(params) {
6
12
  const { client, recipientAddress, recipientChainId } = params;
7
13
  const seedHex = ensureHexLength(params.seedHex, 32, "seed");
@@ -33,6 +39,11 @@ export async function preparePrivateSend(params) {
33
39
  sessionKey,
34
40
  };
35
41
  }
42
+ /**
43
+ * Submit a prepared private send announcement to the storage canister.
44
+ *
45
+ * @returns The stored announcement and the same preparation metadata.
46
+ */
36
47
  export async function submitPrivateSendAnnouncement(params) {
37
48
  const { client, preparation, tag } = params;
38
49
  const storedAnnouncement = await client.submitAnnouncement({
@@ -1 +1 @@
1
- {"version":3,"file":"privateSend.js","sourceRoot":"","sources":["../../src/operations/privateSend.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAIvE,OAAO,EACL,cAAc,EACd,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAa7E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IAC9D,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5D,IAAI,kBAA8B,CAAC;IACnC,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACvF,kBAAkB,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,IAAI,WAAW,CAAC;QAC9C,kBAAkB,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAE1D,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAC9C,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,CACjB,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,KAAK,CACrB,CAAC;IAEF,MAAM,cAAc,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,2BAA2B,CAC/C,MAAM,CAAC,uBAAuB,EAAE,EAChC,cAAc,EACd,MAAM,CAAC,cAAc,CACtB,CAAC;IACF,MAAM,gBAAgB,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IACjF,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,gCAAgC,CACzE,aAAa,EACb,gBAAgB,CACjB,CAAC;IAEF,OAAO;QACL,eAAe,EAAE,kBAAkB;QACnC,oBAAoB,EAAE,kBAAkB;QACxC,MAAM,EAAE,cAAc,CAAC,MAAM;QAC7B,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,WAAW,EAAE,aAAa,CAAC,WAAW;QACtC,WAAW,EAAE,aAAa,CAAC,eAAe;QAC1C,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;QAChD,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,MAA+B;IAE/B,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC5C,MAAM,kBAAkB,GAAiB,MAAM,MAAM,CAAC,kBAAkB,CAAC;QACvE,GAAG,WAAW,CAAC,YAAY;QAC3B,GAAG;KACJ,CAAC,CAAC;IACH,OAAO;QACL,eAAe,EAAE,WAAW,CAAC,eAAe;QAC5C,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;QAC9C,YAAY,EAAE,kBAAkB;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"privateSend.js","sourceRoot":"","sources":["../../src/operations/privateSend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=announcementStatus.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcementStatus.test.d.ts","sourceRoot":"","sources":["../../../../src/operations/receive/__tests__/announcementStatus.test.ts"],"names":[],"mappings":""}