@unionlabs/payments 0.1.0 → 0.2.0

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 (393) hide show
  1. package/Abi/package.json +6 -0
  2. package/Attestor/package.json +6 -0
  3. package/Constants/package.json +6 -0
  4. package/Domain/package.json +6 -0
  5. package/Error/package.json +6 -0
  6. package/EvmPublicClient/package.json +6 -0
  7. package/EvmWalletClient/package.json +6 -0
  8. package/Payment/package.json +6 -0
  9. package/PaymentError/package.json +6 -0
  10. package/Prover/package.json +6 -0
  11. package/PublicClient/package.json +6 -0
  12. package/README.md +1 -0
  13. package/Schema/package.json +6 -0
  14. package/Utils/package.json +6 -0
  15. package/WalletClient/package.json +6 -0
  16. package/attestation/package.json +6 -0
  17. package/cli/commands/balance/package.json +6 -0
  18. package/cli/commands/deposit/package.json +6 -0
  19. package/cli/commands/export-verifier/package.json +6 -0
  20. package/cli/commands/generate/package.json +6 -0
  21. package/cli/commands/history/package.json +6 -0
  22. package/cli/commands/prove/package.json +6 -0
  23. package/cli/commands/redeem/package.json +6 -0
  24. package/cli/commands/update-client/package.json +6 -0
  25. package/cli/config/package.json +6 -0
  26. package/cli/package.json +6 -0
  27. package/cli/utils/package.json +6 -0
  28. package/constants/ibc-core-registry/package.json +6 -0
  29. package/constants/services/package.json +6 -0
  30. package/constants/z-asset-registry/package.json +6 -0
  31. package/dist/cjs/Abi.js +270 -0
  32. package/dist/cjs/Abi.js.map +1 -0
  33. package/dist/cjs/Attestor.js +76 -0
  34. package/dist/cjs/Attestor.js.map +1 -0
  35. package/dist/cjs/Constants.js +8 -0
  36. package/dist/cjs/Constants.js.map +1 -0
  37. package/dist/cjs/Domain.js +24 -0
  38. package/dist/cjs/Domain.js.map +1 -0
  39. package/dist/cjs/Error.js +100 -0
  40. package/dist/cjs/Error.js.map +1 -0
  41. package/dist/cjs/EvmPublicClient.js +301 -0
  42. package/dist/cjs/EvmPublicClient.js.map +1 -0
  43. package/dist/cjs/EvmWalletClient.js +670 -0
  44. package/dist/cjs/EvmWalletClient.js.map +1 -0
  45. package/dist/cjs/Payment.js +333 -0
  46. package/dist/cjs/Payment.js.map +1 -0
  47. package/dist/cjs/PaymentError.js +32 -0
  48. package/dist/cjs/PaymentError.js.map +1 -0
  49. package/dist/cjs/Prover.js +153 -0
  50. package/dist/cjs/Prover.js.map +1 -0
  51. package/dist/cjs/PublicClient.js +39 -0
  52. package/dist/cjs/PublicClient.js.map +1 -0
  53. package/dist/cjs/Schema.js +38 -0
  54. package/dist/cjs/Schema.js.map +1 -0
  55. package/dist/cjs/Utils.js +33 -0
  56. package/dist/cjs/Utils.js.map +1 -0
  57. package/dist/cjs/WalletClient.js +39 -0
  58. package/dist/cjs/WalletClient.js.map +1 -0
  59. package/dist/cjs/attestation.js +49 -0
  60. package/dist/cjs/attestation.js.map +1 -0
  61. package/dist/cjs/cli/commands/balance.js +60 -0
  62. package/dist/cjs/cli/commands/balance.js.map +1 -0
  63. package/dist/cjs/cli/commands/deposit.js +58 -0
  64. package/dist/cjs/cli/commands/deposit.js.map +1 -0
  65. package/dist/cjs/cli/commands/export-verifier.js +27 -0
  66. package/dist/cjs/cli/commands/export-verifier.js.map +1 -0
  67. package/dist/cjs/cli/commands/generate.js +41 -0
  68. package/dist/cjs/cli/commands/generate.js.map +1 -0
  69. package/dist/cjs/cli/commands/history.js +59 -0
  70. package/dist/cjs/cli/commands/history.js.map +1 -0
  71. package/dist/cjs/cli/commands/prove.js +82 -0
  72. package/dist/cjs/cli/commands/prove.js.map +1 -0
  73. package/dist/cjs/cli/commands/redeem.js +152 -0
  74. package/dist/cjs/cli/commands/redeem.js.map +1 -0
  75. package/dist/cjs/cli/commands/update-client.js +62 -0
  76. package/dist/cjs/cli/commands/update-client.js.map +1 -0
  77. package/dist/cjs/cli/config.js +32 -0
  78. package/dist/cjs/cli/config.js.map +1 -0
  79. package/dist/cjs/cli/utils.js +108 -0
  80. package/dist/cjs/cli/utils.js.map +1 -0
  81. package/dist/cjs/cli.js +24 -0
  82. package/dist/cjs/cli.js.map +1 -0
  83. package/dist/cjs/constants/ibc-core-registry.js +30 -0
  84. package/dist/cjs/constants/ibc-core-registry.js.map +1 -0
  85. package/dist/cjs/constants/services.js +9 -0
  86. package/dist/cjs/constants/services.js.map +1 -0
  87. package/dist/cjs/constants/z-asset-registry.js +32 -0
  88. package/dist/cjs/constants/z-asset-registry.js.map +1 -0
  89. package/dist/cjs/gen/prover_pb.js +81 -0
  90. package/dist/cjs/gen/prover_pb.js.map +1 -0
  91. package/dist/cjs/index.js +32 -0
  92. package/dist/cjs/index.js.map +1 -0
  93. package/dist/cjs/internal/evm.js +191 -0
  94. package/dist/cjs/internal/evm.js.map +1 -0
  95. package/dist/cjs/internal/evmWalletClient.js +6 -0
  96. package/dist/cjs/internal/evmWalletClient.js.map +1 -0
  97. package/dist/cjs/internal/publicClient.js +49 -0
  98. package/dist/cjs/internal/publicClient.js.map +1 -0
  99. package/dist/cjs/internal/walletClient.js +43 -0
  100. package/dist/cjs/internal/walletClient.js.map +1 -0
  101. package/dist/cjs/legacy/client.js +1222 -0
  102. package/dist/cjs/legacy/client.js.map +1 -0
  103. package/dist/cjs/legacy/prover.js +112 -0
  104. package/dist/cjs/legacy/prover.js.map +1 -0
  105. package/dist/cjs/poseidon2.js +226 -0
  106. package/dist/cjs/poseidon2.js.map +1 -0
  107. package/dist/cjs/promises/Attestor.js +23 -0
  108. package/dist/cjs/promises/Attestor.js.map +1 -0
  109. package/dist/cjs/promises/EvmPublicClient.js +34 -0
  110. package/dist/cjs/promises/EvmPublicClient.js.map +1 -0
  111. package/dist/cjs/promises/EvmWalletClient.js +51 -0
  112. package/dist/cjs/promises/EvmWalletClient.js.map +1 -0
  113. package/dist/cjs/promises/Payment.js +22 -0
  114. package/dist/cjs/promises/Payment.js.map +1 -0
  115. package/dist/cjs/promises/Prover.js +26 -0
  116. package/dist/cjs/promises/Prover.js.map +1 -0
  117. package/dist/cjs/promises/PublicClient.js +53 -0
  118. package/dist/cjs/promises/PublicClient.js.map +1 -0
  119. package/dist/cjs/promises/WalletClient.js +44 -0
  120. package/dist/cjs/promises/WalletClient.js.map +1 -0
  121. package/dist/cjs/promises/index.js +22 -0
  122. package/dist/cjs/promises/index.js.map +1 -0
  123. package/dist/cjs/rpc.js +867 -0
  124. package/dist/cjs/rpc.js.map +1 -0
  125. package/dist/cjs/types.js +6 -0
  126. package/dist/cjs/types.js.map +1 -0
  127. package/dist/dts/Abi.d.ts +220 -0
  128. package/dist/dts/Abi.d.ts.map +1 -0
  129. package/dist/dts/Attestor.d.ts +42 -0
  130. package/dist/dts/Attestor.d.ts.map +1 -0
  131. package/dist/dts/Constants.d.ts +3 -0
  132. package/dist/dts/Constants.d.ts.map +1 -0
  133. package/dist/dts/Domain.d.ts +141 -0
  134. package/dist/dts/Domain.d.ts.map +1 -0
  135. package/dist/dts/Error.d.ts +102 -0
  136. package/dist/dts/Error.d.ts.map +1 -0
  137. package/dist/dts/EvmPublicClient.d.ts +61 -0
  138. package/dist/dts/EvmPublicClient.d.ts.map +1 -0
  139. package/dist/dts/EvmWalletClient.d.ts +67 -0
  140. package/dist/dts/EvmWalletClient.d.ts.map +1 -0
  141. package/dist/dts/Payment.d.ts +128 -0
  142. package/dist/dts/Payment.d.ts.map +1 -0
  143. package/dist/dts/PaymentError.d.ts +21 -0
  144. package/dist/dts/PaymentError.d.ts.map +1 -0
  145. package/dist/dts/Prover.d.ts +87 -0
  146. package/dist/dts/Prover.d.ts.map +1 -0
  147. package/dist/dts/PublicClient.d.ts +146 -0
  148. package/dist/dts/PublicClient.d.ts.map +1 -0
  149. package/dist/dts/Schema.d.ts +16 -0
  150. package/dist/dts/Schema.d.ts.map +1 -0
  151. package/dist/dts/Utils.d.ts +11 -0
  152. package/dist/dts/Utils.d.ts.map +1 -0
  153. package/dist/dts/WalletClient.d.ts +123 -0
  154. package/dist/dts/WalletClient.d.ts.map +1 -0
  155. package/dist/dts/attestation.d.ts +13 -0
  156. package/dist/dts/attestation.d.ts.map +1 -0
  157. package/dist/dts/cli/commands/balance.d.ts +3 -0
  158. package/dist/dts/cli/commands/balance.d.ts.map +1 -0
  159. package/dist/dts/cli/commands/deposit.d.ts +3 -0
  160. package/dist/dts/cli/commands/deposit.d.ts.map +1 -0
  161. package/dist/dts/cli/commands/export-verifier.d.ts +3 -0
  162. package/dist/dts/cli/commands/export-verifier.d.ts.map +1 -0
  163. package/dist/dts/cli/commands/generate.d.ts +3 -0
  164. package/dist/dts/cli/commands/generate.d.ts.map +1 -0
  165. package/dist/dts/cli/commands/history.d.ts +3 -0
  166. package/dist/dts/cli/commands/history.d.ts.map +1 -0
  167. package/dist/dts/cli/commands/prove.d.ts +3 -0
  168. package/dist/dts/cli/commands/prove.d.ts.map +1 -0
  169. package/dist/dts/cli/commands/redeem.d.ts +3 -0
  170. package/dist/dts/cli/commands/redeem.d.ts.map +1 -0
  171. package/dist/dts/cli/commands/update-client.d.ts +3 -0
  172. package/dist/dts/cli/commands/update-client.d.ts.map +1 -0
  173. package/dist/dts/cli/config.d.ts +14 -0
  174. package/dist/dts/cli/config.d.ts.map +1 -0
  175. package/dist/dts/cli/utils.d.ts +11 -0
  176. package/dist/dts/cli/utils.d.ts.map +1 -0
  177. package/dist/dts/cli.d.ts +3 -0
  178. package/dist/dts/cli.d.ts.map +1 -0
  179. package/dist/dts/constants/ibc-core-registry.d.ts +11 -0
  180. package/dist/dts/constants/ibc-core-registry.d.ts.map +1 -0
  181. package/dist/dts/constants/services.d.ts +3 -0
  182. package/dist/dts/constants/services.d.ts.map +1 -0
  183. package/dist/dts/constants/z-asset-registry.d.ts +13 -0
  184. package/dist/dts/constants/z-asset-registry.d.ts.map +1 -0
  185. package/dist/dts/gen/prover_pb.d.ts +300 -0
  186. package/dist/dts/gen/prover_pb.d.ts.map +1 -0
  187. package/dist/dts/index.d.ts +21 -0
  188. package/dist/dts/index.d.ts.map +1 -0
  189. package/dist/dts/internal/evm.d.ts +250 -0
  190. package/dist/dts/internal/evm.d.ts.map +1 -0
  191. package/dist/dts/internal/evmWalletClient.d.ts +2 -0
  192. package/dist/dts/internal/evmWalletClient.d.ts.map +1 -0
  193. package/dist/dts/internal/publicClient.d.ts +2 -0
  194. package/dist/dts/internal/publicClient.d.ts.map +1 -0
  195. package/dist/dts/internal/walletClient.d.ts +2 -0
  196. package/dist/dts/internal/walletClient.d.ts.map +1 -0
  197. package/dist/dts/legacy/client.d.ts +313 -0
  198. package/dist/dts/legacy/client.d.ts.map +1 -0
  199. package/dist/dts/legacy/prover.d.ts +30 -0
  200. package/dist/dts/legacy/prover.d.ts.map +1 -0
  201. package/dist/dts/poseidon2.d.ts +18 -0
  202. package/dist/dts/poseidon2.d.ts.map +1 -0
  203. package/dist/dts/promises/Attestor.d.ts +17 -0
  204. package/dist/dts/promises/Attestor.d.ts.map +1 -0
  205. package/dist/dts/promises/EvmPublicClient.d.ts +3709 -0
  206. package/dist/dts/promises/EvmPublicClient.d.ts.map +1 -0
  207. package/dist/dts/promises/EvmWalletClient.d.ts +4502 -0
  208. package/dist/dts/promises/EvmWalletClient.d.ts.map +1 -0
  209. package/dist/dts/promises/Payment.d.ts +33 -0
  210. package/dist/dts/promises/Payment.d.ts.map +1 -0
  211. package/dist/dts/promises/Prover.d.ts +14 -0
  212. package/dist/dts/promises/Prover.d.ts.map +1 -0
  213. package/dist/dts/promises/PublicClient.d.ts +23 -0
  214. package/dist/dts/promises/PublicClient.d.ts.map +1 -0
  215. package/dist/dts/promises/WalletClient.d.ts +57 -0
  216. package/dist/dts/promises/WalletClient.d.ts.map +1 -0
  217. package/dist/dts/promises/index.d.ts +8 -0
  218. package/dist/dts/promises/index.d.ts.map +1 -0
  219. package/dist/dts/rpc.d.ts +148 -0
  220. package/dist/dts/rpc.d.ts.map +1 -0
  221. package/dist/dts/types.d.ts +263 -0
  222. package/dist/dts/types.d.ts.map +1 -0
  223. package/dist/esm/Abi.js +264 -0
  224. package/dist/esm/Abi.js.map +1 -0
  225. package/dist/esm/Attestor.js +68 -0
  226. package/dist/esm/Attestor.js.map +1 -0
  227. package/dist/esm/Constants.js +2 -0
  228. package/dist/esm/Constants.js.map +1 -0
  229. package/dist/esm/Domain.js +17 -0
  230. package/dist/esm/Domain.js.map +1 -0
  231. package/dist/esm/Error.js +89 -0
  232. package/dist/esm/Error.js.map +1 -0
  233. package/dist/esm/EvmPublicClient.js +292 -0
  234. package/dist/esm/EvmPublicClient.js.map +1 -0
  235. package/dist/esm/EvmWalletClient.js +659 -0
  236. package/dist/esm/EvmWalletClient.js.map +1 -0
  237. package/dist/esm/Payment.js +323 -0
  238. package/dist/esm/Payment.js.map +1 -0
  239. package/dist/esm/PaymentError.js +24 -0
  240. package/dist/esm/PaymentError.js.map +1 -0
  241. package/dist/esm/Prover.js +142 -0
  242. package/dist/esm/Prover.js.map +1 -0
  243. package/dist/esm/PublicClient.js +30 -0
  244. package/dist/esm/PublicClient.js.map +1 -0
  245. package/dist/esm/Schema.js +31 -0
  246. package/dist/esm/Schema.js.map +1 -0
  247. package/dist/esm/Utils.js +27 -0
  248. package/dist/esm/Utils.js.map +1 -0
  249. package/dist/esm/WalletClient.js +30 -0
  250. package/dist/esm/WalletClient.js.map +1 -0
  251. package/dist/esm/attestation.js +42 -0
  252. package/dist/esm/attestation.js.map +1 -0
  253. package/dist/esm/cli/commands/balance.js +54 -0
  254. package/dist/esm/cli/commands/balance.js.map +1 -0
  255. package/dist/esm/cli/commands/deposit.js +52 -0
  256. package/dist/esm/cli/commands/deposit.js.map +1 -0
  257. package/dist/esm/cli/commands/export-verifier.js +21 -0
  258. package/dist/esm/cli/commands/export-verifier.js.map +1 -0
  259. package/dist/esm/cli/commands/generate.js +35 -0
  260. package/dist/esm/cli/commands/generate.js.map +1 -0
  261. package/dist/esm/cli/commands/history.js +53 -0
  262. package/dist/esm/cli/commands/history.js.map +1 -0
  263. package/dist/esm/cli/commands/prove.js +76 -0
  264. package/dist/esm/cli/commands/prove.js.map +1 -0
  265. package/dist/esm/cli/commands/redeem.js +146 -0
  266. package/dist/esm/cli/commands/redeem.js.map +1 -0
  267. package/dist/esm/cli/commands/update-client.js +56 -0
  268. package/dist/esm/cli/commands/update-client.js.map +1 -0
  269. package/dist/esm/cli/config.js +26 -0
  270. package/dist/esm/cli/config.js.map +1 -0
  271. package/dist/esm/cli/utils.js +94 -0
  272. package/dist/esm/cli/utils.js.map +1 -0
  273. package/dist/esm/cli.js +22 -0
  274. package/dist/esm/cli.js.map +1 -0
  275. package/dist/esm/constants/ibc-core-registry.js +21 -0
  276. package/dist/esm/constants/ibc-core-registry.js.map +1 -0
  277. package/dist/esm/constants/services.js +3 -0
  278. package/dist/esm/constants/services.js.map +1 -0
  279. package/dist/esm/constants/z-asset-registry.js +23 -0
  280. package/dist/esm/constants/z-asset-registry.js.map +1 -0
  281. package/dist/esm/gen/prover_pb.js +74 -0
  282. package/dist/esm/gen/prover_pb.js.map +1 -0
  283. package/dist/esm/index.js +22 -0
  284. package/dist/esm/index.js.map +1 -0
  285. package/dist/esm/internal/evm.js +169 -0
  286. package/dist/esm/internal/evm.js.map +1 -0
  287. package/dist/esm/internal/evmWalletClient.js +2 -0
  288. package/dist/esm/internal/evmWalletClient.js.map +1 -0
  289. package/dist/esm/internal/publicClient.js +41 -0
  290. package/dist/esm/internal/publicClient.js.map +1 -0
  291. package/dist/esm/internal/walletClient.js +35 -0
  292. package/dist/esm/internal/walletClient.js.map +1 -0
  293. package/dist/esm/legacy/client.js +1212 -0
  294. package/dist/esm/legacy/client.js.map +1 -0
  295. package/dist/esm/legacy/prover.js +105 -0
  296. package/dist/esm/legacy/prover.js.map +1 -0
  297. package/dist/esm/package.json +4 -0
  298. package/dist/esm/poseidon2.js +218 -0
  299. package/dist/esm/poseidon2.js.map +1 -0
  300. package/dist/esm/promises/Attestor.js +14 -0
  301. package/dist/esm/promises/Attestor.js.map +1 -0
  302. package/dist/esm/promises/EvmPublicClient.js +26 -0
  303. package/dist/esm/promises/EvmPublicClient.js.map +1 -0
  304. package/dist/esm/promises/EvmWalletClient.js +43 -0
  305. package/dist/esm/promises/EvmWalletClient.js.map +1 -0
  306. package/dist/esm/promises/Payment.js +13 -0
  307. package/dist/esm/promises/Payment.js.map +1 -0
  308. package/dist/esm/promises/Prover.js +17 -0
  309. package/dist/esm/promises/Prover.js.map +1 -0
  310. package/dist/esm/promises/PublicClient.js +45 -0
  311. package/dist/esm/promises/PublicClient.js.map +1 -0
  312. package/dist/esm/promises/WalletClient.js +36 -0
  313. package/dist/esm/promises/WalletClient.js.map +1 -0
  314. package/dist/esm/promises/index.js +8 -0
  315. package/dist/esm/promises/index.js.map +1 -0
  316. package/dist/esm/rpc.js +850 -0
  317. package/dist/esm/rpc.js.map +1 -0
  318. package/dist/esm/types.js +2 -0
  319. package/dist/esm/types.js.map +1 -0
  320. package/gen/prover_pb/package.json +6 -0
  321. package/index/package.json +6 -0
  322. package/legacy/client/package.json +6 -0
  323. package/legacy/prover/package.json +6 -0
  324. package/package.json +397 -44
  325. package/poseidon2/package.json +6 -0
  326. package/promises/Attestor/package.json +6 -0
  327. package/promises/EvmPublicClient/package.json +6 -0
  328. package/promises/EvmWalletClient/package.json +6 -0
  329. package/promises/Payment/package.json +6 -0
  330. package/promises/Prover/package.json +6 -0
  331. package/promises/PublicClient/package.json +6 -0
  332. package/promises/WalletClient/package.json +6 -0
  333. package/promises/index/package.json +6 -0
  334. package/promises/package.json +6 -0
  335. package/rpc/package.json +6 -0
  336. package/src/Abi.ts +195 -0
  337. package/src/Attestor.ts +113 -0
  338. package/src/Constants.ts +4 -0
  339. package/src/Domain.ts +52 -0
  340. package/src/Error.ts +163 -0
  341. package/src/EvmPublicClient.ts +549 -0
  342. package/src/EvmWalletClient.ts +1034 -0
  343. package/src/Payment.ts +523 -0
  344. package/src/PaymentError.ts +39 -0
  345. package/src/Prover.ts +240 -0
  346. package/src/PublicClient.ts +196 -0
  347. package/src/Schema.ts +36 -0
  348. package/src/Utils.ts +43 -0
  349. package/src/WalletClient.ts +172 -0
  350. package/src/attestation.ts +69 -0
  351. package/src/cli/commands/balance.ts +88 -0
  352. package/src/cli/commands/deposit.ts +104 -0
  353. package/src/cli/commands/export-verifier.ts +28 -0
  354. package/src/cli/commands/generate.ts +86 -0
  355. package/src/cli/commands/history.ts +91 -0
  356. package/src/cli/commands/prove.ts +133 -0
  357. package/src/cli/commands/redeem.ts +277 -0
  358. package/src/cli/commands/update-client.ts +96 -0
  359. package/src/cli/config.ts +55 -0
  360. package/src/cli/utils.ts +136 -0
  361. package/src/cli.ts +31 -0
  362. package/src/constants/ibc-core-registry.ts +44 -0
  363. package/src/constants/services.ts +4 -0
  364. package/src/constants/z-asset-registry.ts +47 -0
  365. package/src/gen/prover_pb.ts +375 -0
  366. package/src/index.ts +23 -0
  367. package/src/internal/evm.ts +361 -0
  368. package/src/internal/evmWalletClient.ts +0 -0
  369. package/src/internal/publicClient.ts +57 -0
  370. package/src/internal/walletClient.ts +50 -0
  371. package/src/legacy/client.ts +1652 -0
  372. package/src/legacy/prover.ts +135 -0
  373. package/src/poseidon2.ts +246 -0
  374. package/src/promises/Attestor.ts +25 -0
  375. package/src/promises/EvmPublicClient.ts +39 -0
  376. package/src/promises/EvmWalletClient.ts +63 -0
  377. package/src/promises/Payment.ts +86 -0
  378. package/src/promises/Prover.ts +26 -0
  379. package/src/promises/PublicClient.ts +47 -0
  380. package/src/promises/WalletClient.ts +38 -0
  381. package/src/promises/index.ts +7 -0
  382. package/src/rpc.ts +994 -0
  383. package/src/types.ts +281 -0
  384. package/types/package.json +6 -0
  385. package/dist/LICENSE +0 -1
  386. package/dist/chunk-37PNLRA6.js +0 -2418
  387. package/dist/cli.cjs +0 -3031
  388. package/dist/cli.js +0 -675
  389. package/dist/index.cjs +0 -2451
  390. package/dist/index.js +0 -1
  391. package/dist/package.json +0 -18
  392. package/dist/payments.d.ts +0 -835
  393. /package/{dist → src}/tsdoc-metadata.json +0 -0
