@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","_interopRequireWildcard","require","Brand","Context","Effect","_Function","Layer","Number","Ref","Abi","ZAssetRegistry","Domain","Error","EvmPublicClient","Client","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","EvmWalletClient","GenericTag","makeViem","wallet","gen","Viem","tryPromise","try","then","x","catch","cause","SystemError","reason","method","module","description","ViemActions","publicClient","pipe","createPublicClient","chain","transport","custom","flatMap","transactionCount","getTransactionCount","address","account","blockTag","make","encodeFunctionData","fn","parameters","writeContract","params","map","hash","SubmissionResult","viemWriteContract","nominal","prepareTransactionRequest","nonce","tap","update","increment","prepareBatchTransactionRequest","calls","chainNonce","log","simulationResult","simulateCalls","to","data","value","results","gasEstimates","gasUsed","BigInt","undefined","prepared","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","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,333 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.computeStorageSlot = void 0;
7
+ exports.deterministicShuffleClients = deterministicShuffleClients;
8
+ exports.prepareRedemption = exports.prepareDeposit = exports.getNullifier = exports.getDepositAddress = exports.generateProof = exports.generateKey = void 0;
9
+ var _effect = require("effect");
10
+ var A = _interopRequireWildcard(require("effect/Array"));
11
+ var _viem = require("viem");
12
+ var Attestor = _interopRequireWildcard(require("./Attestor.js"));
13
+ var Constants = _interopRequireWildcard(require("./Constants.js"));
14
+ var ZAssetRegistry = _interopRequireWildcard(require("./constants/z-asset-registry.js"));
15
+ var Domain = _interopRequireWildcard(require("./Domain.js"));
16
+ var Error = _interopRequireWildcard(require("./Error.js"));
17
+ var Prover = _interopRequireWildcard(require("./Prover.js"));
18
+ var PublicClient = _interopRequireWildcard(require("./PublicClient.js"));
19
+ var Poseidon2 = _interopRequireWildcard(require("./poseidon2.js"));
20
+ var Utils = _interopRequireWildcard(require("./Utils.js"));
21
+ var WalletClient = _interopRequireWildcard(require("./WalletClient.js"));
22
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
23
+ /**
24
+ * - for deposits you only need to sign on the source chain
25
+ * - for redemptions you need wallet on dest chain
26
+ */
27
+
28
+ // TODO: into poseidon2 module
29
+ const PRIME = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n; // BN254 Fr order
30
+ const getDepositAddress = exports.getDepositAddress = /*#__PURE__*/_effect.Effect.fn("getDepositAddress")((secret, beneficiaries, destinationChainId) => _effect.Effect.gen(function* () {
31
+ const paddedBeneficiaries = yield* padBeneficiaries(beneficiaries);
32
+ const unspendableAddress = Poseidon2.computeUnspendableAddress(secret, destinationChainId, paddedBeneficiaries);
33
+ return Domain.ZAssetAddress(unspendableAddress);
34
+ }));
35
+ const padBeneficiaries = /*#__PURE__*/_effect.Effect.fn("padBeneficiaries")(beneficiaries => _effect.Effect.gen(function* () {
36
+ if (beneficiaries.length > 4) {
37
+ // throw new Error("Maximum 4 beneficiaries allowed");
38
+ return yield* new Error.SystemError({
39
+ method: "padBeneficiaries",
40
+ module: "PaymentClient",
41
+ reason: "InvalidData",
42
+ description: "Maximum 4 beneficiaries allowed"
43
+ });
44
+ }
45
+ const padded = [beneficiaries[0] ?? Constants.ZERO_ADDRESS, beneficiaries[1] ?? Constants.ZERO_ADDRESS, beneficiaries[2] ?? Constants.ZERO_ADDRESS, beneficiaries[3] ?? Constants.ZERO_ADDRESS];
46
+ return padded;
47
+ }));
48
+ const getNullifier = exports.getNullifier = /*#__PURE__*/_effect.Effect.fn("getNullifier")((secret, destinationChainId) => _effect.Effect.try({
49
+ try: () => Poseidon2.computeNullifier(secret, destinationChainId),
50
+ catch: cause => new Error.SystemError({
51
+ method: "getNullifier",
52
+ module: "PaymentClient",
53
+ reason: "InvalidData",
54
+ cause
55
+ })
56
+ }));
57
+ /**
58
+ * Deterministically shuffle light clients using the secret as seed.
59
+ * Same secret always produces the same ordering for privacy.
60
+ * @public
61
+ */
62
+ function deterministicShuffleClients(clients, secret) {
63
+ if (clients.length <= 1) {
64
+ return [...clients];
65
+ }
66
+ // Seed = SHA256(secret || clientHeights as big-endian uint64s)
67
+ const secretBytes = (0, _viem.hexToBytes)(secret);
68
+ const heightsBytes = new Uint8Array(clients.length * 8);
69
+ for (let i = 0; i < clients.length; i++) {
70
+ const view = new DataView(heightsBytes.buffer, i * 8, 8);
71
+ view.setBigUint64(0, clients[i].height, false);
72
+ }
73
+ const combined = new Uint8Array(secretBytes.length + heightsBytes.length);
74
+ combined.set(secretBytes, 0);
75
+ combined.set(heightsBytes, secretBytes.length);
76
+ const seedHex = (0, _viem.sha256)(combined);
77
+ const seed = (0, _viem.hexToBytes)(seedHex);
78
+ // Fisher-Yates shuffle with deterministic PRNG
79
+ const shuffled = [...clients];
80
+ let seedIndex = 0;
81
+ for (let i = shuffled.length - 1; i > 0; i--) {
82
+ const randomByte = seed[seedIndex % seed.length];
83
+ seedIndex++;
84
+ const j = randomByte % (i + 1);
85
+ [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
86
+ }
87
+ return shuffled;
88
+ }
89
+ const computeStorageSlot = exports.computeStorageSlot = /*#__PURE__*/_effect.Effect.fn("computeStorageSlot")(function* (address, mappingSlot) {
90
+ const paddedAddress = (0, _viem.padHex)(address, {
91
+ size: 32
92
+ });
93
+ const paddedSlot = (0, _viem.padHex)((0, _viem.toHex)(mappingSlot), {
94
+ size: 32
95
+ });
96
+ return yield* _effect.Effect.succeed((0, _viem.keccak256)((0, _viem.encodePacked)(["bytes32", "bytes32"], [paddedAddress, paddedSlot])));
97
+ });
98
+ const fetchMptProof = /*#__PURE__*/_effect.Effect.fn(function* (options) {
99
+ yield* _effect.Effect.log(options);
100
+ const srcClient = yield* PublicClient.SourcePublicClient;
101
+ const proof = yield* srcClient.getProof({
102
+ address: options.tokenAddress,
103
+ storageKeys: [options.storageSlot],
104
+ blockNumber: options.blockNumber
105
+ });
106
+ let storageProof = [];
107
+ let storageValue = "0x0";
108
+ if (proof.storageProof.length > 0 && proof.storageProof[0]) {
109
+ storageProof = proof.storageProof[0].proof;
110
+ storageValue = (0, _viem.toHex)(proof.storageProof[0].value);
111
+ }
112
+ const obj = {
113
+ accountProof: proof.accountProof,
114
+ storageProof,
115
+ storageValue,
116
+ storageRoot: proof.storageHash
117
+ };
118
+ yield* _effect.Effect.log("[fetchMptProof]", obj);
119
+ return obj;
120
+ });
121
+ const generateProof = exports.generateProof = /*#__PURE__*/_effect.Effect.fn(function* (options) {
122
+ if (!options.clientIds.includes(options.selectedClientId)) {
123
+ return yield* _effect.Effect.fail({
124
+ proof: {
125
+ success: false,
126
+ error: `selectedClientId ${options.selectedClientId} not in clientIds`
127
+ }
128
+ });
129
+ }
130
+ if (options.beneficiary === Constants.ZERO_ADDRESS) {
131
+ return yield* _effect.Effect.fail({
132
+ proof: {
133
+ success: false,
134
+ error: "Beneficiary address cannot be zero"
135
+ }
136
+ });
137
+ }
138
+ const srcZAssetAddress = yield* ZAssetRegistry.getZAssetOrError(options.srcChainId, options.srcErc20Address);
139
+ const dstZAssetAddress = yield* ZAssetRegistry.getZAssetOrError(options.dstChainId, options.dstErc20Address);
140
+ const prover = yield* Prover.Prover;
141
+ const destinationPublicClient = yield* PublicClient.DestinationPublicClient;
142
+ const paddedBeneficiaries = yield* padBeneficiaries(options.beneficiaries);
143
+ const depositAddress = yield* getDepositAddress(options.secret, options.beneficiaries, options.dstChainId);
144
+ const lightClients = yield* fetchLightClients({
145
+ zAssetAddress: dstZAssetAddress,
146
+ clientIds: options.clientIds
147
+ });
148
+ if (!A.isNonEmptyReadonlyArray(lightClients)) {
149
+ return yield* new Error.SystemError({
150
+ module: "PaymentClient",
151
+ method: "generateProof",
152
+ reason: "InvalidData",
153
+ description: "No valid light clients found"
154
+ });
155
+ }
156
+ // Deterministic shuffle: same secret always produces the same ordering for privacy
157
+ const shuffled = deterministicShuffleClients(lightClients, options.secret);
158
+ const selectedClientIndex = yield* (0, _effect.pipe)(A.findFirstIndex(shuffled, c => c.clientId === options.selectedClientId), _effect.Effect.mapError(cause => new Error.SystemError({
159
+ module: "PaymentClient",
160
+ method: "generateProof",
161
+ reason: "InvalidData",
162
+ cause,
163
+ description: `Client not found after fetching`
164
+ })));
165
+ const selectedClient = A.unsafeGet(shuffled, selectedClientIndex);
166
+ const {
167
+ tokenAddressKey,
168
+ balanceSlot
169
+ } = yield* destinationPublicClient.getCounterparty(dstZAssetAddress, options.selectedClientId);
170
+ // Check if counterparty is configured for this light client
171
+ const ZERO_BYTES32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
172
+ yield* _effect.Effect.log({
173
+ balanceSlot
174
+ });
175
+ if (balanceSlot === ZERO_BYTES32 || tokenAddressKey === ZERO_BYTES32) {
176
+ return yield* new Error.SystemError({
177
+ module: "PaymentClient",
178
+ method: "generateProof",
179
+ reason: "InvalidData",
180
+ description: `Light client is not configured as a counterparty on the destination ZAsset. ` + `Please call setCounterparty() on the ZAsset contract first.`
181
+ });
182
+ }
183
+ const mappingSlot = (0, _viem.hexToBigInt)(balanceSlot);
184
+ yield* _effect.Effect.log({
185
+ mappingSlot
186
+ });
187
+ const nullifier = yield* getNullifier(options.secret, options.dstChainId);
188
+ // Check balance at the selected light client's height
189
+ const balance = yield* destinationPublicClient.readBalanceAtHeight({
190
+ srcErc20Address: options.srcErc20Address,
191
+ dstErc20Address: options.dstErc20Address,
192
+ srcChainId: options.srcChainId,
193
+ dstChainId: options.dstChainId,
194
+ depositAddress,
195
+ nullifier,
196
+ height: selectedClient.height
197
+ });
198
+ if (options.amount > balance.available) {
199
+ return yield* new Error.SystemError({
200
+ module: "PaymentClient",
201
+ method: "generateProof",
202
+ reason: "InvalidData",
203
+ description: `Insufficient available balance. Requested: ${options.amount}, Available: ${balance.available} ` + `(Confirmed at height ${selectedClient.height}: ${balance.confirmed}, Already redeemed: ${balance.redeemed})`
204
+ });
205
+ }
206
+ const storageSlot = yield* computeStorageSlot(depositAddress, mappingSlot);
207
+ const mptProof = yield* fetchMptProof({
208
+ tokenAddress: srcZAssetAddress,
209
+ storageSlot,
210
+ blockNumber: selectedClient.height
211
+ });
212
+ const witness = {
213
+ secret: options.secret,
214
+ dstChainId: options.dstChainId,
215
+ beneficiaries: paddedBeneficiaries,
216
+ beneficiary: options.beneficiary,
217
+ redeemAmount: options.amount,
218
+ alreadyRedeemed: balance.redeemed,
219
+ lightClients: shuffled,
220
+ selectedClientIndex,
221
+ mptProof,
222
+ srcZAssetAddress: srcZAssetAddress,
223
+ mappingSlot: `0x${mappingSlot.toString(16)}`
224
+ };
225
+ const proofResult = yield* prover.generateProof(witness);
226
+ yield* _effect.Effect.log({
227
+ proofResult
228
+ });
229
+ return {
230
+ proof: proofResult,
231
+ metadata: {
232
+ depositAddress,
233
+ beneficiary: options.beneficiary,
234
+ value: options.amount,
235
+ lightClients: shuffled,
236
+ nullifier
237
+ }
238
+ };
239
+ });
240
+ const fetchLightClients = /*#__PURE__*/_effect.Effect.fn(function* (options) {
241
+ const {
242
+ zAssetAddress,
243
+ clientIds
244
+ } = options;
245
+ const dstClient = yield* PublicClient.PublicClient;
246
+ const ibcHandlerAddress = yield* dstClient.getIbcHandlerAddress(zAssetAddress);
247
+ const results = [];
248
+ for (const clientId of clientIds) {
249
+ const lightClientAddress = yield* dstClient.getLightClientAddress(ibcHandlerAddress, clientId);
250
+ const height = yield* dstClient.getLatestHeight(lightClientAddress, clientId);
251
+ const stateRootIndex = yield* dstClient.getStateRootIndex(zAssetAddress, clientId);
252
+ const {
253
+ stateRoot
254
+ } = yield* dstClient.getConsensusState(lightClientAddress, clientId, height, stateRootIndex);
255
+ results.push({
256
+ clientId,
257
+ height,
258
+ stateRoot
259
+ });
260
+ }
261
+ return results;
262
+ });
263
+ const prepareRedemption = exports.prepareRedemption = /*#__PURE__*/_effect.Effect.fn(function* (options) {
264
+ const dstWalletClient = yield* WalletClient.DestinationWalletClient;
265
+ const attestor = yield* Attestor.Attestor;
266
+ // 1. Generate proof
267
+ const proofResult = yield* generateProof({
268
+ secret: options.paymentKey,
269
+ beneficiaries: options.beneficiaries,
270
+ beneficiary: options.beneficiary,
271
+ amount: options.amount,
272
+ clientIds: options.clientIds,
273
+ selectedClientId: options.selectedClientId,
274
+ srcChainId: options.srcChainId,
275
+ dstChainId: options.dstChainId,
276
+ srcErc20Address: options.srcErc20Address,
277
+ dstErc20Address: options.dstErc20Address
278
+ });
279
+ yield* _effect.Effect.log({
280
+ proofResult
281
+ });
282
+ const depositAddress = yield* getDepositAddress(options.paymentKey, options.beneficiaries, options.dstChainId);
283
+ yield* _effect.Effect.log({
284
+ depositAddress
285
+ });
286
+ // 2. Get attestation
287
+ const attestationResponse = yield* attestor.get({
288
+ unspendableAddress: depositAddress,
289
+ beneficiary: options.beneficiary
290
+ });
291
+ yield* _effect.Effect.log({
292
+ attestationResponse
293
+ });
294
+ // 3. Build redeem params
295
+ const redeemParams = Utils.proofJsonToRedeemParams(proofResult.proof, {
296
+ lightClients: proofResult.metadata.lightClients,
297
+ nullifier: proofResult.metadata.nullifier,
298
+ value: proofResult.metadata.value,
299
+ beneficiary: proofResult.metadata.beneficiary,
300
+ attestedMessage: attestationResponse.attestedMessage,
301
+ signature: attestationResponse.signature
302
+ });
303
+ yield* _effect.Effect.log({
304
+ redeemParams
305
+ });
306
+ return yield* dstWalletClient.prepareRedemption({
307
+ ...redeemParams,
308
+ dstErc20Address: options.dstErc20Address
309
+ });
310
+ });
311
+ const generateKey = exports.generateKey = /*#__PURE__*/_effect.Effect.gen(function* () {
312
+ while (true) {
313
+ const bytes = new Uint8Array(32);
314
+ crypto.getRandomValues(bytes);
315
+ const value = BigInt("0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join(""));
316
+ if (value < PRIME) {
317
+ return "0x" + Array.from(bytes).map(b => b.toString(16).padStart(2, "0")).join("");
318
+ }
319
+ }
320
+ });
321
+ const prepareDeposit = exports.prepareDeposit = /*#__PURE__*/_effect.Effect.fn("deposit")(options => _effect.Effect.gen(function* () {
322
+ const srcWalletClient = yield* WalletClient.SourceWalletClient;
323
+ const depositAddress = yield* getDepositAddress(options.paymentKey, options.beneficiaries, options.destinationChainId);
324
+ return yield* srcWalletClient.prepareDeposit({
325
+ amount: options.amount,
326
+ depositAddress,
327
+ sourceChainId: options.sourceChainId,
328
+ srcErc20Address: options.srcErc20Address,
329
+ beneficiaries: options.beneficiaries,
330
+ destinationChainId: options.destinationChainId
331
+ });
332
+ }));
333
+ //# sourceMappingURL=Payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payment.js","names":["_effect","require","A","_interopRequireWildcard","_viem","Attestor","Constants","ZAssetRegistry","Domain","Error","Prover","PublicClient","Poseidon2","Utils","WalletClient","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PRIME","getDepositAddress","exports","Effect","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","hexToBytes","heightsBytes","Uint8Array","view","DataView","buffer","setBigUint64","height","combined","seedHex","sha256","seed","shuffled","seedIndex","randomByte","j","computeStorageSlot","address","mappingSlot","paddedAddress","padHex","size","paddedSlot","toHex","succeed","keccak256","encodePacked","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","pipe","findFirstIndex","c","clientId","mapError","selectedClient","unsafeGet","tokenAddressKey","balanceSlot","getCounterparty","ZERO_BYTES32","hexToBigInt","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","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,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PaymentErrorTypeId = exports.PaymentError = void 0;
7
+ var _Error = require("./Error.js");
8
+ /**
9
+ * @since 1.0.0
10
+ */
11
+
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ const PaymentErrorTypeId = exports.PaymentErrorTypeId = /*#__PURE__*/Symbol.for("@unionlabs/payments/PaymentError");
16
+ /**
17
+ * @since 1.0.0
18
+ */
19
+ class PaymentError extends /*#__PURE__*/(0, _Error.TypeIdError)(PaymentErrorTypeId, "PaymentError") {}
20
+ // /**
21
+ // * @since 1.0.0
22
+ // */
23
+ // export class ResultLengthMismatch extends TypeIdError(PaymentErrorTypeId, "ResultLengthMismatch")<{
24
+ // readonly expected: number
25
+ // readonly actual: number
26
+ // }> {
27
+ // get message() {
28
+ // return `Expected ${this.expected} results but got ${this.actual}`
29
+ // }
30
+ // }
31
+ exports.PaymentError = PaymentError;
32
+ //# sourceMappingURL=PaymentError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentError.js","names":["_Error","require","PaymentErrorTypeId","exports","Symbol","for","PaymentError","TypeIdError"],"sources":["../../src/PaymentError.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAHA;;;;AAKA;;;AAGO,MAAMC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAkBE,MAAM,CAACC,GAAG,CACzD,kCAAkC,CACnC;AAOD;;;AAGM,MAAOC,YAAa,sBAAQ,IAAAC,kBAAW,EAC3CL,kBAAkB,EAClB,cAAc,CAId;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAAC,OAAA,CAAAG,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isPending = exports.isFailed = exports.isDone = exports.Prover = exports.ProofFromBytes = exports.Proof = void 0;
7
+ var _protobuf = require("@bufbuild/protobuf");
8
+ var _connect = require("@connectrpc/connect");
9
+ var _connectWeb = require("@connectrpc/connect-web");
10
+ var _effect = require("effect");
11
+ var S = _interopRequireWildcard(require("effect/Schema"));
12
+ var _services = require("./constants/services.js");
13
+ var Error = _interopRequireWildcard(require("./Error.js"));
14
+ var GenProver = _interopRequireWildcard(require("./gen/prover_pb.js"));
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ const Options = /*#__PURE__*/S.Struct({
17
+ proverUrl: /*#__PURE__*/S.optionalWith(/*#__PURE__*/S.Union(S.URLFromSelf, S.URL), {
18
+ default: () => new globalThis.URL(_services.DEFAULT_PROVER_URL)
19
+ })
20
+ });
21
+ const isPending = result => result.case === "pending";
22
+ exports.isPending = isPending;
23
+ const isDone = result => result.case === "done";
24
+ exports.isDone = isDone;
25
+ const isFailed = result => result.case === "failed";
26
+ exports.isFailed = isFailed;
27
+ class PollPending extends /*#__PURE__*/_effect.Data.TaggedError("PollPending") {}
28
+ class PollFailed extends /*#__PURE__*/_effect.Data.TaggedError("PollFailed") {}
29
+ const Proof = exports.Proof = /*#__PURE__*/S.Struct({
30
+ proof: /*#__PURE__*/S.Tuple(S.String, S.String, S.String, S.String, S.String, S.String, S.String, S.String),
31
+ commitments: /*#__PURE__*/S.Tuple(S.String, S.String),
32
+ commitmentPok: /*#__PURE__*/S.Tuple(S.String, S.String),
33
+ publicInputs: /*#__PURE__*/S.Array(S.String)
34
+ // TODO: createdAt
35
+ });
36
+ const ProofFromBytes = exports.ProofFromBytes = /*#__PURE__*/S.compose(/*#__PURE__*/S.transform(S.Uint8ArrayFromSelf, S.String, {
37
+ decode: bytes => new globalThis.TextDecoder().decode(bytes),
38
+ encode: text => new globalThis.TextEncoder().encode(text)
39
+ }), /*#__PURE__*/S.parseJson(Proof));
40
+ /**
41
+ * Prover client for communicating with the prover gRPC-web server
42
+ *
43
+ * Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
44
+ * @public
45
+ */
46
+ class Prover extends /*#__PURE__*/_effect.Effect.Service()("Prover", {
47
+ scoped: /*#__PURE__*/_effect.Effect.fn(function* (options) {
48
+ const {
49
+ proverUrl
50
+ } = yield* (0, _effect.pipe)(options, S.decode(Options), _effect.Effect.mapError(cause => new Error.SystemError({
51
+ method: "Prover",
52
+ module: "Prover",
53
+ reason: "InvalidData",
54
+ cause
55
+ })));
56
+ const transport = (0, _connectWeb.createGrpcWebTransport)({
57
+ baseUrl: proverUrl.toString()
58
+ });
59
+ const client = (0, _connect.createClient)(GenProver.ProverService, transport);
60
+ const matchPollResult = _effect.Match.type().pipe(_effect.Match.when({
61
+ case: "done"
62
+ }, ({
63
+ value
64
+ }) => _effect.Effect.succeed(value)), _effect.Match.when({
65
+ case: "pending"
66
+ }, () => _effect.Effect.fail(new PollPending())), _effect.Match.when({
67
+ case: "failed"
68
+ }, ({
69
+ value
70
+ }) => _effect.Effect.fail(new PollFailed({
71
+ message: value.errorMessage
72
+ }))), _effect.Match.when({
73
+ case: undefined
74
+ }, () => _effect.Effect.fail(new PollFailed({
75
+ message: "Unset result"
76
+ }))), _effect.Match.exhaustive);
77
+ const poll = _effect.Effect.fn("poll")((...[request, options]) => (0, _effect.pipe)(_effect.Effect.tryPromise({
78
+ try: () => client.poll(request, options),
79
+ catch: cause => new Error.SystemError({
80
+ module: "Prover",
81
+ method: "poll",
82
+ reason: "InvalidData",
83
+ cause
84
+ })
85
+ }), _effect.Effect.map(response => response.result), _effect.Effect.flatMap(matchPollResult), _effect.Effect.retry({
86
+ while: error => error._tag === "PollPending",
87
+ schedule: _effect.Schedule.spaced("1 second")
88
+ }), _effect.Effect.flatMap(x => S.decode(ProofFromBytes)(x.proofJson)), _effect.Effect.catchTags({
89
+ ParseError: cause => new Error.SystemError({
90
+ method: "poll",
91
+ module: "Prover",
92
+ reason: "InvalidData",
93
+ cause
94
+ }),
95
+ PollFailed: cause => new Error.SystemError({
96
+ method: "poll",
97
+ module: "Prover",
98
+ reason: "InvalidData",
99
+ cause
100
+ }),
101
+ PollPending: cause => new Error.SystemError({
102
+ method: "poll",
103
+ module: "Prover",
104
+ reason: "InvalidData",
105
+ cause
106
+ })
107
+ })));
108
+ const witnessToProto = witness => (0, _protobuf.create)(GenProver.WitnessDataSchema, {
109
+ secret: witness.secret,
110
+ dstChainId: witness.dstChainId,
111
+ beneficiaries: [...witness.beneficiaries],
112
+ beneficiary: witness.beneficiary,
113
+ redeemAmount: witness.redeemAmount.toString(),
114
+ alreadyRedeemed: witness.alreadyRedeemed.toString(),
115
+ lightClients: witness.lightClients.map(lc => (0, _protobuf.create)(GenProver.LightClientDataSchema, {
116
+ clientId: lc.clientId,
117
+ height: lc.height,
118
+ stateRoot: lc.stateRoot
119
+ })),
120
+ selectedClientIndex: witness.selectedClientIndex,
121
+ mptProof: (0, _protobuf.create)(GenProver.MPTProofDataSchema, {
122
+ accountProof: [...witness.mptProof.accountProof],
123
+ storageProof: [...witness.mptProof.storageProof],
124
+ storageValue: witness.mptProof.storageValue,
125
+ storageRoot: witness.mptProof.storageRoot
126
+ }),
127
+ tokenAddress: witness.srcZAssetAddress,
128
+ mappingSlot: witness.mappingSlot
129
+ });
130
+ const generateProof = _effect.Effect.fn("generateProof")(function* (witness) {
131
+ const protoWitness = witnessToProto(witness);
132
+ const request = (0, _protobuf.create)(GenProver.ProofRequestSchema, {
133
+ witness: protoWitness
134
+ });
135
+ return yield* poll(request);
136
+ });
137
+ const exportVerifier = (0, _effect.pipe)(_effect.Effect.tryPromise({
138
+ try: () => client.exportVerifier({}),
139
+ catch: cause => new Error.SystemError({
140
+ module: "Prover",
141
+ method: "exportVerifier",
142
+ reason: "InvalidData",
143
+ cause
144
+ })
145
+ }), _effect.Effect.map(response => response.verifierContract));
146
+ return {
147
+ generateProof,
148
+ exportVerifier
149
+ };
150
+ })
151
+ }) {}
152
+ exports.Prover = Prover;
153
+ //# sourceMappingURL=Prover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prover.js","names":["_protobuf","require","_connect","_connectWeb","_effect","S","_interopRequireWildcard","_services","Error","GenProver","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Options","Struct","proverUrl","optionalWith","Union","URLFromSelf","URL","globalThis","DEFAULT_PROVER_URL","isPending","result","case","exports","isDone","isFailed","PollPending","Data","TaggedError","PollFailed","Proof","proof","Tuple","String","commitments","commitmentPok","publicInputs","Array","ProofFromBytes","compose","transform","Uint8ArrayFromSelf","decode","bytes","TextDecoder","encode","text","TextEncoder","parseJson","Prover","Effect","Service","scoped","fn","options","pipe","mapError","cause","SystemError","method","module","reason","transport","createGrpcWebTransport","baseUrl","toString","client","createClient","ProverService","matchPollResult","Match","type","when","value","succeed","fail","message","errorMessage","undefined","exhaustive","poll","request","tryPromise","try","catch","map","response","flatMap","retry","while","error","_tag","schedule","Schedule","spaced","x","proofJson","catchTags","ParseError","witnessToProto","witness","create","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":[]}