@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":"EvmWalletClient.js","names":["A","Brand","Context","Effect","pipe","Layer","Number","Ref","Abi","ZAssetRegistry","Domain","Error","EvmPublicClient","Client","TypeId","EvmWalletClient","GenericTag","makeViem","wallet","gen","Viem","tryPromise","try","then","x","catch","cause","SystemError","reason","method","module","description","ViemActions","publicClient","createPublicClient","chain","transport","custom","flatMap","transactionCount","getTransactionCount","address","account","blockTag","make","encodeFunctionData","fn","parameters","writeContract","params","map","hash","SubmissionResult","viemWriteContract","nominal","prepareTransactionRequest","get","nonce","tap","update","increment","prepareBatchTransactionRequest","calls","chainNonce","set","log","simulationResult","simulateCalls","call","to","data","value","results","gasEstimates","r","gasUsed","BigInt","undefined","prepared","i","length","gas","request","push","signTransaction","sendRawTransaction","sign","liftPredicate","PreparedRequest","$is","SignedRequest","viem","submit","serializedTransaction","signAndSubmit","sendTransaction","approveZAssetToSpendErc20","args","getZAsset","srcErc20Address","mapError","zAsset","abi","ERC20_ABI","functionName","amount","kind","updateLoopbackClient","clientId","height","ibcHandlerAddress","extend","publicActions","blockNumber","block","getBlock","toRlpHex","hex","toString","headerFields","parentHash","sha3Uncles","miner","stateRoot","transactionsRoot","receiptsRoot","logsBloom","repeat","difficulty","number","gasLimit","timestamp","extraData","mixHash","baseFeePerGas","withdrawalsRoot","blobGasUsed","excessBlobGas","parentBeaconBlockRoot","blockAny","requestsHash","rlpEncoded","toRlp","computedHash","keccak256","clientMessage","encodeAbiParameters","type","name","LIGHTCLIENT_ABI","inputs","outputs","stateMutability","currentBlock","getBlockNumber","sleep","loopbackClient","readContract","IBC_STORE_ABI","depositUnderlyingZAsset","zAssetAddr","ZASSET_ABI","transferZAsset","depositAddress","prepareDeposit","zAssetAddress","Z_ASSET_REGISTRY","sourceChainId","approvalData","depositData","transferData","all","concurrency","preparedTxs","approval","deposit","transfer","prepareRedemption","dstErc20Address","proof","commitments","commitmentPok","lightClients","nullifier","beneficiary","attestedMessage","signature","unwrap","Object","assign","layerFromViem","config","scopedContext","client","add","WalletClient","makeBrowser","options","Mipd","store","createStore","providers","getProviders","selected","findFirst","providerPredicate","provider","accountPredicate","catchTag","ViemChains","createWalletClient","base","layerFromBrowser","unwrapScoped"],"sources":["../../src/EvmWalletClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * - for deposits you only need to sign on the source chain
3
+ * - for redemptions you need wallet on dest chain
4
+ */
5
+ import { Effect, pipe } from "effect";
6
+ import * as A from "effect/Array";
7
+ import { encodePacked, hexToBigInt, hexToBytes, keccak256, padHex, sha256, toHex } from "viem";
8
+ import * as Attestor from "./Attestor.js";
9
+ import * as Constants from "./Constants.js";
10
+ import * as ZAssetRegistry from "./constants/z-asset-registry.js";
11
+ import * as Domain from "./Domain.js";
12
+ import * as Error from "./Error.js";
13
+ import * as Prover from "./Prover.js";
14
+ import * as PublicClient from "./PublicClient.js";
15
+ import * as Poseidon2 from "./poseidon2.js";
16
+ import * as Utils from "./Utils.js";
17
+ import * as WalletClient from "./WalletClient.js";
18
+ // TODO: into poseidon2 module
19
+ const PRIME = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n; // BN254 Fr order
20
+ export const getDepositAddress = /*#__PURE__*/Effect.fn("getDepositAddress")((secret, beneficiaries, destinationChainId) => Effect.gen(function* () {
21
+ const paddedBeneficiaries = yield* padBeneficiaries(beneficiaries);
22
+ const unspendableAddress = Poseidon2.computeUnspendableAddress(secret, destinationChainId, paddedBeneficiaries);
23
+ return Domain.ZAssetAddress(unspendableAddress);
24
+ }));
25
+ const padBeneficiaries = /*#__PURE__*/Effect.fn("padBeneficiaries")(beneficiaries => Effect.gen(function* () {
26
+ if (beneficiaries.length > 4) {
27
+ // throw new Error("Maximum 4 beneficiaries allowed");
28
+ return yield* new Error.SystemError({
29
+ method: "padBeneficiaries",
30
+ module: "PaymentClient",
31
+ reason: "InvalidData",
32
+ description: "Maximum 4 beneficiaries allowed"
33
+ });
34
+ }
35
+ const padded = [beneficiaries[0] ?? Constants.ZERO_ADDRESS, beneficiaries[1] ?? Constants.ZERO_ADDRESS, beneficiaries[2] ?? Constants.ZERO_ADDRESS, beneficiaries[3] ?? Constants.ZERO_ADDRESS];
36
+ return padded;
37
+ }));
38
+ export const getNullifier = /*#__PURE__*/Effect.fn("getNullifier")((secret, destinationChainId) => Effect.try({
39
+ try: () => Poseidon2.computeNullifier(secret, destinationChainId),
40
+ catch: cause => new Error.SystemError({
41
+ method: "getNullifier",
42
+ module: "PaymentClient",
43
+ reason: "InvalidData",
44
+ cause
45
+ })
46
+ }));
47
+ /**
48
+ * Deterministically shuffle light clients using the secret as seed.
49
+ * Same secret always produces the same ordering for privacy.
50
+ * @public
51
+ */
52
+ export function deterministicShuffleClients(clients, secret) {
53
+ if (clients.length <= 1) {
54
+ return [...clients];
55
+ }
56
+ // Seed = SHA256(secret || clientHeights as big-endian uint64s)
57
+ const secretBytes = hexToBytes(secret);
58
+ const heightsBytes = new Uint8Array(clients.length * 8);
59
+ for (let i = 0; i < clients.length; i++) {
60
+ const view = new DataView(heightsBytes.buffer, i * 8, 8);
61
+ view.setBigUint64(0, clients[i].height, false);
62
+ }
63
+ const combined = new Uint8Array(secretBytes.length + heightsBytes.length);
64
+ combined.set(secretBytes, 0);
65
+ combined.set(heightsBytes, secretBytes.length);
66
+ const seedHex = sha256(combined);
67
+ const seed = hexToBytes(seedHex);
68
+ // Fisher-Yates shuffle with deterministic PRNG
69
+ const shuffled = [...clients];
70
+ let seedIndex = 0;
71
+ for (let i = shuffled.length - 1; i > 0; i--) {
72
+ const randomByte = seed[seedIndex % seed.length];
73
+ seedIndex++;
74
+ const j = randomByte % (i + 1);
75
+ [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
76
+ }
77
+ return shuffled;
78
+ }
79
+ export const computeStorageSlot = /*#__PURE__*/Effect.fn("computeStorageSlot")(function* (address, mappingSlot) {
80
+ const paddedAddress = padHex(address, {
81
+ size: 32
82
+ });
83
+ const paddedSlot = padHex(toHex(mappingSlot), {
84
+ size: 32
85
+ });
86
+ return yield* Effect.succeed(keccak256(encodePacked(["bytes32", "bytes32"], [paddedAddress, paddedSlot])));
87
+ });
88
+ const fetchMptProof = /*#__PURE__*/Effect.fn(function* (options) {
89
+ yield* Effect.log(options);
90
+ const srcClient = yield* PublicClient.SourcePublicClient;
91
+ const proof = yield* srcClient.getProof({
92
+ address: options.tokenAddress,
93
+ storageKeys: [options.storageSlot],
94
+ blockNumber: options.blockNumber
95
+ });
96
+ let storageProof = [];
97
+ let storageValue = "0x0";
98
+ if (proof.storageProof.length > 0 && proof.storageProof[0]) {
99
+ storageProof = proof.storageProof[0].proof;
100
+ storageValue = toHex(proof.storageProof[0].value);
101
+ }
102
+ const obj = {
103
+ accountProof: proof.accountProof,
104
+ storageProof,
105
+ storageValue,
106
+ storageRoot: proof.storageHash
107
+ };
108
+ yield* Effect.log("[fetchMptProof]", obj);
109
+ return obj;
110
+ });
111
+ export const generateProof = /*#__PURE__*/Effect.fn(function* (options) {
112
+ if (!options.clientIds.includes(options.selectedClientId)) {
113
+ return yield* Effect.fail({
114
+ proof: {
115
+ success: false,
116
+ error: `selectedClientId ${options.selectedClientId} not in clientIds`
117
+ }
118
+ });
119
+ }
120
+ if (options.beneficiary === Constants.ZERO_ADDRESS) {
121
+ return yield* Effect.fail({
122
+ proof: {
123
+ success: false,
124
+ error: "Beneficiary address cannot be zero"
125
+ }
126
+ });
127
+ }
128
+ const srcZAssetAddress = yield* ZAssetRegistry.getZAssetOrError(options.srcChainId, options.srcErc20Address);
129
+ const dstZAssetAddress = yield* ZAssetRegistry.getZAssetOrError(options.dstChainId, options.dstErc20Address);
130
+ const prover = yield* Prover.Prover;
131
+ const destinationPublicClient = yield* PublicClient.DestinationPublicClient;
132
+ const paddedBeneficiaries = yield* padBeneficiaries(options.beneficiaries);
133
+ const depositAddress = yield* getDepositAddress(options.secret, options.beneficiaries, options.dstChainId);
134
+ const lightClients = yield* fetchLightClients({
135
+ zAssetAddress: dstZAssetAddress,
136
+ clientIds: options.clientIds
137
+ });
138
+ if (!A.isNonEmptyReadonlyArray(lightClients)) {
139
+ return yield* new Error.SystemError({
140
+ module: "PaymentClient",
141
+ method: "generateProof",
142
+ reason: "InvalidData",
143
+ description: "No valid light clients found"
144
+ });
145
+ }
146
+ // Deterministic shuffle: same secret always produces the same ordering for privacy
147
+ const shuffled = deterministicShuffleClients(lightClients, options.secret);
148
+ const selectedClientIndex = yield* pipe(A.findFirstIndex(shuffled, c => c.clientId === options.selectedClientId), Effect.mapError(cause => new Error.SystemError({
149
+ module: "PaymentClient",
150
+ method: "generateProof",
151
+ reason: "InvalidData",
152
+ cause,
153
+ description: `Client not found after fetching`
154
+ })));
155
+ const selectedClient = A.unsafeGet(shuffled, selectedClientIndex);
156
+ const {
157
+ tokenAddressKey,
158
+ balanceSlot
159
+ } = yield* destinationPublicClient.getCounterparty(dstZAssetAddress, options.selectedClientId);
160
+ // Check if counterparty is configured for this light client
161
+ const ZERO_BYTES32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
162
+ yield* Effect.log({
163
+ balanceSlot
164
+ });
165
+ if (balanceSlot === ZERO_BYTES32 || tokenAddressKey === ZERO_BYTES32) {
166
+ return yield* new Error.SystemError({
167
+ module: "PaymentClient",
168
+ method: "generateProof",
169
+ reason: "InvalidData",
170
+ description: `Light client is not configured as a counterparty on the destination ZAsset. ` + `Please call setCounterparty() on the ZAsset contract first.`
171
+ });
172
+ }
173
+ const mappingSlot = hexToBigInt(balanceSlot);
174
+ yield* Effect.log({
175
+ mappingSlot
176
+ });
177
+ const nullifier = yield* getNullifier(options.secret, options.dstChainId);
178
+ // Check balance at the selected light client's height
179
+ const balance = yield* destinationPublicClient.readBalanceAtHeight({
180
+ srcErc20Address: options.srcErc20Address,
181
+ dstErc20Address: options.dstErc20Address,
182
+ srcChainId: options.srcChainId,
183
+ dstChainId: options.dstChainId,
184
+ depositAddress,
185
+ nullifier,
186
+ height: selectedClient.height
187
+ });
188
+ if (options.amount > balance.available) {
189
+ return yield* new Error.SystemError({
190
+ module: "PaymentClient",
191
+ method: "generateProof",
192
+ reason: "InvalidData",
193
+ description: `Insufficient available balance. Requested: ${options.amount}, Available: ${balance.available} ` + `(Confirmed at height ${selectedClient.height}: ${balance.confirmed}, Already redeemed: ${balance.redeemed})`
194
+ });
195
+ }
196
+ const storageSlot = yield* computeStorageSlot(depositAddress, mappingSlot);
197
+ const mptProof = yield* fetchMptProof({
198
+ tokenAddress: srcZAssetAddress,
199
+ storageSlot,
200
+ blockNumber: selectedClient.height
201
+ });
202
+ const witness = {
203
+ secret: options.secret,
204
+ dstChainId: options.dstChainId,
205
+ beneficiaries: paddedBeneficiaries,
206
+ beneficiary: options.beneficiary,
207
+ redeemAmount: options.amount,
208
+ alreadyRedeemed: balance.redeemed,
209
+ lightClients: shuffled,
210
+ selectedClientIndex,
211
+ mptProof,
212
+ srcZAssetAddress: srcZAssetAddress,
213
+ mappingSlot: `0x${mappingSlot.toString(16)}`
214
+ };
215
+ const proofResult = yield* prover.generateProof(witness);
216
+ yield* Effect.log({
217
+ proofResult
218
+ });
219
+ return {
220
+ proof: proofResult,
221
+ metadata: {
222
+ depositAddress,
223
+ beneficiary: options.beneficiary,
224
+ value: options.amount,
225
+ lightClients: shuffled,
226
+ nullifier
227
+ }
228
+ };
229
+ });
230
+ const fetchLightClients = /*#__PURE__*/Effect.fn(function* (options) {
231
+ const {
232
+ zAssetAddress,
233
+ clientIds
234
+ } = options;
235
+ const dstClient = yield* PublicClient.PublicClient;
236
+ const ibcHandlerAddress = yield* dstClient.getIbcHandlerAddress(zAssetAddress);
237
+ const results = [];
238
+ for (const clientId of clientIds) {
239
+ const lightClientAddress = yield* dstClient.getLightClientAddress(ibcHandlerAddress, clientId);
240
+ const height = yield* dstClient.getLatestHeight(lightClientAddress, clientId);
241
+ const stateRootIndex = yield* dstClient.getStateRootIndex(zAssetAddress, clientId);
242
+ const {
243
+ stateRoot
244
+ } = yield* dstClient.getConsensusState(lightClientAddress, clientId, height, stateRootIndex);
245
+ results.push({
246
+ clientId,
247
+ height,
248
+ stateRoot
249
+ });
250
+ }
251
+ return results;
252
+ });
253
+ export const prepareRedemption = /*#__PURE__*/Effect.fn(function* (options) {
254
+ const dstWalletClient = yield* WalletClient.DestinationWalletClient;
255
+ const attestor = yield* Attestor.Attestor;
256
+ // 1. Generate proof
257
+ const proofResult = yield* generateProof({
258
+ secret: options.paymentKey,
259
+ beneficiaries: options.beneficiaries,
260
+ beneficiary: options.beneficiary,
261
+ amount: options.amount,
262
+ clientIds: options.clientIds,
263
+ selectedClientId: options.selectedClientId,
264
+ srcChainId: options.srcChainId,
265
+ dstChainId: options.dstChainId,
266
+ srcErc20Address: options.srcErc20Address,
267
+ dstErc20Address: options.dstErc20Address
268
+ });
269
+ yield* Effect.log({
270
+ proofResult
271
+ });
272
+ const depositAddress = yield* getDepositAddress(options.paymentKey, options.beneficiaries, options.dstChainId);
273
+ yield* Effect.log({
274
+ depositAddress
275
+ });
276
+ // 2. Get attestation
277
+ const attestationResponse = yield* attestor.get({
278
+ unspendableAddress: depositAddress,
279
+ beneficiary: options.beneficiary
280
+ });
281
+ yield* Effect.log({
282
+ attestationResponse
283
+ });
284
+ // 3. Build redeem params
285
+ const redeemParams = Utils.proofJsonToRedeemParams(proofResult.proof, {
286
+ lightClients: proofResult.metadata.lightClients,
287
+ nullifier: proofResult.metadata.nullifier,
288
+ value: proofResult.metadata.value,
289
+ beneficiary: proofResult.metadata.beneficiary,
290
+ attestedMessage: attestationResponse.attestedMessage,
291
+ signature: attestationResponse.signature
292
+ });
293
+ yield* Effect.log({
294
+ redeemParams
295
+ });
296
+ return yield* dstWalletClient.prepareRedemption({
297
+ ...redeemParams,
298
+ dstErc20Address: options.dstErc20Address
299
+ });
300
+ });
301
+ export const generateKey = /*#__PURE__*/Effect.gen(function* () {
302
+ while (true) {
303
+ const bytes = new Uint8Array(32);
304
+ crypto.getRandomValues(bytes);
305
+ const value = BigInt("0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join(""));
306
+ if (value < PRIME) {
307
+ return "0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join("");
308
+ }
309
+ }
310
+ });
311
+ export const prepareDeposit = /*#__PURE__*/Effect.fn("deposit")(options => Effect.gen(function* () {
312
+ const srcWalletClient = yield* WalletClient.SourceWalletClient;
313
+ const depositAddress = yield* getDepositAddress(options.paymentKey, options.beneficiaries, options.destinationChainId);
314
+ return yield* srcWalletClient.prepareDeposit({
315
+ amount: options.amount,
316
+ depositAddress,
317
+ sourceChainId: options.sourceChainId,
318
+ srcErc20Address: options.srcErc20Address,
319
+ beneficiaries: options.beneficiaries,
320
+ destinationChainId: options.destinationChainId
321
+ });
322
+ }));
323
+ //# sourceMappingURL=Payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payment.js","names":["Effect","pipe","A","encodePacked","hexToBigInt","hexToBytes","keccak256","padHex","sha256","toHex","Attestor","Constants","ZAssetRegistry","Domain","Error","Prover","PublicClient","Poseidon2","Utils","WalletClient","PRIME","getDepositAddress","fn","secret","beneficiaries","destinationChainId","gen","paddedBeneficiaries","padBeneficiaries","unspendableAddress","computeUnspendableAddress","ZAssetAddress","length","SystemError","method","module","reason","description","padded","ZERO_ADDRESS","getNullifier","try","computeNullifier","catch","cause","deterministicShuffleClients","clients","secretBytes","heightsBytes","Uint8Array","i","view","DataView","buffer","setBigUint64","height","combined","set","seedHex","seed","shuffled","seedIndex","randomByte","j","computeStorageSlot","address","mappingSlot","paddedAddress","size","paddedSlot","succeed","fetchMptProof","options","log","srcClient","SourcePublicClient","proof","getProof","tokenAddress","storageKeys","storageSlot","blockNumber","storageProof","storageValue","value","obj","accountProof","storageRoot","storageHash","generateProof","clientIds","includes","selectedClientId","fail","success","error","beneficiary","srcZAssetAddress","getZAssetOrError","srcChainId","srcErc20Address","dstZAssetAddress","dstChainId","dstErc20Address","prover","destinationPublicClient","DestinationPublicClient","depositAddress","lightClients","fetchLightClients","zAssetAddress","isNonEmptyReadonlyArray","selectedClientIndex","findFirstIndex","c","clientId","mapError","selectedClient","unsafeGet","tokenAddressKey","balanceSlot","getCounterparty","ZERO_BYTES32","nullifier","balance","readBalanceAtHeight","amount","available","confirmed","redeemed","mptProof","witness","redeemAmount","alreadyRedeemed","toString","proofResult","metadata","dstClient","ibcHandlerAddress","getIbcHandlerAddress","results","lightClientAddress","getLightClientAddress","getLatestHeight","stateRootIndex","getStateRootIndex","stateRoot","getConsensusState","push","prepareRedemption","dstWalletClient","DestinationWalletClient","attestor","paymentKey","attestationResponse","get","redeemParams","proofJsonToRedeemParams","attestedMessage","signature","generateKey","bytes","crypto","getRandomValues","BigInt","Array","from","map","b","padStart","join","prepareDeposit","srcWalletClient","SourceWalletClient","sourceChainId"],"sources":["../../src/Payment.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import { TypeIdError } from "./Error.js";
5
+ /**
6
+ * @since 1.0.0
7
+ */
8
+ export const PaymentErrorTypeId = /*#__PURE__*/Symbol.for("@unionlabs/payments/PaymentError");
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export class PaymentError extends /*#__PURE__*/TypeIdError(PaymentErrorTypeId, "PaymentError") {}
13
+ // /**
14
+ // * @since 1.0.0
15
+ // */
16
+ // export class ResultLengthMismatch extends TypeIdError(PaymentErrorTypeId, "ResultLengthMismatch")<{
17
+ // readonly expected: number
18
+ // readonly actual: number
19
+ // }> {
20
+ // get message() {
21
+ // return `Expected ${this.expected} results but got ${this.actual}`
22
+ // }
23
+ // }
24
+ //# sourceMappingURL=PaymentError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentError.js","names":["TypeIdError","PaymentErrorTypeId","Symbol","for","PaymentError"],"sources":["../../src/PaymentError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,WAAW,QAAQ,YAAY;AAExC;;;AAGA,OAAO,MAAMC,kBAAkB,gBAAkBC,MAAM,CAACC,GAAG,CACzD,kCAAkC,CACnC;AAOD;;;AAGA,OAAM,MAAOC,YAAa,sBAAQJ,WAAW,CAC3CC,kBAAkB,EAClB,cAAc,CAId;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,142 @@
1
+ import { create } from "@bufbuild/protobuf";
2
+ import { createClient } from "@connectrpc/connect";
3
+ import { createGrpcWebTransport } from "@connectrpc/connect-web";
4
+ import { Data, Effect, Match, pipe, Schedule } from "effect";
5
+ import * as S from "effect/Schema";
6
+ import { DEFAULT_PROVER_URL } from "./constants/services.js";
7
+ import * as Error from "./Error.js";
8
+ import * as GenProver from "./gen/prover_pb.js";
9
+ const Options = /*#__PURE__*/S.Struct({
10
+ proverUrl: /*#__PURE__*/S.optionalWith(/*#__PURE__*/S.Union(S.URLFromSelf, S.URL), {
11
+ default: () => new globalThis.URL(DEFAULT_PROVER_URL)
12
+ })
13
+ });
14
+ export const isPending = result => result.case === "pending";
15
+ export const isDone = result => result.case === "done";
16
+ export const isFailed = result => result.case === "failed";
17
+ class PollPending extends /*#__PURE__*/Data.TaggedError("PollPending") {}
18
+ class PollFailed extends /*#__PURE__*/Data.TaggedError("PollFailed") {}
19
+ export const Proof = /*#__PURE__*/S.Struct({
20
+ proof: /*#__PURE__*/S.Tuple(S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String),
21
+ commitments: /*#__PURE__*/S.Tuple(S.String, S.String),
22
+ commitmentPok: /*#__PURE__*/S.Tuple(S.String, S.String),
23
+ publicInputs: /*#__PURE__*/S.Array(S.String)
24
+ // TODO: createdAt
25
+ });
26
+ export const ProofFromBytes = /*#__PURE__*/S.compose(/*#__PURE__*/S.transform(S.Uint8ArrayFromSelf, S.String, {
27
+ decode: bytes => new globalThis.TextDecoder().decode(bytes),
28
+ encode: text => new globalThis.TextEncoder().encode(text)
29
+ }), /*#__PURE__*/S.parseJson(Proof));
30
+ /**
31
+ * Prover client for communicating with the prover gRPC-web server
32
+ *
33
+ * Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
34
+ * @public
35
+ */
36
+ export class Prover extends /*#__PURE__*/Effect.Service()("Prover", {
37
+ scoped: /*#__PURE__*/Effect.fn(function* (options) {
38
+ const {
39
+ proverUrl
40
+ } = yield* pipe(options, S.decode(Options), Effect.mapError(cause => new Error.SystemError({
41
+ method: "Prover",
42
+ module: "Prover",
43
+ reason: "InvalidData",
44
+ cause
45
+ })));
46
+ const transport = createGrpcWebTransport({
47
+ baseUrl: proverUrl.toString()
48
+ });
49
+ const client = createClient(GenProver.ProverService, transport);
50
+ const matchPollResult = Match.type().pipe(Match.when({
51
+ case: "done"
52
+ }, ({
53
+ value
54
+ }) => Effect.succeed(value)), Match.when({
55
+ case: "pending"
56
+ }, () => Effect.fail(new PollPending())), Match.when({
57
+ case: "failed"
58
+ }, ({
59
+ value
60
+ }) => Effect.fail(new PollFailed({
61
+ message: value.errorMessage
62
+ }))), Match.when({
63
+ case: undefined
64
+ }, () => Effect.fail(new PollFailed({
65
+ message: "Unset result"
66
+ }))), Match.exhaustive);
67
+ const poll = Effect.fn("poll")((...[request, options]) => pipe(Effect.tryPromise({
68
+ try: () => client.poll(request, options),
69
+ catch: cause => new Error.SystemError({
70
+ module: "Prover",
71
+ method: "poll",
72
+ reason: "InvalidData",
73
+ cause
74
+ })
75
+ }), Effect.map(response => response.result), Effect.flatMap(matchPollResult), Effect.retry({
76
+ while: error => error._tag === "PollPending",
77
+ schedule: Schedule.spaced("1 second")
78
+ }), Effect.flatMap(x => S.decode(ProofFromBytes)(x.proofJson)), Effect.catchTags({
79
+ ParseError: cause => new Error.SystemError({
80
+ method: "poll",
81
+ module: "Prover",
82
+ reason: "InvalidData",
83
+ cause
84
+ }),
85
+ PollFailed: cause => new Error.SystemError({
86
+ method: "poll",
87
+ module: "Prover",
88
+ reason: "InvalidData",
89
+ cause
90
+ }),
91
+ PollPending: cause => new Error.SystemError({
92
+ method: "poll",
93
+ module: "Prover",
94
+ reason: "InvalidData",
95
+ cause
96
+ })
97
+ })));
98
+ const witnessToProto = witness => create(GenProver.WitnessDataSchema, {
99
+ secret: witness.secret,
100
+ dstChainId: witness.dstChainId,
101
+ beneficiaries: [...witness.beneficiaries],
102
+ beneficiary: witness.beneficiary,
103
+ redeemAmount: witness.redeemAmount.toString(),
104
+ alreadyRedeemed: witness.alreadyRedeemed.toString(),
105
+ lightClients: witness.lightClients.map(lc => create(GenProver.LightClientDataSchema, {
106
+ clientId: lc.clientId,
107
+ height: lc.height,
108
+ stateRoot: lc.stateRoot
109
+ })),
110
+ selectedClientIndex: witness.selectedClientIndex,
111
+ mptProof: create(GenProver.MPTProofDataSchema, {
112
+ accountProof: [...witness.mptProof.accountProof],
113
+ storageProof: [...witness.mptProof.storageProof],
114
+ storageValue: witness.mptProof.storageValue,
115
+ storageRoot: witness.mptProof.storageRoot
116
+ }),
117
+ tokenAddress: witness.srcZAssetAddress,
118
+ mappingSlot: witness.mappingSlot
119
+ });
120
+ const generateProof = Effect.fn("generateProof")(function* (witness) {
121
+ const protoWitness = witnessToProto(witness);
122
+ const request = create(GenProver.ProofRequestSchema, {
123
+ witness: protoWitness
124
+ });
125
+ return yield* poll(request);
126
+ });
127
+ const exportVerifier = pipe(Effect.tryPromise({
128
+ try: () => client.exportVerifier({}),
129
+ catch: cause => new Error.SystemError({
130
+ module: "Prover",
131
+ method: "exportVerifier",
132
+ reason: "InvalidData",
133
+ cause
134
+ })
135
+ }), Effect.map(response => response.verifierContract));
136
+ return {
137
+ generateProof,
138
+ exportVerifier
139
+ };
140
+ })
141
+ }) {}
142
+ //# sourceMappingURL=Prover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prover.js","names":["create","createClient","createGrpcWebTransport","Data","Effect","Match","pipe","Schedule","S","DEFAULT_PROVER_URL","Error","GenProver","Options","Struct","proverUrl","optionalWith","Union","URLFromSelf","URL","default","globalThis","isPending","result","case","isDone","isFailed","PollPending","TaggedError","PollFailed","Proof","proof","Tuple","String","commitments","commitmentPok","publicInputs","Array","ProofFromBytes","compose","transform","Uint8ArrayFromSelf","decode","bytes","TextDecoder","encode","text","TextEncoder","parseJson","Prover","Service","scoped","fn","options","mapError","cause","SystemError","method","module","reason","transport","baseUrl","toString","client","ProverService","matchPollResult","type","when","value","succeed","fail","message","errorMessage","undefined","exhaustive","poll","request","tryPromise","try","catch","map","response","flatMap","retry","while","error","_tag","schedule","spaced","x","proofJson","catchTags","ParseError","witnessToProto","witness","WitnessDataSchema","secret","dstChainId","beneficiaries","beneficiary","redeemAmount","alreadyRedeemed","lightClients","lc","LightClientDataSchema","clientId","height","stateRoot","selectedClientIndex","mptProof","MPTProofDataSchema","accountProof","storageProof","storageValue","storageRoot","tokenAddress","srcZAssetAddress","mappingSlot","generateProof","protoWitness","ProofRequestSchema","exportVerifier","verifierContract"],"sources":["../../src/Prover.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { Layer } from "effect";
2
+ import * as Context from "effect/Context";
3
+ import { identity } from "effect/Function";
4
+ import * as internal from "./internal/publicClient.js";
5
+ /**
6
+ * @category type ids
7
+ * @since 1.0.0
8
+ */
9
+ export const TypeId = internal.TypeId;
10
+ /**
11
+ * @category models
12
+ * @since 1.0.0
13
+ */
14
+ export const PublicClient = internal.clientTag;
15
+ /**
16
+ * @category models
17
+ * @since 1.0.0
18
+ */
19
+ export class SourcePublicClient extends /*#__PURE__*/Context.Tag("SourcePublicClient")() {
20
+ static layer = layer => Layer.project(layer, PublicClient, SourcePublicClient, identity);
21
+ }
22
+ /**
23
+ * @category models
24
+ * @since 1.0.0
25
+ */
26
+ export class DestinationPublicClient extends /*#__PURE__*/Context.Tag("DestinationPublicClient")() {
27
+ static layer = layer => Layer.project(layer, PublicClient, DestinationPublicClient, identity);
28
+ }
29
+ export const make = internal.make;
30
+ //# sourceMappingURL=PublicClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicClient.js","names":["Layer","Context","identity","internal","TypeId","PublicClient","clientTag","SourcePublicClient","Tag","layer","project","DestinationPublicClient","make"],"sources":["../../src/PublicClient.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,QAAQ;AAC9B,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AAEzC,SAASC,QAAQ,QAAQ,iBAAiB;AAI1C,OAAO,KAAKC,QAAQ,MAAM,4BAA4B;AAGtD;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAgEpD;;;;AAIA,OAAO,MAAMC,YAAY,GACvBF,QAAQ,CAACG,SAAS;AAEpB;;;;AAIA,OAAM,MAAOC,kBAAmB,sBAAQN,OAAO,CAACO,GAAG,CAAC,oBAAoB,CAAC,EAGtE;EACD,OAAOC,KAAK,GAAUA,KAAsC,IAC1DT,KAAK,CAACU,OAAO,CAACD,KAAK,EAAEJ,YAAY,EAAEE,kBAAkB,EAAEL,QAAQ,CAAC;;AAGpE;;;;AAIA,OAAM,MAAOS,uBAAwB,sBAAQV,OAAO,CAACO,GAAG,CACtD,yBAAyB,CAC1B,EAAyC;EACxC,OAAOC,KAAK,GAAUA,KAAsC,IAC1DT,KAAK,CAACU,OAAO,CAACD,KAAK,EAAEJ,YAAY,EAAEM,uBAAuB,EAAET,QAAQ,CAAC;;AAwFzE,OAAO,MAAMU,IAAI,GAEyBT,QAAQ,CAACS,IAAI","ignoreList":[]}