@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 @@
1
+ {"version":3,"file":"client.js","names":["Duration","Effect","pipe","Schedule","createPublicClient","encodeAbiParameters","hexToBigInt","http","keccak256","toRlp","AttestationClient","Z_ASSET_REGISTRY","evm","computeNullifier","computeUnspendableAddress","computeStorageSlot","deterministicShuffleClients","fetchLightClients","fetchMptProof","IBC_STORE_ABI","parseProofJson","proofJsonToRedeemParams","RpcClient","ProverClient","ZERO_ADDRESS","commonRetry","schedule","linear","seconds","times","make","options","proverUrl","toString","attestorUrl","attestationUrl","zAssetAddress","chainId","assetAddress","Error","attestorApiKey","UnionPrivatePayments","sourceRpcUrl","rpcUrl","destinationRpcUrl","srcZAssetAddress","dstZAssetAddress","sourceChainId","destinationChainId","config","srcClient","dstClient","proverClient","constructor","getDepositAddress","secret","beneficiaries","paddedBeneficiaries","padBeneficiaries","getNullifier","paymentKey","getBalance","depositAddress","nullifier","clientId","console","log","ibcHandlerAddress","getIbcHandlerAddress","lightClientAddress","getLightClientAddress","lightClientHeight","getLatestHeight","balance","getBalanceAtHeight","height","latestHeight","getLatestBlockNumber","balanceAtTip","confirmed","redeemed","Promise","all","getNullifierBalance","available","pending","generateProof","beneficiary","amount","clientIds","selectedClientId","includes","proof","success","error","lightClients","length","shuffled","selectedClientIndex","findIndex","c","selectedClient","tokenAddressKey","balanceSlot","getCounterparty","ZERO_BYTES32","mappingSlot","storageSlot","mptProof","witness","dstChainId","redeemAmount","alreadyRedeemed","proofResult","metadata","value","exportVerifier","getSrcZAssetInfo","symbol","decimals","getSymbol","getDecimals","getDstZAssetInfo","deposit","walletClient","account","chain","gen","underlyingToken","readContract","address","abi","inputs","name","outputs","type","stateMutability","functionName","retry","provideService","PublicClient","client","getClient","fail","ERC20_ABI","ZASSET_ABI","approveHash","writeContract","args","approveReceipt","waitForTransactionReceipt","status","depositHash","depositReceipt","transferHash","transferReceipt","txHash","blockNumber","provide","Live","transport","WalletClient","runPromise","unsafeDeposit","publicClient","writeContractSync","then","x","transactionHash","hash","updateLightClient","tryPromise","try","catch","cause","getBlockNumber","block","getBlock","number","toRlpHex","undefined","hex","headerFields","parentHash","sha3Uncles","miner","stateRoot","transactionsRoot","receiptsRoot","logsBloom","repeat","difficulty","gasLimit","gasUsed","timestamp","extraData","mixHash","nonce","baseFeePerGas","push","withdrawalsRoot","blobGasUsed","excessBlobGas","parentBeaconBlockRoot","blockAny","requestsHash","rlpEncoded","computedHash","clientMessage","LIGHTCLIENT_ABI","currentBlock","sleep","loopbackClient","sync","unsafeUpdateLightClient","resolve","setTimeout","getRedemptionHistory","fromBlock","toBlock","unsafeGetRedemptionHistory","redeem","unwrap","proofJson","attestationClient","attestationResponse","getAttestation","redeemParams","attestedMessage","signature","components","commitments","commitmentPok","unsafeRedeem","receipt","padded","waitForBlockCondition","predicate","timeoutMs","reject","done","unwatch","watchBlockNumber","onBlockNumber","onError"],"sources":["../../../src/legacy/client.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ import { create } from "@bufbuild/protobuf";
2
+ import { createClient } from "@connectrpc/connect";
3
+ import { createGrpcWebTransport } from "@connectrpc/connect-web";
4
+ import { LightClientDataSchema, MPTProofDataSchema, ProofRequestSchema, ProverService, WitnessDataSchema } from "../gen/prover_pb.js";
5
+ /**
6
+ * Prover client for communicating with the prover gRPC-web server
7
+ *
8
+ * Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
9
+ * @public
10
+ */
11
+ export class ProverClient {
12
+ client;
13
+ pollIntervalMs;
14
+ maxPollAttempts;
15
+ constructor(proverUrl, options) {
16
+ const transport = createGrpcWebTransport({
17
+ baseUrl: proverUrl
18
+ });
19
+ this.client = createClient(ProverService, transport);
20
+ this.pollIntervalMs = options?.pollIntervalMs ?? 2000;
21
+ this.maxPollAttempts = options?.maxPollAttempts ?? 300; // 10 minutes with 2s interval
22
+ }
23
+ /**
24
+ * Generate a proof by sending witness data to the prover server
25
+ *
26
+ * The server handles witness transformation internally, so we send
27
+ * the structured WitnessData instead of pre-serialized circuit witness bytes.
28
+ */
29
+ async generateProof(witness) {
30
+ const protoWitness = this.witnessToProto(witness);
31
+ const request = create(ProofRequestSchema, {
32
+ witness: protoWitness
33
+ });
34
+ let attempts = 0;
35
+ while (attempts < this.maxPollAttempts) {
36
+ try {
37
+ const response = await this.client.poll(request);
38
+ switch (response.result.case) {
39
+ case "done":
40
+ return {
41
+ success: true,
42
+ proofJson: response.result.value.proofJson,
43
+ createdAt: new Date(Number(response.result.value.createdAt) * 1000)
44
+ };
45
+ case "failed":
46
+ return {
47
+ success: false,
48
+ error: response.result.value.errorMessage
49
+ };
50
+ case "pending":
51
+ await this.sleep(this.pollIntervalMs);
52
+ attempts++;
53
+ break;
54
+ default:
55
+ await this.sleep(this.pollIntervalMs);
56
+ attempts++;
57
+ }
58
+ } catch (error) {
59
+ return {
60
+ success: false,
61
+ error: `RPC error: ${error instanceof Error ? error.message : String(error)}`
62
+ };
63
+ }
64
+ }
65
+ return {
66
+ success: false,
67
+ error: "Proof generation timed out"
68
+ };
69
+ }
70
+ /**
71
+ * Export the verifier contract from the prover server
72
+ */
73
+ async exportVerifier() {
74
+ const response = await this.client.exportVerifier({});
75
+ return response.verifierContract;
76
+ }
77
+ witnessToProto(witness) {
78
+ return create(WitnessDataSchema, {
79
+ secret: witness.secret,
80
+ dstChainId: witness.dstChainId,
81
+ beneficiaries: [...witness.beneficiaries],
82
+ beneficiary: witness.beneficiary,
83
+ redeemAmount: witness.redeemAmount.toString(),
84
+ alreadyRedeemed: witness.alreadyRedeemed.toString(),
85
+ lightClients: witness.lightClients.map(lc => create(LightClientDataSchema, {
86
+ clientId: lc.clientId,
87
+ height: lc.height,
88
+ stateRoot: lc.stateRoot
89
+ })),
90
+ selectedClientIndex: witness.selectedClientIndex,
91
+ mptProof: create(MPTProofDataSchema, {
92
+ accountProof: [...witness.mptProof.accountProof],
93
+ storageProof: [...witness.mptProof.storageProof],
94
+ storageValue: witness.mptProof.storageValue,
95
+ storageRoot: witness.mptProof.storageRoot
96
+ }),
97
+ tokenAddress: witness.srcZAssetAddress,
98
+ mappingSlot: witness.mappingSlot
99
+ });
100
+ }
101
+ sleep(ms) {
102
+ return new Promise(resolve => setTimeout(resolve, ms));
103
+ }
104
+ }
105
+ //# sourceMappingURL=prover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prover.js","names":["create","createClient","createGrpcWebTransport","LightClientDataSchema","MPTProofDataSchema","ProofRequestSchema","ProverService","WitnessDataSchema","ProverClient","client","pollIntervalMs","maxPollAttempts","constructor","proverUrl","options","transport","baseUrl","generateProof","witness","protoWitness","witnessToProto","request","attempts","response","poll","result","case","success","proofJson","value","createdAt","Date","Number","error","errorMessage","sleep","Error","message","String","exportVerifier","verifierContract","secret","dstChainId","beneficiaries","beneficiary","redeemAmount","toString","alreadyRedeemed","lightClients","map","lc","clientId","height","stateRoot","selectedClientIndex","mptProof","accountProof","storageProof","storageValue","storageRoot","tokenAddress","srcZAssetAddress","mappingSlot","ms","Promise","resolve","setTimeout"],"sources":["../../../src/legacy/prover.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": []
4
+ }
@@ -0,0 +1,218 @@
1
+ const PRIME = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n; // BN254 Fr order
2
+ const NULLIFIER_DOMAIN = 0xdeadn;
3
+ const ADDRESS_DOMAIN = 0xdeafn;
4
+ // Poseidon2 round constants for BN254 (T=2)
5
+ // External rounds (0-2, 53-55) have pairs; internal rounds (3-52) have single constants
6
+ const RC_EXT_0 = [[0x1da4d6adfb0d0b494584f763db50a81908580a5f5e295e168b9b8d31770fac4fn, 0x0946129a2e33b4e819707a56a3b3790eab80d0a0c7a0c63451fab2a59acc074cn], [0x2a39b9d5376afd35580abd6952986570867b87303b07140268794dad4b8f82ean, 0x27605717d1245c20c546b3c7014e5fa3e4a70e66ecd6de5d32448eea5e3069b2n], [0x24c896cb2594e17b973653193a470ed7e771ebb09a228d638e50809c03773632n, 0x0911096c45dd9cda0d61d783957003db6d8701c7869a919ad8042e1b7d597a49n]];
7
+ // Internal round 3-52 constants (single)
8
+ const RC_INT = [0x26ff6166f1e4b99e27eee6d352a8ce26f1daba01aad28021f11f38a70603afdcn,
9
+ // 3
10
+ 0x008e2faedcf76d08ad6591ff90e50fea79bcb5e18cfb7d954d5b89437bf64b7en,
11
+ // 4
12
+ 0x19c9da2379b598ace3ad4d1872470830f6184a3cec71eeb632f98820eb353d78n,
13
+ // 5
14
+ 0x0f7c4eb15d8b0b62a8f6a090ec9610a2ab3dfcdb57e2539aa459a40583dfe96bn,
15
+ // 6
16
+ 0x18b99417dc26b5e079750eba282362d1d46900b47dd5ff809171588b08ac3983n,
17
+ // 7
18
+ 0x1ee044081160b3eee2d4493feab82141c73f1c054b76320a8848af08a8d91a26n,
19
+ // 8
20
+ 0x29bb95c8763efd3e0e87f5df12ee8a150455b6d7a14780d19122220366c258dcn,
21
+ // 9
22
+ 0x22c23eec9cb13ff8a3ee9a363d740653215e8991f7f9ec12067b4705e9a5c9fbn,
23
+ // 10
24
+ 0x23589e033a31a667680c8b18926c3be09115c7644c4f905cc7deefc1690b42dcn,
25
+ // 11
26
+ 0x304e99b887f2e1e92c9c0cde5f2bdd4764f60b98a219f1f0dd64ec938a6a247cn,
27
+ // 12
28
+ 0x22e817865236ad3a76fbe88bbdf31fcae792f326271d53a3a493b2de7f7d8b4cn,
29
+ // 13
30
+ 0x10c9efe573e86fa5b238a3f5c70a00bf02bc7dcfcc4878e026b77c881dc8b1c9n,
31
+ // 14
32
+ 0x0a94f16be920d85f4d6f80e745c6bddbc084f309edffef023ea283c72b89bbb6n,
33
+ // 15
34
+ 0x23ed72b4d01d14e3c7888fedb770494abc2c1ea81d6465b5df3da0ebcd69101an,
35
+ // 16
36
+ 0x17c5115640e4cebeed0e6cbb511ac38498df815a77cb162de8d8f1022eb6bb74n,
37
+ // 17
38
+ 0x2e507fcca290d0d9cf765245750eb04773e09e1fc813959fb99680a82772e4fcn,
39
+ // 18
40
+ 0x0d4a98999f5b39176af6cce65c8d12162433f055cb71d70dfc8803013292bbbfn,
41
+ // 19
42
+ 0x238d8022cc09c21ab3c01261a03dc125321d829e22a7a3b7a1bd3c335eccfa21n,
43
+ // 20
44
+ 0x010cd8e4c2b7051cb81dc8292e35d8e943ce365613d5b39770e454ed9f4ae165n,
45
+ // 21
46
+ 0x088027e54f2a3604b11178cf0ea3c6aa861173a90fb231238e03539590ecc027n,
47
+ // 22
48
+ 0x1b840f5311a2b1d4b4cd7aa7e5a9a6d161165468daa938108302b73e464819dbn,
49
+ // 23
50
+ 0x2bf51a5da1828a1cf9b764b1e16c15929a3a346e44198ea0cb366fcd8db78dc1n,
51
+ // 24
52
+ 0x206ad089d8d296ffe68a6a86767a7fe726b8872f9c7beef9d56a3a50f6f23827n,
53
+ // 25
54
+ 0x24d19193171494fa1a54e0a99ac16d05eaec4b6d617c7c199fc07ff88eac550cn,
55
+ // 26
56
+ 0x1dd654a2ca9d9f24f33d88246a40dfb32c40662278b9c0b995d9f9fbaf152138n,
57
+ // 27
58
+ 0x0d171025c925f6e259d20ecbd3a601108c85f05b0fe7793b8acf57f3789785e4n,
59
+ // 28
60
+ 0x055bef435a43aec245cd99ccb0f7c8791d9e8cf2b80d95dd98b9908fed877d55n,
61
+ // 29
62
+ 0x10d2ac8c61c8a2e88a2a3f42d9359a14be63d0ad4cfd9f203b75765d0e595f0en,
63
+ // 30
64
+ 0x103479710e70996982a84057ec3ba6b2254d7966ddc41e85296e3d0790dcfa56n,
65
+ // 31
66
+ 0x2a366f0448fda3c05914ffb48c765da8de96f9aa340db1638225f8372921807bn,
67
+ // 32
68
+ 0x16be0fb8ef62da17919b6e0378d00594153bb8899aeb686c04626b63285837a4n,
69
+ // 33
70
+ 0x0417038500e9d06c60abbc7f0d0d24c32dec8a0b2aa5a4d52cfd8c78a15bc370n,
71
+ // 34
72
+ 0x26a6873b43ffd2ccf66ec6f4493ff9b54f4d76480bc486a3e5a0308fdd013812n,
73
+ // 35
74
+ 0x0a3314a838f32630a96251914fe5ad262f3db9b2aa8aa9f7391922d36278c498n,
75
+ // 36
76
+ 0x0fde0c5429a6beb07f462d4821f48f86aeadb46a090b15a044f4b59399027da4n,
77
+ // 37
78
+ 0x0abc2d5049972a6b9b357e4163793b0bb517e1eb535a984df11a1c89cda2c8a9n,
79
+ // 38
80
+ 0x0dab51d6e3ebfa661d21722fb21e55051b427a5f173f7f17735205dbb77c464en,
81
+ // 39
82
+ 0x29c36622598b511d51af6cc37123652fb21be5c2d68fb8efe9b92e70a8c1ae03n,
83
+ // 40
84
+ 0x2c03ec80adac2a33ae846bc0b700d0bcc41c4096e53ac6990d6bbe7ea2fbc85cn,
85
+ // 41
86
+ 0x0918fdbe9cf3a59fbdb4c6852d065105317303116017d893b8b521e3cebe1e0dn,
87
+ // 42
88
+ 0x1f19ec22e69ca33f599dd13cd7e495a8176a79df4f7acf79a9d2135acabe2359n,
89
+ // 43
90
+ 0x1c4b037c8ae85ee1eb32b872eb7f76928c4c76b29ceb001346447b2911080704n,
91
+ // 44
92
+ 0x2b68900ed906616d6c826d0bde341766ba3131e04d420de5af0a69c534efd8dbn,
93
+ // 45
94
+ 0x20ca92aa222fcc69448f8dac653c8daaa180ff6dfb397cef723d4f0c782bc7f0n,
95
+ // 46
96
+ 0x10d22d05bdff6bb375276fc82057db337045a5ab7ac053941f6186289b66b2b6n,
97
+ // 47
98
+ 0x0b1ffdbb529367bb98f32ba45784cb435aa910b4a00636d1e5ca79e88bdd6cd9n,
99
+ // 48
100
+ 0x2da32b38e7984bc2ed757ec705eccf8282c7b4f82e5e515f6f89bcc33022ce9fn,
101
+ // 49
102
+ 0x042593ad87403f6d2674b8b55a886725b87eb33958031e94d292cecc6abed1bbn,
103
+ // 50
104
+ 0x181fa1b4d067783a19d7367bf49b3f01051faedab463a6de9308fbd6e7d419f1n,
105
+ // 51
106
+ 0x15aaa6cc9b7900b15683c95515c26028a8e35b00ed8a815c34927188c60de660n // 52
107
+ ];
108
+ const RC_EXT_1 = [[0x1bf28a93209084bbbc63234f057254c280b1a636f5a0eced6787320212f75a7an, 0x1cdb8c8bee5426f02cd9e229776118f156273b312f805c8e6f8c9d81a620cb6fn], [0x08299c0abf196d53162e0facb5f1876f516df2505cc387a0f8ea0e8760d5ca7en, 0x221643d205fe82778a7b7b58cb65c4962d76c0072cabd1124117269d7c710b8an], [0x2d036a95f81cf49bb7a0143a28c88767f6bd10c3f74b22db487920d43343dbffn, 0x08a50897c06aafe6ea414fb1bceca2267cd4a39486729fbc6d5d1bb7a172ebd2n]];
109
+ function addMod(a, b) {
110
+ return ((a + b) % PRIME + PRIME) % PRIME;
111
+ }
112
+ function mulMod(a, b) {
113
+ return (a * b % PRIME + PRIME) % PRIME;
114
+ }
115
+ function sbox(x) {
116
+ const x2 = mulMod(x, x);
117
+ const x4 = mulMod(x2, x2);
118
+ return mulMod(x4, x);
119
+ }
120
+ // M_ext = circ(2,1)
121
+ function matMulExternal(s0, s1) {
122
+ const sum = addMod(s0, s1);
123
+ return [addMod(sum, s0), addMod(sum, s1)];
124
+ }
125
+ // M_int = [[2,1],[1,3]]
126
+ function matMulInternal(s0, s1) {
127
+ const sum = addMod(s0, s1);
128
+ return [addMod(s0, sum), addMod(addMod(s1, s1), sum)];
129
+ }
130
+ // Poseidon2 permutation (T=2, 56 rounds) - matches gnark-crypto BN254
131
+ function permutation(state0, state1) {
132
+ let s0 = state0;
133
+ let s1 = state1;
134
+ [s0, s1] = matMulExternal(s0, s1);
135
+ // External rounds 0-2
136
+ for (let i = 0; i < 3; i++) {
137
+ s0 = addMod(s0, RC_EXT_0[i][0]);
138
+ s1 = addMod(s1, RC_EXT_0[i][1]);
139
+ s0 = sbox(s0);
140
+ s1 = sbox(s1);
141
+ [s0, s1] = matMulExternal(s0, s1);
142
+ }
143
+ // Internal rounds 3-52
144
+ for (let i = 0; i < 50; i++) {
145
+ s0 = addMod(s0, RC_INT[i]);
146
+ s0 = sbox(s0);
147
+ [s0, s1] = matMulInternal(s0, s1);
148
+ }
149
+ // External rounds 53-55
150
+ for (let i = 0; i < 3; i++) {
151
+ s0 = addMod(s0, RC_EXT_1[i][0]);
152
+ s1 = addMod(s1, RC_EXT_1[i][1]);
153
+ s0 = sbox(s0);
154
+ s1 = sbox(s1);
155
+ [s0, s1] = matMulExternal(s0, s1);
156
+ }
157
+ return [s0, s1];
158
+ }
159
+ // Merkle-Damgård with Davies-Meyer compression (matches gnark)
160
+ function poseidon2Hash(inputs) {
161
+ let hashState = 0n;
162
+ for (const block of inputs) {
163
+ const [, permutedState1] = permutation(hashState, block);
164
+ hashState = addMod(block, permutedState1);
165
+ }
166
+ return hashState;
167
+ }
168
+ function hexToBigInt(hex) {
169
+ return BigInt(hex);
170
+ }
171
+ function validateSecret(secret) {
172
+ if (secret >= PRIME) {
173
+ throw new Error(`Secret must be less than the BN254 scalar field prime (${PRIME.toString(16)})`);
174
+ }
175
+ if (secret < 0n) {
176
+ throw new Error("Secret must be non-negative");
177
+ }
178
+ }
179
+ function addressToBigInt(address) {
180
+ return BigInt(address);
181
+ }
182
+ /**
183
+ * Compute the nullifier: Poseidon2(0xDEAD || chainId || secret)
184
+ * @public
185
+ */
186
+ export function computeNullifier(secret, dstChainId) {
187
+ const secretBigInt = hexToBigInt(secret);
188
+ validateSecret(secretBigInt);
189
+ return poseidon2Hash([NULLIFIER_DOMAIN, dstChainId, secretBigInt]);
190
+ }
191
+ /**
192
+ * Generate a random secret valid for BN254 scalar field
193
+ * @public
194
+ */
195
+ export function generatePaymentKey() {
196
+ while (true) {
197
+ const bytes = new Uint8Array(32);
198
+ crypto.getRandomValues(bytes);
199
+ const value = BigInt("0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join(""));
200
+ if (value < PRIME) {
201
+ return "0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join("");
202
+ }
203
+ }
204
+ }
205
+ /**
206
+ * Compute the unspendable address: bottom 160 bits of
207
+ * Poseidon2(0xDEAF || dstChainId || secret || beneficiary1..4)
208
+ * @public
209
+ */
210
+ export function computeUnspendableAddress(secret, dstChainId, beneficiaries) {
211
+ const secretBigInt = hexToBigInt(secret);
212
+ validateSecret(secretBigInt);
213
+ const hash = poseidon2Hash([ADDRESS_DOMAIN, dstChainId, secretBigInt, addressToBigInt(beneficiaries[0]), addressToBigInt(beneficiaries[1]), addressToBigInt(beneficiaries[2]), addressToBigInt(beneficiaries[3])]);
214
+ const addressMask = (1n << 160n) - 1n;
215
+ const addressBigInt = hash & addressMask;
216
+ return `0x${addressBigInt.toString(16).padStart(40, "0")}`;
217
+ }
218
+ //# sourceMappingURL=poseidon2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poseidon2.js","names":["PRIME","NULLIFIER_DOMAIN","ADDRESS_DOMAIN","RC_EXT_0","RC_INT","RC_EXT_1","addMod","a","b","mulMod","sbox","x","x2","x4","matMulExternal","s0","s1","sum","matMulInternal","permutation","state0","state1","i","poseidon2Hash","inputs","hashState","block","permutedState1","hexToBigInt","hex","BigInt","validateSecret","secret","Error","toString","addressToBigInt","address","computeNullifier","dstChainId","secretBigInt","generatePaymentKey","bytes","Uint8Array","crypto","getRandomValues","value","Array","from","map","padStart","join","computeUnspendableAddress","beneficiaries","hash","addressMask","addressBigInt"],"sources":["../../src/poseidon2.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { flow, pipe } from "effect/Function";
3
+ import * as attestor from "../Attestor.js";
4
+ export class Attestor {
5
+ attestor;
6
+ constructor(attestor) {
7
+ this.attestor = attestor;
8
+ }
9
+ get get() {
10
+ return flow(this.attestor.get, Effect.runPromise);
11
+ }
12
+ }
13
+ export const make = options => pipe(attestor.Attestor.Default(options), Layer.build, Effect.map(Context.get(attestor.Attestor)), Effect.map(client => new Attestor(client)), Effect.scoped, Effect.runPromise);
14
+ //# sourceMappingURL=Attestor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Attestor.js","names":["Context","Effect","Layer","flow","pipe","attestor","Attestor","constructor","get","runPromise","make","options","Default","build","map","client","scoped"],"sources":["../../../src/promises/Attestor.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AAC/C,SAASC,IAAI,EAAEC,IAAI,QAAQ,iBAAiB;AAC5C,OAAO,KAAKC,QAAQ,MAAM,gBAAgB;AAE1C,OAAM,MAAOC,QAAQ;EACVD,QAAQ;EACjBE,YAAYF,QAA2B;IACrC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC1B;EACA,IAAIG,GAAGA,CAAA;IACL,OAAOL,IAAI,CAAC,IAAI,CAACE,QAAQ,CAACG,GAAG,EAAEP,MAAM,CAACQ,UAAU,CAAC;EACnD;;AAGF,OAAO,MAAMC,IAAI,GACfC,OAAwD,IAExDP,IAAI,CACFC,QAAQ,CAACC,QAAQ,CAACM,OAAO,CAACD,OAAO,CAAC,EAClCT,KAAK,CAACW,KAAK,EACXZ,MAAM,CAACa,GAAG,CAACd,OAAO,CAACQ,GAAG,CAACH,QAAQ,CAACC,QAAQ,CAAC,CAAC,EAC1CL,MAAM,CAACa,GAAG,CAAEC,MAAM,IAAK,IAAIT,QAAQ,CAACS,MAAM,CAAC,CAAC,EAC5Cd,MAAM,CAACe,MAAM,EACbf,MAAM,CAACQ,UAAU,CAClB","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { flow } from "effect/Function";
3
+ import * as evmPublicClient from "../EvmPublicClient.js";
4
+ import * as publicClient from "../PublicClient.js";
5
+ import * as PublicClient from "./PublicClient.js";
6
+ export class EvmPublicClient extends PublicClient.PublicClient {
7
+ evmClient;
8
+ constructor({
9
+ client,
10
+ evmClient
11
+ }) {
12
+ super(client);
13
+ this.evmClient = evmClient;
14
+ }
15
+ get waitForTransactionReceipt() {
16
+ return flow(this.evmClient.waitForTransactionReceipt, Effect.runPromise);
17
+ }
18
+ get simulateCalls() {
19
+ return flow(this.evmClient.simulateCalls, Effect.runPromise);
20
+ }
21
+ }
22
+ export const fromViem = /*#__PURE__*/flow(evmPublicClient.layerFromViem, Layer.build, /*#__PURE__*/Effect.map(ctx => ({
23
+ evmClient: Context.get(ctx, evmPublicClient.EvmPublicClient),
24
+ client: Context.get(ctx, publicClient.PublicClient)
25
+ })), /*#__PURE__*/Effect.map(args => new EvmPublicClient(args)), Effect.scoped, Effect.runPromise);
26
+ //# sourceMappingURL=EvmPublicClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmPublicClient.js","names":["Context","Effect","Layer","flow","evmPublicClient","publicClient","PublicClient","EvmPublicClient","evmClient","constructor","client","waitForTransactionReceipt","runPromise","simulateCalls","fromViem","layerFromViem","build","map","ctx","get","args","scoped"],"sources":["../../../src/promises/EvmPublicClient.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,eAAe,MAAM,uBAAuB;AACxD,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAClD,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD,OAAM,MAAOC,eAAgB,SAAQD,YAAY,CAACA,YAAY;EACpDE,SAAS;EAEjBC,YAAY;IACVC,MAAM;IACNF;EAAS,CAIV;IACC,KAAK,CAACE,MAAM,CAAC;IACb,IAAI,CAACF,SAAS,GAAGA,SAAS;EAC5B;EAEA,IAAIG,yBAAyBA,CAAA;IAC3B,OAAOR,IAAI,CAAC,IAAI,CAACK,SAAS,CAACG,yBAAyB,EAAEV,MAAM,CAACW,UAAU,CAAC;EAC1E;EACA,IAAIC,aAAaA,CAAA;IACf,OAAOV,IAAI,CAAC,IAAI,CAACK,SAAS,CAACK,aAAa,EAAEZ,MAAM,CAACW,UAAU,CAAC;EAC9D;;AAGF,OAAO,MAAME,QAAQ,gBAAGX,IAAI,CAC1BC,eAAe,CAACW,aAAa,EAC7Bb,KAAK,CAACc,KAAK,eACXf,MAAM,CAACgB,GAAG,CAAEC,GAAG,KAAM;EACnBV,SAAS,EAAER,OAAO,CAACmB,GAAG,CAACD,GAAG,EAAEd,eAAe,CAACG,eAAe,CAAC;EAC5DG,MAAM,EAAEV,OAAO,CAACmB,GAAG,CAACD,GAAG,EAAEb,YAAY,CAACC,YAAY;CACnD,CAAC,CAAC,eACHL,MAAM,CAACgB,GAAG,CAAEG,IAAI,IAAK,IAAIb,eAAe,CAACa,IAAI,CAAC,CAAC,EAC/CnB,MAAM,CAACoB,MAAM,EACbpB,MAAM,CAACW,UAAU,CAClB","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { flow } from "effect/Function";
3
+ import * as evmWalletClient from "../EvmWalletClient.js";
4
+ import * as walletClient from "../WalletClient.js";
5
+ import * as WalletClient from "./WalletClient.js";
6
+ // import type * as ThirdwebAdaptersViem from "thirdweb/adapters/viem"
7
+ export class EvmWalletClient extends WalletClient.WalletClient {
8
+ constructor({
9
+ client
10
+ }) {
11
+ super(client);
12
+ }
13
+ }
14
+ export const fromViem = /*#__PURE__*/flow(evmWalletClient.layerFromViem, Layer.build, /*#__PURE__*/Effect.map(ctx => ({
15
+ evmClient: Context.get(ctx, evmWalletClient.EvmWalletClient),
16
+ client: Context.get(ctx, walletClient.WalletClient)
17
+ })), /*#__PURE__*/Effect.map(args => new EvmWalletClient(args)), Effect.scoped, Effect.runPromise);
18
+ /**
19
+ * @category layers
20
+ * @since 1.0.0
21
+ */
22
+ export const fromBrowser = /*#__PURE__*/flow(evmWalletClient.layerFromBrowser, Layer.build, /*#__PURE__*/Effect.map(ctx => ({
23
+ evmClient: Context.get(ctx, evmWalletClient.EvmWalletClient),
24
+ client: Context.get(ctx, walletClient.WalletClient)
25
+ })), /*#__PURE__*/Effect.map(args => new EvmWalletClient(args)), Effect.scoped, Effect.runPromise);
26
+ // /**
27
+ // * @category layers
28
+ // * @since 1.0.0
29
+ // */
30
+ // export const fromThirdweb = (
31
+ // ...options: Parameters<typeof ThirdwebAdaptersViem['viemAdapter']['wallet']['toViem']>
32
+ // ) => pipe(
33
+ // Evm.layerFromThirdweb(...options),
34
+ // Layer.build,
35
+ // Effect.map((ctx) => ({
36
+ // evmClient: Context.get(ctx, Evm.EvmWalletClient),
37
+ // client: Context.get(ctx, Client.WalletClient),
38
+ // })),
39
+ // Effect.map((args) => new EvmWalletClient(args)),
40
+ // Effect.scoped,
41
+ // Effect.runPromise
42
+ // )
43
+ //# sourceMappingURL=EvmWalletClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmWalletClient.js","names":["Context","Effect","Layer","flow","evmWalletClient","walletClient","WalletClient","EvmWalletClient","constructor","client","fromViem","layerFromViem","build","map","ctx","evmClient","get","args","scoped","runPromise","fromBrowser","layerFromBrowser"],"sources":["../../../src/promises/EvmWalletClient.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,eAAe,MAAM,uBAAuB;AACxD,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAClD,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AACjD;AAEA,OAAM,MAAOC,eAAgB,SAAQD,YAAY,CAACA,YAAY;EAC5DE,YAAY;IACVC;EAAM,CAIP;IACC,KAAK,CAACA,MAAM,CAAC;EACf;;AAGF,OAAO,MAAMC,QAAQ,gBAAGP,IAAI,CAC1BC,eAAe,CAACO,aAAa,EAC7BT,KAAK,CAACU,KAAK,eACXX,MAAM,CAACY,GAAG,CAAEC,GAAG,KAAM;EACnBC,SAAS,EAAEf,OAAO,CAACgB,GAAG,CAACF,GAAG,EAAEV,eAAe,CAACG,eAAe,CAAC;EAC5DE,MAAM,EAAET,OAAO,CAACgB,GAAG,CAACF,GAAG,EAAET,YAAY,CAACC,YAAY;CACnD,CAAC,CAAC,eACHL,MAAM,CAACY,GAAG,CAAEI,IAAI,IAAK,IAAIV,eAAe,CAACU,IAAI,CAAC,CAAC,EAC/ChB,MAAM,CAACiB,MAAM,EACbjB,MAAM,CAACkB,UAAU,CAClB;AAED;;;;AAIA,OAAO,MAAMC,WAAW,gBAAGjB,IAAI,CAC7BC,eAAe,CAACiB,gBAAgB,EAChCnB,KAAK,CAACU,KAAK,eACXX,MAAM,CAACY,GAAG,CAAEC,GAAG,KAAM;EACnBC,SAAS,EAAEf,OAAO,CAACgB,GAAG,CAACF,GAAG,EAAEV,eAAe,CAACG,eAAe,CAAC;EAC5DE,MAAM,EAAET,OAAO,CAACgB,GAAG,CAACF,GAAG,EAAET,YAAY,CAACC,YAAY;CACnD,CAAC,CAAC,eACHL,MAAM,CAACY,GAAG,CAAEI,IAAI,IAAK,IAAIV,eAAe,CAACU,IAAI,CAAC,CAAC,EAC/ChB,MAAM,CAACiB,MAAM,EACbjB,MAAM,CAACkB,UAAU,CAClB;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { Effect, Layer, Struct } from "effect";
2
+ import { constant, flow, pipe } from "effect/Function";
3
+ import * as attestor from "../Attestor.js";
4
+ import * as payment from "../Payment.js";
5
+ import * as prover from "../Prover.js";
6
+ import * as publicClient from "../PublicClient.js";
7
+ import * as walletClient from "../WalletClient.js";
8
+ export const generateKey = /*#__PURE__*/constant(/*#__PURE__*/pipe(payment.generateKey, Effect.runPromise));
9
+ export const prepareDeposit = options => pipe(payment.prepareDeposit(pipe(options, Struct.omit("sourceWalletClient"))), Effect.provide(Layer.succeed(walletClient.SourceWalletClient, options.sourceWalletClient.client)), Effect.runPromise);
10
+ export const prepareRedemption = options => pipe(payment.prepareRedemption(pipe(options, Struct.omit("sourceWalletClient"), Struct.omit("publicClient"), Struct.omit("destinationWalletClient"), Struct.omit("destinationPublicClient"), Struct.omit("sourcePublicClient"), Struct.omit("attestor"), Struct.omit("prover"))), Effect.provide([Layer.succeed(walletClient.SourceWalletClient, options.sourceWalletClient.client), Layer.succeed(publicClient.PublicClient, options.publicClient.client), Layer.succeed(walletClient.DestinationWalletClient, options.destinationWalletClient.client), Layer.succeed(publicClient.DestinationPublicClient, options.destinationPublicClient.client), Layer.succeed(publicClient.SourcePublicClient, options.sourcePublicClient.client), Layer.succeed(attestor.Attestor, options.attestor.attestor), Layer.succeed(prover.Prover, options.prover.prover)]), Effect.runPromise);
11
+ export const getNullifier = /*#__PURE__*/flow(payment.getNullifier, Effect.runPromise);
12
+ export const getDepositAddress = /*#__PURE__*/flow(payment.getDepositAddress, Effect.runPromise);
13
+ //# sourceMappingURL=Payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payment.js","names":["Effect","Layer","Struct","constant","flow","pipe","attestor","payment","prover","publicClient","walletClient","generateKey","runPromise","prepareDeposit","options","omit","provide","succeed","SourceWalletClient","sourceWalletClient","client","prepareRedemption","PublicClient","DestinationWalletClient","destinationWalletClient","DestinationPublicClient","destinationPublicClient","SourcePublicClient","sourcePublicClient","Attestor","Prover","getNullifier","getDepositAddress"],"sources":["../../../src/promises/Payment.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,KAAK,EAAEC,MAAM,QAAQ,QAAQ;AAC9C,SAASC,QAAQ,EAAEC,IAAI,EAAEC,IAAI,QAAQ,iBAAiB;AACtD,OAAO,KAAKC,QAAQ,MAAM,gBAAgB;AAC1C,OAAO,KAAKC,OAAO,MAAM,eAAe;AACxC,OAAO,KAAKC,MAAM,MAAM,cAAc;AACtC,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAClD,OAAO,KAAKC,YAAY,MAAM,oBAAoB;AAMlD,OAAO,MAAMC,WAAW,gBAAGR,QAAQ,cACjCE,IAAI,CAACE,OAAO,CAACI,WAAW,EAAEX,MAAM,CAACY,UAAU,CAAC,CAC7C;AAED,OAAO,MAAMC,cAAc,GACzBC,OAEgD,IAEhDT,IAAI,CACFE,OAAO,CAACM,cAAc,CAACR,IAAI,CAACS,OAAO,EAAEZ,MAAM,CAACa,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EACxEf,MAAM,CAACgB,OAAO,CACZf,KAAK,CAACgB,OAAO,CACXP,YAAY,CAACQ,kBAAkB,EAC/BJ,OAAO,CAACK,kBAAkB,CAACC,MAAM,CAClC,CACF,EACDpB,MAAM,CAACY,UAAU,CAClB;AAEH,OAAO,MAAMS,iBAAiB,GAC5BP,OAQmD,IAEnDT,IAAI,CACFE,OAAO,CAACc,iBAAiB,CACvBhB,IAAI,CACFS,OAAO,EACPZ,MAAM,CAACa,IAAI,CAAC,oBAAoB,CAAC,EACjCb,MAAM,CAACa,IAAI,CAAC,cAAc,CAAC,EAC3Bb,MAAM,CAACa,IAAI,CAAC,yBAAyB,CAAC,EACtCb,MAAM,CAACa,IAAI,CAAC,yBAAyB,CAAC,EACtCb,MAAM,CAACa,IAAI,CAAC,oBAAoB,CAAC,EACjCb,MAAM,CAACa,IAAI,CAAC,UAAU,CAAC,EACvBb,MAAM,CAACa,IAAI,CAAC,QAAQ,CAAC,CACtB,CACF,EACDf,MAAM,CAACgB,OAAO,CAAC,CACbf,KAAK,CAACgB,OAAO,CACXP,YAAY,CAACQ,kBAAkB,EAC/BJ,OAAO,CAACK,kBAAkB,CAACC,MAAM,CAClC,EACDnB,KAAK,CAACgB,OAAO,CAACR,YAAY,CAACa,YAAY,EAAER,OAAO,CAACL,YAAY,CAACW,MAAM,CAAC,EACrEnB,KAAK,CAACgB,OAAO,CACXP,YAAY,CAACa,uBAAuB,EACpCT,OAAO,CAACU,uBAAuB,CAACJ,MAAM,CACvC,EACDnB,KAAK,CAACgB,OAAO,CACXR,YAAY,CAACgB,uBAAuB,EACpCX,OAAO,CAACY,uBAAuB,CAACN,MAAM,CACvC,EACDnB,KAAK,CAACgB,OAAO,CACXR,YAAY,CAACkB,kBAAkB,EAC/Bb,OAAO,CAACc,kBAAkB,CAACR,MAAM,CAClC,EACDnB,KAAK,CAACgB,OAAO,CAACX,QAAQ,CAACuB,QAAQ,EAAEf,OAAO,CAACR,QAAQ,CAACA,QAAQ,CAAC,EAC3DL,KAAK,CAACgB,OAAO,CAACT,MAAM,CAACsB,MAAM,EAAEhB,OAAO,CAACN,MAAM,CAACA,MAAM,CAAC,CACpD,CAAC,EACFR,MAAM,CAACY,UAAU,CAClB;AAEH,OAAO,MAAMmB,YAAY,gBAAG3B,IAAI,CAACG,OAAO,CAACwB,YAAY,EAAE/B,MAAM,CAACY,UAAU,CAAC;AAEzE,OAAO,MAAMoB,iBAAiB,gBAAG5B,IAAI,CACnCG,OAAO,CAACyB,iBAAiB,EACzBhC,MAAM,CAACY,UAAU,CAClB","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ import { flow, pipe } from "effect/Function";
3
+ import * as prover from "../Prover.js";
4
+ export class Prover {
5
+ prover;
6
+ constructor(prover) {
7
+ this.prover = prover;
8
+ }
9
+ get exportVerifier() {
10
+ return pipe(this.prover.exportVerifier, Effect.runPromise);
11
+ }
12
+ get generateProof() {
13
+ return flow(this.prover.generateProof, Effect.runPromise);
14
+ }
15
+ }
16
+ export const make = options => pipe(prover.Prover.Default(options), Layer.build, Effect.map(Context.get(prover.Prover)), Effect.map(client => new Prover(client)), Effect.scoped, Effect.runPromise);
17
+ //# sourceMappingURL=Prover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prover.js","names":["Context","Effect","Layer","flow","pipe","prover","Prover","constructor","exportVerifier","runPromise","generateProof","make","options","Default","build","map","get","client","scoped"],"sources":["../../../src/promises/Prover.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,EAAEC,KAAK,QAAQ,QAAQ;AAC/C,SAASC,IAAI,EAAEC,IAAI,QAAQ,iBAAiB;AAC5C,OAAO,KAAKC,MAAM,MAAM,cAAc;AAEtC,OAAM,MAAOC,MAAM;EACRD,MAAM;EACfE,YAAYF,MAAqB;IAC/B,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EACA,IAAIG,cAAcA,CAAA;IAChB,OAAOJ,IAAI,CAAC,IAAI,CAACC,MAAM,CAACG,cAAc,EAAEP,MAAM,CAACQ,UAAU,CAAC;EAC5D;EACA,IAAIC,aAAaA,CAAA;IACf,OAAOP,IAAI,CAAC,IAAI,CAACE,MAAM,CAACK,aAAa,EAAET,MAAM,CAACQ,UAAU,CAAC;EAC3D;;AAGF,OAAO,MAAME,IAAI,GAAIC,OAAoD,IACvER,IAAI,CACFC,MAAM,CAACC,MAAM,CAACO,OAAO,CAACD,OAAO,CAAC,EAC9BV,KAAK,CAACY,KAAK,EACXb,MAAM,CAACc,GAAG,CAACf,OAAO,CAACgB,GAAG,CAACX,MAAM,CAACC,MAAM,CAAC,CAAC,EACtCL,MAAM,CAACc,GAAG,CAAEE,MAAM,IAAK,IAAIX,MAAM,CAACW,MAAM,CAAC,CAAC,EAC1ChB,MAAM,CAACiB,MAAM,EACbjB,MAAM,CAACQ,UAAU,CAClB","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ import { Effect } from "effect";
2
+ import { flow } from "effect/Function";
3
+ import * as client from "../PublicClient.js";
4
+ export class PublicClient {
5
+ [client.TypeId] = client.TypeId;
6
+ safe = this;
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ get waitForBlock() {
12
+ return flow(this.client.waitForBlock, Effect.runPromise);
13
+ }
14
+ get getLatestHeight() {
15
+ return flow(this.client.getLatestHeight, Effect.runPromise);
16
+ }
17
+ get getLatestBlockNumber() {
18
+ return flow(this.client.getLatestBlockNumber, Effect.runPromise);
19
+ }
20
+ get readBalance() {
21
+ return flow(this.client.readBalance, Effect.runPromise);
22
+ }
23
+ get readBalanceAtHeight() {
24
+ return flow(this.client.readBalanceAtHeight, Effect.runPromise);
25
+ }
26
+ get getLightClientAddress() {
27
+ return flow(this.client.getLightClientAddress, Effect.runPromise);
28
+ }
29
+ get getStateRootIndex() {
30
+ return flow(this.client.getStateRootIndex, Effect.runPromise);
31
+ }
32
+ get getConsensusState() {
33
+ return flow(this.client.getConsensusState, Effect.runPromise);
34
+ }
35
+ get getIbcHandlerAddress() {
36
+ return flow(this.client.getIbcHandlerAddress, Effect.runPromise);
37
+ }
38
+ get getCounterparty() {
39
+ return flow(this.client.getCounterparty, Effect.runPromise);
40
+ }
41
+ get getProof() {
42
+ return flow(this.client.getProof, Effect.runPromise);
43
+ }
44
+ }
45
+ //# sourceMappingURL=PublicClient.js.map