@@ -0,0 +1,250 @@
1
+ /**
2
+ * This module handles EVM related functionality.
3
+ *
4
+ * @since 0.0.0
5
+ */
6
+ import { Context, Effect, Layer } from "effect";
7
+ import type { Abi, Address, ContractFunctionArgs, ContractFunctionName, CreatePublicClientErrorType, CreateWalletClientErrorType, ReadContractErrorType, ReadContractParameters, SimulateContractErrorType, Account as ViemAccount, Chain as ViemChain, PublicClient as ViemPublicClient, WalletClient as ViemWalletClient, WaitForTransactionReceiptTimeoutErrorType, WriteContractErrorType, WriteContractParameters } from "viem";
8
+ import * as V from "viem";
9
+ /**
10
+ * @category models
11
+ * @since 0.0.0
12
+ */
13
+ export declare namespace Evm {
14
+ /**
15
+ * @category models
16
+ * @since 0.0.0
17
+ */
18
+ interface PublicClient {
19
+ readonly client: ViemPublicClient;
20
+ }
21
+ /**
22
+ * @category models
23
+ * @since 0.0.0
24
+ */
25
+ interface WalletClient {
26
+ readonly client: ViemWalletClient;
27
+ readonly account: ViemAccount;
28
+ readonly chain: ViemChain;
29
+ }
30
+ /**
31
+ * @category models
32
+ * @since 0.0.0
33
+ */
34
+ interface Channel {
35
+ readonly ucs03address: Address;
36
+ readonly channelId: number;
37
+ }
38
+ }
39
+ declare const WaitForTransactionReceiptError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
40
+ readonly _tag: "WaitForTransactionReceiptError";
41
+ } & Readonly<A>;
42
+ /**
43
+ * @category errors
44
+ * @since 0.0.0
45
+ */
46
+ export declare class WaitForTransactionReceiptError extends WaitForTransactionReceiptError_base<{
47
+ cause: WaitForTransactionReceiptTimeoutErrorType;
48
+ }> {
49
+ }
50
+ /**
51
+ * Wait for a transaction receipt
52
+ * @param hash The transaction hash for which to wait
53
+ * @returns An Effect that resolves to the transaction receipt
54
+ *
55
+ * @category utils
56
+ * @since 0.0.0
57
+ */
58
+ export declare const waitForTransactionReceipt: (hash: `0x${string}`) => Effect.Effect<V.TransactionReceipt, WaitForTransactionReceiptError, PublicClient>;
59
+ /**
60
+ * A type-safe wrapper around viem's readContract that handles error cases
61
+ * and returns an Effect with proper type inference. Extracts all error info
62
+ *
63
+ * @param client - The viem PublicClient to use for the contract call
64
+ * @param params - The parameters for the contract call
65
+ * @returns An Effect that resolves to the properly typed return value
66
+ *
67
+ * @category utils
68
+ * @since 0.0.0
69
+ */
70
+ export declare const readContract: <TAbi extends Abi, TFunctionName extends ContractFunctionName<TAbi, "view" | "pure"> = ContractFunctionName<TAbi, "view" | "pure">, TArgs extends ContractFunctionArgs<TAbi, "view" | "pure", TFunctionName> = ContractFunctionArgs<TAbi, "view" | "pure", TFunctionName>>(params: ReadContractParameters<TAbi, TFunctionName, TArgs>) => Effect.Effect<V.ContractFunctionReturnType<TAbi, "view" | "pure", TFunctionName, TArgs>, ReadContractError, PublicClient>;
71
+ /**
72
+ * A type-safe wrapper around viem's writeContract that handles error cases
73
+ * and returns an Effect with proper type inference. Extracts all error info
74
+ *
75
+ * @param client - The viem WalletClient to use for the contract transaction
76
+ * @param params - The parameters for the contract transaction
77
+ * @returns An Effect that resolves to the transaction hash
78
+ *
79
+ * @category utils
80
+ * @since 0.0.0
81
+ */
82
+ export declare const writeContract: <const abi extends Abi | readonly unknown[], functionName extends ContractFunctionName<abi, "nonpayable" | "payable">, args extends ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(params: WriteContractParameters<abi, functionName, args>) => Effect.Effect<`0x${string}`, WriteContractError, WalletClient>;
83
+ export declare const getBlockNumber: <const abi extends Abi | readonly unknown[], functionName extends ContractFunctionName<abi, "nonpayable" | "payable">, args extends ContractFunctionArgs<abi, "nonpayable" | "payable", functionName>>(params: WriteContractParameters<abi, functionName, args>) => Effect.Effect<`0x${string}`, WriteContractError, WalletClient>;
84
+ declare const ChannelDestination_base: Context.TagClass<ChannelDestination, "@unionlabs/sdk/Evm/ChannelDestination", Evm.Channel>;
85
+ /**
86
+ * @category context
87
+ * @since 0.0.0
88
+ */
89
+ export declare class ChannelDestination extends ChannelDestination_base {
90
+ static Live: (self: Evm.Channel) => Layer.Layer<ChannelDestination, never, never>;
91
+ }
92
+ declare const ChannelSource_base: Context.TagClass<ChannelSource, "@unionlabs/sdk/Evm/ChannelSource", Evm.Channel>;
93
+ /**
94
+ * @category context
95
+ * @since 0.0.0
96
+ */
97
+ export declare class ChannelSource extends ChannelSource_base {
98
+ static Live: (self: Evm.Channel) => Layer.Layer<ChannelSource, never, never>;
99
+ }
100
+ declare const PublicClientSource_base: Context.TagClass<PublicClientSource, "@unionlabs/sdk/Evm/PublicClientSource", Evm.PublicClient>;
101
+ /**
102
+ * @category context
103
+ * @since 0.0.0
104
+ */
105
+ export declare class PublicClientSource extends PublicClientSource_base {
106
+ static Live: (parameters: {
107
+ key?: string | undefined | undefined;
108
+ name?: string | undefined | undefined;
109
+ chain?: ViemChain | undefined;
110
+ batch?: {
111
+ multicall?: boolean | V.Prettify<V.MulticallBatchOptions> | undefined;
112
+ } | undefined | undefined;
113
+ cacheTime?: number | undefined | undefined;
114
+ ccipRead?: {
115
+ request? /**
116
+ * @category models
117
+ * @since 0.0.0
118
+ */: (parameters: V.CcipRequestParameters) => Promise<`0x${string}`>;
119
+ } | false | undefined | undefined;
120
+ experimental_blockTag?: V.BlockTag | undefined;
121
+ pollingInterval?: number | undefined | undefined;
122
+ transport: V.Transport;
123
+ rpcSchema?: V.RpcSchema | undefined;
124
+ }) => Layer.Layer<PublicClientSource, CreatePublicClientError, never>;
125
+ }
126
+ declare const PublicClientDestination_base: Context.TagClass<PublicClientDestination, "@unionlabs/sdk/Evm/PublicClientDestination", Evm.PublicClient>;
127
+ /**
128
+ * @category context
129
+ * @since 0.0.0
130
+ */
131
+ export declare class PublicClientDestination extends PublicClientDestination_base {
132
+ static Live: (parameters: {
133
+ key?: string | undefined | undefined;
134
+ name?: string | undefined | undefined;
135
+ chain?: ViemChain | undefined;
136
+ batch?: {
137
+ multicall?: boolean | V.Prettify<V.MulticallBatchOptions> | undefined;
138
+ } | undefined | undefined;
139
+ cacheTime?: number | undefined | undefined;
140
+ ccipRead?: {
141
+ request? /**
142
+ * @category models
143
+ * @since 0.0.0
144
+ */: (parameters: V.CcipRequestParameters) => Promise<`0x${string}`>;
145
+ } | false | undefined | undefined;
146
+ experimental_blockTag?: V.BlockTag | undefined;
147
+ pollingInterval?: number | undefined | undefined;
148
+ transport: V.Transport;
149
+ rpcSchema?: V.RpcSchema | undefined;
150
+ }) => Layer.Layer<PublicClientDestination, CreatePublicClientError, never>;
151
+ }
152
+ declare const PublicClient_base: Context.TagClass<PublicClient, "@unionlabs/sdk-evm/Evm/PublicClient", Evm.PublicClient>;
153
+ /**
154
+ * A neutral public client that can be used for general-purpose operations
155
+ * that don't specifically target source or destination chains
156
+ *
157
+ * @category context
158
+ * @since 0.0.0
159
+ */
160
+ export declare class PublicClient extends PublicClient_base {
161
+ static Live: (parameters: {
162
+ key?: string | undefined | undefined;
163
+ name?: string | undefined | undefined;
164
+ chain?: ViemChain | undefined;
165
+ batch?: {
166
+ multicall?: boolean | V.Prettify<V.MulticallBatchOptions> | undefined;
167
+ } | undefined | undefined;
168
+ cacheTime?: number | undefined | undefined;
169
+ ccipRead?: {
170
+ request? /**
171
+ * @category models
172
+ * @since 0.0.0
173
+ */: (parameters: V.CcipRequestParameters) => Promise<`0x${string}`>;
174
+ } | false | undefined | undefined;
175
+ experimental_blockTag?: V.BlockTag | undefined;
176
+ pollingInterval?: number | undefined | undefined;
177
+ transport: V.Transport;
178
+ rpcSchema?: V.RpcSchema | undefined;
179
+ }) => Layer.Layer<PublicClient, CreatePublicClientError, never>;
180
+ }
181
+ declare const WalletClient_base: Context.TagClass<WalletClient, "@unionlabs/sdk/Evm/WalletClient", Evm.WalletClient>;
182
+ /**
183
+ * A wallet client that can be used for signing transactions
184
+ *
185
+ * @category context
186
+ * @since 0.0.0
187
+ */
188
+ export declare class WalletClient extends WalletClient_base {
189
+ static Live: (options: Parameters<typeof V.createWalletClient>[0] & {
190
+ account: V.Account;
191
+ chain: V.Chain;
192
+ }) => Layer.Layer<WalletClient, CreateWalletClientError, never>;
193
+ }
194
+ declare const ReadContractError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
195
+ readonly _tag: "@unionlabs/sdk/Evm/ReadContractError";
196
+ } & Readonly<A>;
197
+ /**
198
+ * @category errors
199
+ * @since 0.0.0
200
+ */
201
+ export declare class ReadContractError extends ReadContractError_base<{
202
+ cause: ReadContractErrorType;
203
+ }> {
204
+ }
205
+ declare const WriteContractError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
206
+ readonly _tag: "@unionlabs/sdk/Evm/WriteContractError";
207
+ } & Readonly<A>;
208
+ /**
209
+ * @category errors
210
+ * @since 0.0.0
211
+ */
212
+ export declare class WriteContractError extends WriteContractError_base<{
213
+ cause: WriteContractErrorType;
214
+ }> {
215
+ }
216
+ declare const SimulateContractError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
217
+ readonly _tag: "@unionlabs/sdk/Evm/SimulateContractError";
218
+ } & Readonly<A>;
219
+ /**
220
+ * @category errors
221
+ * @since 0.0.0
222
+ */
223
+ export declare class SimulateContractError extends SimulateContractError_base<{
224
+ cause: SimulateContractErrorType;
225
+ }> {
226
+ }
227
+ declare const CreatePublicClientError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
228
+ readonly _tag: "@unionlabs/sdk/Evm/CreatePublicClientError";
229
+ } & Readonly<A>;
230
+ /**
231
+ * @category errors
232
+ * @since 0.0.0
233
+ */
234
+ export declare class CreatePublicClientError extends CreatePublicClientError_base<{
235
+ cause: CreatePublicClientErrorType;
236
+ }> {
237
+ }
238
+ declare const CreateWalletClientError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => import("effect/Cause").YieldableError & {
239
+ readonly _tag: "@unionlabs/sdk/Evm/CreateWalletClientError";
240
+ } & Readonly<A>;
241
+ /**
242
+ * @category errors
243
+ * @since 0.0.0
244
+ */
245
+ export declare class CreateWalletClientError extends CreateWalletClientError_base<{
246
+ cause: CreateWalletClientErrorType;
247
+ }> {
248
+ }
249
+ export {};
250
+ //# sourceMappingURL=evm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/internal/evm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=evmWalletClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evmWalletClient.d.ts","sourceRoot":"","sources":["../../../src/internal/evmWalletClient.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=publicClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publicClient.d.ts","sourceRoot":"","sources":["../../../src/internal/publicClient.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=walletClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walletClient.d.ts","sourceRoot":"","sources":["../../../src/internal/walletClient.ts"],"names":[],"mappings":""}
@@ -0,0 +1,313 @@
1
+ import type { Address, Hex, PublicClient, WalletClient } from "viem";
2
+ import type { BalanceInfo, DepositResult, FullRedeemResult, GenerateProofResult, RedemptionHistoryEntry, TokenInfo, UnionPrivatePaymentsConfig, UpdateLightClientResult } from "../types.js";
3
+ /**
4
+ * @public
5
+ */
6
+ export interface ClientOptions {
7
+ proverUrl?: URL | undefined;
8
+ rpcUrl: URL;
9
+ chainId: bigint;
10
+ assetAddress: Address;
11
+ attestationUrl?: string | undefined;
12
+ attestorApiKey?: string | undefined;
13
+ }
14
+ /**
15
+ * @public
16
+ */
17
+ export interface UpdateLightClientOptions {
18
+ /** The light client ID to update */
19
+ clientId: number;
20
+ /** Block height to update to (bigint or 'latest') */
21
+ height: bigint | "latest";
22
+ /** viem WalletClient with account and chain configured */
23
+ walletClient: WalletClient;
24
+ }
25
+ /**
26
+ * @public
27
+ */
28
+ export interface DepositOptions {
29
+ /** The 32-byte secret payment key as a hex string */
30
+ paymentKey: Hex;
31
+ /** Array of 0-4 beneficiary addresses*/
32
+ beneficiaries: Address[];
33
+ /** Amount to deposit (in underlying token's smallest unit) */
34
+ amount: bigint;
35
+ /** viem WalletClient with account and chain configured */
36
+ walletClient: WalletClient;
37
+ }
38
+ /**
39
+ * @public
40
+ */
41
+ export interface GetBalanceOptions {
42
+ /** The deposit address (unspendable address) */
43
+ depositAddress: Address;
44
+ /** The nullifier for this paymentKey */
45
+ nullifier: bigint;
46
+ /** The light client ID to use for querying the source chain state */
47
+ clientId: number;
48
+ }
49
+ /**
50
+ * @public
51
+ */
52
+ export interface RedeemOptions {
53
+ /** The 32-byte secret payment key as a hex string */
54
+ paymentKey: Hex;
55
+ /** Array of 0-4 beneficiary addresses */
56
+ beneficiaries: Address[];
57
+ /** The beneficiary address to redeem to */
58
+ beneficiary: Address;
59
+ /** Amount to redeem */
60
+ amount: bigint;
61
+ /** Light client IDs to include in the proof (for anonymity set) */
62
+ clientIds: number[];
63
+ /** The specific light client ID to use for the proof */
64
+ selectedClientId: number;
65
+ /** viem WalletClient with account and chain configured */
66
+ walletClient: WalletClient;
67
+ /** Auto unwrap */
68
+ unwrap?: boolean | undefined;
69
+ }
70
+ /**
71
+ * Construct a {@link UnionPrivatePayments} client.
72
+ *
73
+ * @throws Error if asset is unrecognized.
74
+ * @public
75
+ */
76
+ export declare const make: (options: ClientOptions) => UnionPrivatePayments;
77
+ /**
78
+ * Union Private Payments client
79
+ *
80
+ * This class provides a high-level interface for performing private transfers
81
+ * using the Union protocol. It handles:
82
+ *
83
+ * - Generating unspendable addresses for deposits
84
+ *
85
+ * - Querying balances (confirmed, pending, redeemed, available)
86
+ *
87
+ * - Building witness data for proof generation
88
+ *
89
+ * - Communicating with the prover server
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * import { UnionPrivatePayments } from '@unionlabs/payments';
94
+ *
95
+ * const client = new UnionPrivatePayments({
96
+ * proverUrl: 'http://localhost:8080',
97
+ * sourceRpcUrl: 'https://eth-mainnet.alchemyapi.io/v2/...',
98
+ * destinationRpcUrl: 'https://arbitrum-mainnet.alchemyapi.io/v2/...',
99
+ * srcZAssetAddress: '0x...', // ZAsset on source chain
100
+ * dstZAssetAddress: '0x...', // ZAsset on destination chain
101
+ * sourceChainId: 1n,
102
+ * destinationChainId: 42161n,
103
+ * });
104
+ *
105
+ * // Generate deposit address
106
+ * const address = client.getDepositAddress(secret, beneficiaries);
107
+ *
108
+ * // Check balance
109
+ * const balance = await client.getBalance({ depositAddress, nullifier, clientId });
110
+ *
111
+ * // Generate proof for redemption
112
+ * const proof = await client.generateProof(secret, beneficiaries, beneficiary, amount, clientIds);
113
+ * ```
114
+ * @public
115
+ */
116
+ export declare class UnionPrivatePayments {
117
+ private config;
118
+ private srcClient;
119
+ private dstClient;
120
+ private proverClient;
121
+ constructor(config: UnionPrivatePaymentsConfig);
122
+ /**
123
+ * Get the deposit address for a given secret and beneficiaries
124
+ *
125
+ * The returned address is an "unspendable" address derived from the secret.
126
+ * Tokens sent to this address can only be redeemed via ZK proof.
127
+ *
128
+ * @param secret - The 32-byte secret as a hex string
129
+ * @param beneficiaries - Array of 1-4 beneficiary addresses (remaining slots zero-padded)
130
+ * @returns The unspendable deposit address
131
+ */
132
+ getDepositAddress(secret: Hex, beneficiaries: Address[]): Address;
133
+ /**
134
+ * Get the nullifier for a given paymentKey
135
+ *
136
+ * The nullifier is used to prevent double-spending. Each (paymentKey, chainId) pair
137
+ * produces a unique nullifier that is recorded on-chain when funds are redeemed.
138
+ *
139
+ * @param paymentKey - The 32-byte paymentKey as a hex string
140
+ * @returns The nullifier as a bigint
141
+ */
142
+ getNullifier(paymentKey: Hex): bigint;
143
+ /**
144
+ * Get balance information
145
+ *
146
+ * Returns:
147
+ * - confirmed: balance visible to light client (provable)
148
+ * - redeemed: amount already redeemed via nullifier
149
+ * - available: amount that can be redeemed now (confirmed - redeemed)
150
+ * - pending: deposits not yet visible to light client
151
+ *
152
+ * @param options - Options for getting balance
153
+ * @returns Balance information
154
+ */
155
+ getBalance(options: GetBalanceOptions): Promise<BalanceInfo>;
156
+ /**
157
+ * Get balance information at a specific block height
158
+ *
159
+ * @param depositAddress - The deposit address (unspendable address)
160
+ * @param nullifier - The nullifier for this secret
161
+ * @param height - The block height to query confirmed balance at
162
+ * @returns Balance information at the given height
163
+ */
164
+ getBalanceAtHeight(depositAddress: Address, nullifier: bigint, height: bigint): Promise<Omit<BalanceInfo, "lightClientHeight">>;
165
+ /**
166
+ * Generate a proof for redeeming funds
167
+ *
168
+ * This method:
169
+ * 1. Fetches light client data from the destination chain
170
+ * 2. Deterministically shuffles clients for privacy
171
+ * 3. Fetches MPT proof from the source chain
172
+ * 4. Builds the witness data
173
+ * 5. Sends the witness to the prover server
174
+ * 6. Polls until the proof is ready
175
+ *
176
+ * @param secret - The 32-byte secret as a hex string
177
+ * @param beneficiaries - Array of 0-4 beneficiary addresses (empty array = unbounded mode)
178
+ * @param beneficiary - The beneficiary address to redeem to
179
+ * @param amount - Amount to redeem
180
+ * @param clientIds - Light client IDs to include in the proof (for anonymity set)
181
+ * @param selectedClientId - The specific light client ID to use for the proof
182
+ * @returns GenerateProofResult containing proof result and client-side metadata
183
+ */
184
+ generateProof(secret: Hex, beneficiaries: Address[], beneficiary: Address, amount: bigint, clientIds: number[], selectedClientId: number): Promise<GenerateProofResult>;
185
+ /**
186
+ * Export the verifier contract from the prover server
187
+ *
188
+ * The verifier contract is used to verify proofs on-chain.
189
+ * It is circuit-specific and does not change between proofs.
190
+ *
191
+ * @returns The Solidity verifier contract source code
192
+ */
193
+ exportVerifier(): Promise<string>;
194
+ /**
195
+ * Get source ZAsset token information
196
+ *
197
+ * @returns Token symbol and decimals
198
+ */
199
+ getSrcZAssetInfo(): Promise<TokenInfo>;
200
+ /**
201
+ * Get destination ZAsset token information
202
+ *
203
+ * @returns Token symbol and decimals
204
+ */
205
+ getDstZAssetInfo(): Promise<TokenInfo>;
206
+ /**
207
+ * Deposit underlying tokens to ZAsset and transfer to deposit address
208
+ *
209
+ * Executes 3 transactions: approve → deposit → transfer.
210
+ * The wallet client must be connected to the source chain.
211
+ *
212
+ * @param secret - The 32-byte secret as a hex string
213
+ * @param beneficiaries - Array of 0-4 beneficiary addresses
214
+ * @param amount - Amount to deposit (in underlying token's smallest unit)
215
+ * @param walletClient - viem WalletClient with account and chain configured
216
+ * @returns Transaction hash, deposit address, underlying token, and chain ID
217
+ */
218
+ deposit(options: DepositOptions): Promise<DepositResult>;
219
+ /**
220
+ * Deposit underlying tokens to ZAsset and transfer to deposit address
221
+ *
222
+ * Executes 3 transactions: approve → deposit → transfer.
223
+ * The wallet client must be connected to the source chain.
224
+ *
225
+ * @param secret - The 32-byte secret as a hex string
226
+ * @param beneficiaries - Array of 0-4 beneficiary addresses
227
+ * @param amount - Amount to deposit (in underlying token's smallest unit)
228
+ * @param walletClient - viem WalletClient with account and chain configured
229
+ * @returns Transaction hash, deposit address, underlying token, and chain ID
230
+ */
231
+ unsafeDeposit(options: DepositOptions): Promise<DepositResult>;
232
+ /**
233
+ * Update loopback light client to a specific block height
234
+ *
235
+ * Fetches the IBC handler address internally from the destination ZAsset.
236
+ * The wallet client must be connected to the destination chain.
237
+ *
238
+ * @returns Transaction hash, block number, state root, and chain ID
239
+ */
240
+ updateLightClient(options: UpdateLightClientOptions): Promise<UpdateLightClientResult>;
241
+ /**
242
+ * Update loopback light client to a specific block height
243
+ *
244
+ * Fetches the IBC handler address internally from the destination ZAsset.
245
+ * The wallet client must be connected to the destination chain.
246
+ *
247
+ * @returns Transaction hash, block number, state root, and chain ID
248
+ */
249
+ unsafeUpdateLightClient(options: UpdateLightClientOptions): Promise<UpdateLightClientResult>;
250
+ /**
251
+ * Get redemption history for a secret
252
+ *
253
+ * Queries the Redeemed events filtered by the nullifier derived from the secret.
254
+ * This is a read-only operation that doesn't require a wallet.
255
+ *
256
+ * @param secret - The 32-byte secret as a hex string
257
+ * @param fromBlock - Start block number (default: earliest)
258
+ * @param toBlock - End block number (default: latest)
259
+ * @returns Array of redemption transactions
260
+ */
261
+ getRedemptionHistory(secret: Hex, fromBlock?: bigint, toBlock?: bigint): Promise<RedemptionHistoryEntry[]>;
262
+ /**
263
+ * Get redemption history for a secret
264
+ *
265
+ * Queries the Redeemed events filtered by the nullifier derived from the secret.
266
+ * This is a read-only operation that doesn't require a wallet.
267
+ *
268
+ * @param secret - The 32-byte secret as a hex string
269
+ * @param fromBlock - Start block number (default: earliest)
270
+ * @param toBlock - End block number (default: latest)
271
+ * @returns Array of redemption transactions
272
+ */
273
+ unsafeGetRedemptionHistory(secret: Hex, fromBlock?: bigint, toBlock?: bigint): Promise<RedemptionHistoryEntry[]>;
274
+ /**
275
+ * Full redeem flow: generate proof + get attestation + submit transaction
276
+ *
277
+ * This method orchestrates the entire redemption process:
278
+ * 1. Generates a ZK proof via the prover server
279
+ * 2. Gets attestation from the attestation service
280
+ * 3. Submits the redeem transaction
281
+ *
282
+ * The wallet client must be connected to the destination chain.
283
+ *
284
+ * @returns Transaction hash, proof, and metadata
285
+ */
286
+ redeem(options: RedeemOptions): Promise<FullRedeemResult>;
287
+ /**
288
+ * Full redeem flow: generate proof + get attestation + submit transaction
289
+ *
290
+ * This method orchestrates the entire redemption process:
291
+ * 1. Generates a ZK proof via the prover server
292
+ * 2. Gets attestation from the attestation service
293
+ * 3. Submits the redeem transaction
294
+ *
295
+ * The wallet client must be connected to the destination chain.
296
+ *
297
+ * @returns Transaction hash, proof, and metadata
298
+ */
299
+ unsafeRedeem(options: RedeemOptions): Promise<FullRedeemResult>;
300
+ /**
301
+ * Pad beneficiaries array to exactly 4 addresses
302
+ * Empty array = unbounded mode (all zeros, any beneficiary allowed)
303
+ */
304
+ private padBeneficiaries;
305
+ }
306
+ /**
307
+ * Wait for predicate on block height
308
+ * @public
309
+ */
310
+ export declare const waitForBlockCondition: <T extends PublicClient>(publicClient: T, predicate: (blockNumber: bigint) => boolean, options?: {
311
+ timeoutMs?: number | undefined;
312
+ }) => Promise<bigint>;
313
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/legacy/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAuBrE,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,SAAS,EACT,0BAA0B,EAC1B,uBAAuB,EAExB,MAAM,aAAa,CAAC;AAUrB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,0DAA0D;IAC1D,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,UAAU,EAAE,GAAG,CAAC;IAChB,wCAAwC;IACxC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,UAAU,EAAE,GAAG,CAAC;IAChB,yCAAyC;IACzC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,2CAA2C;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,GAAI,SAAS,aAAa,KAAG,oBA0B7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,0BAA0B;IAO9C;;;;;;;;;OASG;IACH,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,OAAO;IASjE;;;;;;;;OAQG;IACH,YAAY,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM;IAIrC;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IA6BlE;;;;;;;OAOG;IACG,kBAAkB,CACtB,cAAc,EAAE,OAAO,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IA4BlD;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CACjB,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,OAAO,EAAE,EACxB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAuI/B;;;;;;;OAOG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,SAAS,CAAC;IAQ5C;;;;OAIG;IACG,gBAAgB,IAAI,OAAO,CAAC,SAAS,CAAC;IAQ5C;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA2J9D;;;;;;;;;;;OAWG;IACG,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAoIpE;;;;;;;OAOG;IACG,iBAAiB,CACrB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC;IAuMnC;;;;;;;OAOG;IACG,uBAAuB,CAC3B,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,uBAAuB,CAAC;IAmKnC;;;;;;;;;;OAUG;IACH,oBAAoB,CAClB,MAAM,EAAE,GAAG,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAiBpC;;;;;;;;;;OAUG;IACG,0BAA0B,CAC9B,MAAM,EAAE,GAAG,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAUpC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6JzD;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkJrE;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAgBzB;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,YAAY,EAC1D,cAAc,CAAC,EACf,WAAW,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,EAC3C,UAAU;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAC3C,OAAO,CAAC,MAAM,CA8BhB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ProofResult, WitnessData } from "../types.js";
2
+ /**
3
+ * Prover client for communicating with the prover gRPC-web server
4
+ *
5
+ * Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
6
+ * @public
7
+ */
8
+ export declare class ProverClient {
9
+ private client;
10
+ private pollIntervalMs;
11
+ private maxPollAttempts;
12
+ constructor(proverUrl: string, options?: {
13
+ pollIntervalMs?: number;
14
+ maxPollAttempts?: number;
15
+ });
16
+ /**
17
+ * Generate a proof by sending witness data to the prover server
18
+ *
19
+ * The server handles witness transformation internally, so we send
20
+ * the structured WitnessData instead of pre-serialized circuit witness bytes.
21
+ */
22
+ generateProof(witness: WitnessData): Promise<ProofResult>;
23
+ /**
24
+ * Export the verifier contract from the prover server
25
+ */
26
+ exportVerifier(): Promise<string>;
27
+ private witnessToProto;
28
+ private sleep;
29
+ }
30
+ //# sourceMappingURL=prover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prover.d.ts","sourceRoot":"","sources":["../../../src/legacy/prover.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAG9B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B;IAWH;;;;;OAKG;IACG,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAkD/D;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,KAAK;CAGd"}
@@ -0,0 +1,18 @@
1
+ import type { Address, Hex } from "viem";
2
+ /**
3
+ * Compute the nullifier: Poseidon2(0xDEAD || chainId || secret)
4
+ * @public
5
+ */
6
+ export declare function computeNullifier(secret: Hex, dstChainId: bigint): bigint;
7
+ /**
8
+ * Generate a random secret valid for BN254 scalar field
9
+ * @public
10
+ */
11
+ export declare function generatePaymentKey(): Hex;
12
+ /**
13
+ * Compute the unspendable address: bottom 160 bits of
14
+ * Poseidon2(0xDEAF || dstChainId || secret || beneficiary1..4)
15
+ * @public
16
+ */
17
+ export declare function computeUnspendableAddress(secret: Hex, dstChainId: bigint, beneficiaries: [Address, Address, Address, Address]): Address;
18
+ //# sourceMappingURL=poseidon2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poseidon2.d.ts","sourceRoot":"","sources":["../../src/poseidon2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAyLzC;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAiBxC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAClD,OAAO,CAiBT"}