@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,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isSdkError = exports.TypeIdError = exports.TypeId = exports.SystemErrorReason = exports.SystemError = exports.SdkError = exports.Module = exports.BadArgument = void 0;
7
+ var Data = _interopRequireWildcard(require("effect/Data"));
8
+ var Predicate = _interopRequireWildcard(require("effect/Predicate"));
9
+ var Schema = _interopRequireWildcard(require("effect/Schema"));
10
+ 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); }
11
+ /**
12
+ * @since 1.0.0
13
+ * @category type id
14
+ */
15
+ const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("@unionlabs/payments/Error");
16
+ /**
17
+ * @since 1.0.0
18
+ * @category refinements
19
+ */
20
+ const isSdkError = u => Predicate.hasProperty(u, TypeId);
21
+ /**
22
+ * @since 1.0.0
23
+ * @category error
24
+ */
25
+ exports.isSdkError = isSdkError;
26
+ const TypeIdError = (typeId, tag) => {
27
+ class Base extends Data.Error {
28
+ _tag = tag;
29
+ }
30
+ Base.prototype[typeId] = typeId;
31
+ Base.prototype.name = tag;
32
+ return Base;
33
+ };
34
+ /**
35
+ * @since 1.0.0
36
+ * @category Models
37
+ */
38
+ exports.TypeIdError = TypeIdError;
39
+ const Module = exports.Module = /*#__PURE__*/Schema.Literal("EvmWalletClient", "EvmPublicClient", "PaymentClient", "Prover", "Attestor", "IbcCoreRegistry");
40
+ /**
41
+ * @since 1.0.0
42
+ * @category Models
43
+ */
44
+ class BadArgument extends /*#__PURE__*/Schema.TaggedError("@unionlabs/payments/Error/BadArgument")("BadArgument", {
45
+ module: Module,
46
+ method: Schema.String,
47
+ description: /*#__PURE__*/Schema.optional(Schema.String),
48
+ cause: /*#__PURE__*/Schema.optional(Schema.Defect)
49
+ }) {
50
+ /**
51
+ * @since 1.0.0
52
+ */
53
+ [TypeId] = TypeId;
54
+ /**
55
+ * @since 1.0.0
56
+ */
57
+ get message() {
58
+ return `${this.module}.${this.method}${this.description ? `: ${this.description}` : ""}`;
59
+ }
60
+ }
61
+ /**
62
+ * @since 1.0.0
63
+ * @category Model
64
+ */
65
+ exports.BadArgument = BadArgument;
66
+ const SystemErrorReason = exports.SystemErrorReason = /*#__PURE__*/Schema.Literal("DynamicImport", "ReadContract",
67
+ // "BadResource",
68
+ // "Busy",
69
+ "InvalidData", "SimulateCalls");
70
+ /**
71
+ * @since 1.0.0
72
+ * @category models
73
+ */
74
+ class SystemError extends /*#__PURE__*/Schema.TaggedError("@unionlabs/payments/Error/SystemError")("SystemError", {
75
+ reason: SystemErrorReason,
76
+ module: Module,
77
+ method: Schema.String,
78
+ description: /*#__PURE__*/Schema.optional(Schema.String),
79
+ syscall: /*#__PURE__*/Schema.optional(Schema.String),
80
+ pathOrDescriptor: /*#__PURE__*/Schema.optional(/*#__PURE__*/Schema.Union(Schema.String, Schema.Number)),
81
+ cause: /*#__PURE__*/Schema.optional(Schema.Defect)
82
+ }) {
83
+ /**
84
+ * @since 1.0.0
85
+ */
86
+ [TypeId] = TypeId;
87
+ /**
88
+ * @since 1.0.0
89
+ */
90
+ get message() {
91
+ return `${this.reason}: ${this.module}.${this.method}${this.pathOrDescriptor !== undefined ? ` (${this.pathOrDescriptor})` : ""}${this.description ? `: ${this.description}` : ""}`;
92
+ }
93
+ }
94
+ /**
95
+ * @since 1.0.0
96
+ * @category Models
97
+ */
98
+ exports.SystemError = SystemError;
99
+ const SdkError = exports.SdkError = /*#__PURE__*/Schema.Union(BadArgument, SystemError);
100
+ //# sourceMappingURL=Error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Error.js","names":["Data","_interopRequireWildcard","require","Predicate","Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","isSdkError","u","hasProperty","TypeIdError","typeId","tag","Base","Error","_tag","prototype","name","Module","Literal","BadArgument","TaggedError","module","method","String","description","optional","cause","Defect","message","SystemErrorReason","SystemError","reason","syscall","pathOrDescriptor","Union","Number","undefined","SdkError"],"sources":["../../src/Error.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeViem = exports.layerFromViem = exports.TypeId = exports.EvmPublicClient = void 0;
7
+ var Context = _interopRequireWildcard(require("effect/Context"));
8
+ var Duration = _interopRequireWildcard(require("effect/Duration"));
9
+ var Effect = _interopRequireWildcard(require("effect/Effect"));
10
+ var _Function = require("effect/Function");
11
+ var Layer = _interopRequireWildcard(require("effect/Layer"));
12
+ var S = _interopRequireWildcard(require("effect/Schema"));
13
+ var _viem = require("viem");
14
+ var Abi = _interopRequireWildcard(require("./Abi.js"));
15
+ var ZAssetRegistry = _interopRequireWildcard(require("./constants/z-asset-registry.js"));
16
+ var Domain = _interopRequireWildcard(require("./Domain.js"));
17
+ var Error = _interopRequireWildcard(require("./Error.js"));
18
+ var Client = _interopRequireWildcard(require("./PublicClient.js"));
19
+ var PS = _interopRequireWildcard(require("./Schema.js"));
20
+ 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); }
21
+ /**
22
+ * @category type ids
23
+ * @since 1.0.0
24
+ */
25
+ const TypeId = exports.TypeId = "@unionlabs/payments/EvmPublicClient";
26
+ /**
27
+ * @category tags
28
+ * @since 1.0.0
29
+ */
30
+ const EvmPublicClient = exports.EvmPublicClient = /*#__PURE__*/Context.GenericTag("@unionlabs/payments/EvmPublicClient");
31
+ // /**
32
+ // * @category layers
33
+ // * @since 1.0.0
34
+ // */
35
+ // export const layer = (
36
+ // config: PgClientConfig
37
+ // ): Layer.Layer<PgClient | Client.SqlClient, SqlError> =>
38
+ // Layer.scopedContext(
39
+ // Effect.map(make(config), (client) =>
40
+ // Context.make(PgClient, client).pipe(
41
+ // Context.add(Client.SqlClient, client)
42
+ // ))
43
+ // ).pipe(Layer.provide(Reactivity.layer))
44
+ /**
45
+ * A type-safe wrapper around viem's writeContract that handles error cases
46
+ * and returns an Effect with proper type inference. Extracts all error info
47
+ *
48
+ * @param client - The viem PublicClient to use for the contract transaction
49
+ * @param params - The parameters for the contract transaction
50
+ * @returns An Effect that resolves to the transaction hash
51
+ *
52
+ * @category utils
53
+ * @since 0.0.0
54
+ */
55
+ const makeViem = client => Effect.gen(function* () {
56
+ // const Viem = yield* Effect.tryPromise({
57
+ // try: () => import("viem").then((x) => x.default),
58
+ // catch: (cause) =>
59
+ // new Error.SystemError({
60
+ // reason: "DynamicImport",
61
+ // method: "makeViem",
62
+ // module: "EvmPublicClient",
63
+ // cause,
64
+ // description: "could not import viem",
65
+ // }),
66
+ // });
67
+ const readContract = Effect.fn("readContract")((params, schema) => (0, _Function.pipe)(Effect.tryPromise({
68
+ try: () => client.readContract(params),
69
+ catch: cause => new Error.SystemError({
70
+ method: "readContract",
71
+ module: "EvmPublicClient",
72
+ reason: "ReadContract",
73
+ cause
74
+ })
75
+ }), Effect.flatMap(S.decodeUnknown(schema)), Effect.catchTag("ParseError", cause => new Error.SystemError({
76
+ method: "readContract",
77
+ module: "EvmPublicClient",
78
+ reason: "InvalidData",
79
+ cause
80
+ }))));
81
+ const getLatestHeight = Effect.fn("getLatestHeight")((lightClientAddress, clientId) => readContract({
82
+ address: lightClientAddress,
83
+ abi: Abi.LIGHT_CLIENT_ABI,
84
+ functionName: "getLatestHeight",
85
+ args: [clientId]
86
+ }, S.BigIntFromSelf));
87
+ const getLightClientAddress = Effect.fn("getLightClientAddress")(function* (ibcStoreAddress, clientId) {
88
+ const res = yield* readContract({
89
+ address: ibcStoreAddress,
90
+ abi: Abi.IBC_STORE_ABI,
91
+ functionName: "getClient",
92
+ args: [clientId]
93
+ }, PS.Hex);
94
+ return Domain.LightClientAddress(res);
95
+ });
96
+ const getStateRootIndex = Effect.fn("getStateRootIndex")((zAssetAddress, clientId) => readContract({
97
+ address: zAssetAddress,
98
+ abi: Abi.ZASSET_ABI,
99
+ functionName: "stateRootIndex",
100
+ args: [clientId]
101
+ }, S.BigIntFromSelf));
102
+ const getConsensusState = Effect.fn("getConsensusState")((lightClientAddress, clientId, height, stateRootIndex) => (0, _Function.pipe)(readContract({
103
+ address: lightClientAddress,
104
+ abi: Abi.LIGHT_CLIENT_ABI,
105
+ functionName: "getConsensusState",
106
+ args: [clientId, height]
107
+ }, PS.Hex),
108
+ // XXX: this can definitely fail
109
+ Effect.map(consensusBytes => {
110
+ const bytes = (0, _viem.hexToBytes)(consensusBytes);
111
+ const idx = Number(stateRootIndex);
112
+ const stateRoot = (0, _viem.bytesToHex)(bytes.slice(idx, idx + 32));
113
+ return {
114
+ stateRoot
115
+ };
116
+ })));
117
+ const getIbcHandlerAddress = Effect.fn("getIbcHandlerAddress")(function* (zAssetAddress) {
118
+ return Domain.IbcHandlerAddress(yield* readContract({
119
+ address: zAssetAddress,
120
+ abi: Abi.ZASSET_ABI,
121
+ functionName: "ibcHandler"
122
+ }, PS.Hex));
123
+ });
124
+ const readZAssetTokenBalance = Effect.fn("readZAssetTokenBalance")((tokenAddress, accountAddress, blockNumber) => readContract({
125
+ address: tokenAddress,
126
+ abi: [{
127
+ inputs: [{
128
+ name: "account",
129
+ type: "address"
130
+ }],
131
+ name: "balanceOf",
132
+ outputs: [{
133
+ name: "",
134
+ type: "uint256"
135
+ }],
136
+ stateMutability: "view",
137
+ type: "function"
138
+ }],
139
+ functionName: "balanceOf",
140
+ args: [accountAddress],
141
+ blockNumber
142
+ }, S.BigIntFromSelf));
143
+ const readNullifierBalance = Effect.fn("readNullifierBalance")((zAssetAddress, nullifier) => readContract({
144
+ address: zAssetAddress,
145
+ abi: Abi.ZASSET_ABI,
146
+ functionName: "nullifierBalance",
147
+ args: [nullifier]
148
+ }, S.BigIntFromSelf));
149
+ const getLatestBlockNumber = Effect.fn("getLatestBlockNumber")(() => Effect.tryPromise({
150
+ try: () => client.getBlockNumber(),
151
+ catch: cause => new Error.SystemError({
152
+ method: "getLatestBlockNumber",
153
+ module: "EvmPublicClient",
154
+ reason: "InvalidData",
155
+ cause
156
+ })
157
+ }));
158
+ const readBalanceAtHeight = Effect.fn("readBalanceAtHeight")(opts => Effect.gen(function* () {
159
+ const latestHeight = yield* getLatestBlockNumber();
160
+ const srcZAssetAddress = yield* ZAssetRegistry.getZAsset(opts.srcChainId, opts.srcErc20Address).pipe(Effect.mapError(cause => new Error.SystemError({
161
+ method: "readBalanceAtHeight",
162
+ module: "EvmPublicClient",
163
+ reason: "InvalidData",
164
+ cause
165
+ })));
166
+ const dstZAssetAddress = yield* ZAssetRegistry.getZAsset(opts.dstChainId, opts.dstErc20Address).pipe(Effect.mapError(cause => new Error.SystemError({
167
+ method: "readBalanceAtHeight",
168
+ module: "EvmPublicClient",
169
+ reason: "InvalidData",
170
+ cause
171
+ })));
172
+ const [balanceAtTip, confirmed, redeemed] = yield* Effect.all([
173
+ // ZAsset balance of the deposit address ZAsset on the source chain at the tip of the chain
174
+ readZAssetTokenBalance(srcZAssetAddress, opts.depositAddress, latestHeight),
175
+ // ZAsset balance of the deposit address on the source chain at the (latest) light client height
176
+ readZAssetTokenBalance(srcZAssetAddress, opts.depositAddress, opts.height),
177
+ // amount that has already been redeemed under the specified nullifier
178
+ readNullifierBalance(dstZAssetAddress, opts.nullifier)], {
179
+ concurrency: "unbounded"
180
+ });
181
+ const available = confirmed > redeemed ? confirmed - redeemed : 0n;
182
+ const pending = balanceAtTip > confirmed ? balanceAtTip - confirmed : 0n;
183
+ return {
184
+ confirmed,
185
+ redeemed,
186
+ available,
187
+ pending,
188
+ latestHeight
189
+ };
190
+ }));
191
+ const readBalance = Effect.fn("readBalance")(opts => Effect.gen(function* () {
192
+ const dstZAssetAddress = yield* ZAssetRegistry.getZAsset(opts.dstChainId, opts.dstErc20Address).pipe(Effect.mapError(cause => new Error.SystemError({
193
+ method: "readBalance",
194
+ module: "EvmPublicClient",
195
+ reason: "InvalidData",
196
+ cause
197
+ })));
198
+ yield* Effect.log({
199
+ opts,
200
+ dstZAssetAddress
201
+ });
202
+ const ibcHandlerAddress = yield* getIbcHandlerAddress(dstZAssetAddress);
203
+ const lightClientAddress = yield* getLightClientAddress(ibcHandlerAddress, opts.clientId);
204
+ const lightClientHeight = yield* getLatestHeight(lightClientAddress, opts.clientId);
205
+ const balance = yield* readBalanceAtHeight({
206
+ srcErc20Address: opts.srcErc20Address,
207
+ srcChainId: opts.srcChainId,
208
+ dstErc20Address: opts.dstErc20Address,
209
+ dstChainId: opts.dstChainId,
210
+ depositAddress: opts.depositAddress,
211
+ nullifier: opts.nullifier,
212
+ height: lightClientHeight
213
+ });
214
+ return {
215
+ ...balance,
216
+ lightClientHeight
217
+ };
218
+ }));
219
+ const getCounterparty = Effect.fn("getCounterparty")((zAssetAddress, clientId) => readContract({
220
+ address: zAssetAddress,
221
+ abi: Abi.ZASSET_ABI,
222
+ functionName: "counterparty",
223
+ args: [clientId]
224
+ }, Domain.CounterpartyInfo));
225
+ const getProof = Effect.fn("getProof")(options => Effect.tryPromise({
226
+ try: () => client.getProof(options),
227
+ catch: cause => new Error.SystemError({
228
+ method: "getProof",
229
+ module: "EvmWalletClient",
230
+ reason: "InvalidData",
231
+ cause
232
+ })
233
+ }));
234
+ const waitForTransactionReceipt = Effect.fn("waitForTransactionReceipt")(hash => (0, _Function.pipe)(Effect.tryPromise({
235
+ try: () => client.waitForTransactionReceipt({
236
+ hash
237
+ }),
238
+ catch: cause => new Error.SystemError({
239
+ method: "waitForTransactionReceipt",
240
+ module: "EvmWalletClient",
241
+ reason: "InvalidData",
242
+ cause
243
+ })
244
+ }), Effect.flatMap(x => x.status === "success" ? Effect.succeed(x) : Effect.fail(new Error.SystemError({
245
+ method: "waitForTransactionReceipt",
246
+ module: "EvmWalletClient",
247
+ reason: "InvalidData",
248
+ description: "contract reverted"
249
+ })))));
250
+ const waitForBlock = Effect.fn("waitForBlock")(targetHeight => (0, _Function.pipe)(getLatestBlockNumber(), Effect.flatMap(initial => Effect.iterate(initial, {
251
+ // one block extra to avoid loadbalancer issues
252
+ while: height => height <= targetHeight,
253
+ body: () => (0, _Function.pipe)(Effect.sleep(Duration.seconds(1)), Effect.andThen(getLatestBlockNumber))
254
+ }))));
255
+ const simulateCalls = Effect.fn("simulateCalls")(params => Effect.tryPromise({
256
+ try: async () => {
257
+ const {
258
+ simulateCalls
259
+ } = await import("viem/actions");
260
+ return simulateCalls(client, {
261
+ calls: params.calls.map(call => ({
262
+ to: call.to,
263
+ data: call.data,
264
+ value: call.value
265
+ })),
266
+ account: params.account
267
+ });
268
+ },
269
+ catch: cause => new Error.SystemError({
270
+ method: "simulateCalls",
271
+ module: "EvmPublicClient",
272
+ reason: "InvalidData",
273
+ cause
274
+ })
275
+ }));
276
+ return Object.assign(yield* Client.make({
277
+ getLatestHeight,
278
+ getLatestBlockNumber,
279
+ readBalance,
280
+ readBalanceAtHeight,
281
+ getLightClientAddress,
282
+ getStateRootIndex,
283
+ getConsensusState,
284
+ getIbcHandlerAddress,
285
+ getCounterparty,
286
+ getProof,
287
+ waitForBlock
288
+ }), {
289
+ [TypeId]: TypeId,
290
+ waitForTransactionReceipt,
291
+ simulateCalls
292
+ });
293
+ });
294
+ /**
295
+ * @category layers
296
+ * @since 1.0.0
297
+ */
298
+ exports.makeViem = makeViem;
299
+ const layerFromViem = config => Layer.scopedContext(Effect.map(makeViem(config), client => Context.make(EvmPublicClient, client).pipe(Context.add(Client.PublicClient, client))));
300
+ exports.layerFromViem = layerFromViem;
301
+ //# sourceMappingURL=EvmPublicClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmPublicClient.js","names":["Context","_interopRequireWildcard","require","Duration","Effect","_Function","Layer","S","_viem","Abi","ZAssetRegistry","Domain","Error","Client","PS","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","EvmPublicClient","GenericTag","makeViem","client","gen","readContract","fn","params","schema","pipe","tryPromise","try","catch","cause","SystemError","method","module","reason","flatMap","decodeUnknown","catchTag","getLatestHeight","lightClientAddress","clientId","address","abi","LIGHT_CLIENT_ABI","functionName","args","BigIntFromSelf","getLightClientAddress","ibcStoreAddress","res","IBC_STORE_ABI","Hex","LightClientAddress","getStateRootIndex","zAssetAddress","ZASSET_ABI","getConsensusState","height","stateRootIndex","map","consensusBytes","bytes","hexToBytes","idx","Number","stateRoot","bytesToHex","slice","getIbcHandlerAddress","IbcHandlerAddress","readZAssetTokenBalance","tokenAddress","accountAddress","blockNumber","inputs","name","type","outputs","stateMutability","readNullifierBalance","nullifier","getLatestBlockNumber","getBlockNumber","readBalanceAtHeight","opts","latestHeight","srcZAssetAddress","getZAsset","srcChainId","srcErc20Address","mapError","dstZAssetAddress","dstChainId","dstErc20Address","balanceAtTip","confirmed","redeemed","all","depositAddress","concurrency","available","pending","readBalance","log","ibcHandlerAddress","lightClientHeight","balance","getCounterparty","CounterpartyInfo","getProof","options","waitForTransactionReceipt","hash","x","status","succeed","fail","description","waitForBlock","targetHeight","initial","iterate","while","body","sleep","seconds","andThen","simulateCalls","calls","to","data","value","account","assign","make","layerFromViem","config","scopedContext","add","PublicClient"],"sources":["../../src/EvmPublicClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}