@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":"EvmPublicClient.d.ts","sourceRoot":"","sources":["../../src/EvmPublicClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAIlC,OAAO,KAAK,EAGV,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAG5C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAA8C,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,qCAAqC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,YAAY;IAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,yBAAyB,EAAE,CAClC,IAAI,EAAE,MAAM,KACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEnE,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;YAClB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;SAC5B,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;KACzB,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,+CAE3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAgBvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GACnB,QAAQ,IAAI,CAAC,YAAY,KACxB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAubnD,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,IAAI,CAAC,YAAY,KACxB,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAOjE,CAAC"}
@@ -0,0 +1,67 @@
1
+ import * as Context from "effect/Context";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Layer from "effect/Layer";
4
+ import type * as P from "effect/Predicate";
5
+ import type * as Scope from "effect/Scope";
6
+ import type * as Mipd from "mipd";
7
+ import type * as Viem from "viem";
8
+ import * as Error from "./Error.js";
9
+ import * as Client from "./WalletClient.js";
10
+ /**
11
+ * @category type ids
12
+ * @since 1.0.0
13
+ */
14
+ export declare const TypeId: TypeId;
15
+ /**
16
+ * @category type ids
17
+ * @since 1.0.0
18
+ */
19
+ export type TypeId = "@unionlabs/payments/EvmWalletClient";
20
+ /**
21
+ * @category models
22
+ * @since 1.0.0
23
+ */
24
+ export interface EvmWalletClient extends Client.WalletClient {
25
+ readonly [TypeId]: TypeId;
26
+ readonly prepareBatchTransactionRequest: (calls: Array<{
27
+ to: `0x${string}`;
28
+ data: `0x${string}`;
29
+ value?: bigint;
30
+ }>) => Effect.Effect<Array<any>, Error.SdkError, never>;
31
+ }
32
+ /**
33
+ * @category tags
34
+ * @since 1.0.0
35
+ */
36
+ export declare const EvmWalletClient: Context.Tag<EvmWalletClient, EvmWalletClient>;
37
+ /**
38
+ * @category constructors
39
+ * @since 1.0.0
40
+ */
41
+ export type EvmWalletClientConfig = {};
42
+ /**
43
+ * A type-safe wrapper around viem's writeContract that handles error cases
44
+ * and returns an Effect with proper type inference. Extracts all error info
45
+ *
46
+ * @param client - The viem WalletClient to use for the contract transaction
47
+ * @param params - The parameters for the contract transaction
48
+ * @returns An Effect that resolves to the transaction hash
49
+ *
50
+ * @category utils
51
+ * @since 0.0.0
52
+ */
53
+ export declare const makeViem: <transport extends Viem.Transport = Viem.Transport, chain extends Viem.Chain | undefined = Viem.Chain | undefined, account extends Viem.Account | undefined = Viem.Account | undefined, rpcSchema extends Viem.RpcSchema | undefined = undefined>(wallet: Viem.WalletClient<transport, chain, account, rpcSchema>) => Effect.Effect<EvmWalletClient, Error.SdkError, Scope.Scope>;
54
+ /**
55
+ * @category layers
56
+ * @since 1.0.0
57
+ */
58
+ export declare const layerFromViem: (config: Viem.WalletClient) => Layer.Layer<EvmWalletClient | Client.WalletClient, Error.SdkError>;
59
+ /**
60
+ * @category layers
61
+ * @since 1.0.0
62
+ */
63
+ export declare const layerFromBrowser: (options: {
64
+ providerPredicate: P.Predicate<Mipd.EIP6963ProviderDetail>;
65
+ accountPredicate: P.Predicate<`0x${string}`>;
66
+ }) => Layer.Layer<EvmWalletClient | Client.WalletClient, Error.SdkError>;
67
+ //# sourceMappingURL=EvmWalletClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EvmWalletClient.d.ts","sourceRoot":"","sources":["../../src/EvmWalletClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAE3C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,KAAK,IAAI,MAAM,MAAM,CAAC;AAKlC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AAEpC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAA8C,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,qCAAqC,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,YAAY;IAC1D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,8BAA8B,EAAE,CACvC,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;QAClB,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,KACC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;CACvD;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,+CAE3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,GACnB,SAAS,SAAS,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EACjD,KAAK,SAAS,IAAI,CAAC,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,SAAS,EAC7D,OAAO,SAAS,IAAI,CAAC,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS,EACnE,SAAS,SAAS,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,SAAS,EAExD,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,KAC9D,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAqyBzD,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,IAAI,CAAC,YAAY,KACxB,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAOjE,CAAC;AA6HJ;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS;IACxC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC3D,gBAAgB,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;CAC9C,KAAG,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAC3B,CAAC"}
@@ -0,0 +1,128 @@
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 } from "effect";
6
+ import { type Address } from "viem";
7
+ import * as Attestor from "./Attestor.js";
8
+ import type { Erc20Address } from "./Domain.js";
9
+ import * as Domain from "./Domain.js";
10
+ import * as Error from "./Error.js";
11
+ import * as Prover from "./Prover.js";
12
+ import * as PublicClient from "./PublicClient.js";
13
+ import type * as PS from "./Schema.js";
14
+ import type { LightClientData } from "./types.js";
15
+ import * as WalletClient from "./WalletClient.js";
16
+ /**
17
+ * @public
18
+ */
19
+ export interface DepositOptions {
20
+ /** The 32-byte secret payment key as a hex string */
21
+ readonly paymentKey: PS.Hex;
22
+ /** Array of 0-4 beneficiary addresses*/
23
+ readonly beneficiaries: ReadonlyArray<Address>;
24
+ /** Amount to deposit (in underlying token's smallest unit) */
25
+ readonly amount: bigint;
26
+ readonly destinationChainId: bigint;
27
+ readonly sourceChainId: bigint;
28
+ readonly srcErc20Address: Domain.Erc20Address;
29
+ }
30
+ /**
31
+ * @public
32
+ */
33
+ export interface RedeemOptions {
34
+ /** The 32-byte secret payment key as a hex string */
35
+ paymentKey: PS.Hex;
36
+ /** Array of 0-4 beneficiary addresses */
37
+ beneficiaries: Address[];
38
+ /** The beneficiary address to redeem to */
39
+ beneficiary: Address;
40
+ /** Amount to redeem */
41
+ amount: bigint;
42
+ /** Light client IDs to include in the proof (for anonymity set) */
43
+ clientIds: number[];
44
+ /** The specific light client ID to use for the proof */
45
+ selectedClientId: number;
46
+ /** Auto unwrap */
47
+ unwrap?: boolean | undefined;
48
+ }
49
+ export declare const getDepositAddress: (secret: `0x${string}`, beneficiaries: readonly `0x${string}`[], destinationChainId: bigint) => Effect.Effect<Domain.ZAssetAddress, Error.SystemError, never>;
50
+ export declare const getNullifier: (secret: `0x${string}`, destinationChainId: bigint) => Effect.Effect<bigint, Error.SystemError, never>;
51
+ /**
52
+ * Deterministically shuffle light clients using the secret as seed.
53
+ * Same secret always produces the same ordering for privacy.
54
+ * @public
55
+ */
56
+ export declare function deterministicShuffleClients(clients: LightClientData[], secret: PS.Hex): LightClientData[];
57
+ export declare const computeStorageSlot: (address: `0x${string}`, mappingSlot: bigint) => Effect.Effect<`0x${string}`, never, never>;
58
+ export declare const generateProof: (options: {
59
+ secret: PS.Hex;
60
+ beneficiaries: Address[];
61
+ beneficiary: Address;
62
+ amount: bigint;
63
+ clientIds: number[];
64
+ selectedClientId: number;
65
+ srcChainId: bigint;
66
+ dstChainId: bigint;
67
+ srcErc20Address: Erc20Address;
68
+ dstErc20Address: Erc20Address;
69
+ }) => Effect.Effect<{
70
+ readonly proof: {
71
+ readonly proof: readonly [string, string, string, string, string, string, string, string];
72
+ readonly commitments: readonly [string, string];
73
+ readonly commitmentPok: readonly [string, string];
74
+ readonly publicInputs: readonly string[];
75
+ };
76
+ readonly metadata: {
77
+ readonly depositAddress: Domain.ZAssetAddress;
78
+ readonly beneficiary: `0x${string}`;
79
+ readonly value: bigint;
80
+ readonly lightClients: LightClientData[];
81
+ readonly nullifier: bigint;
82
+ };
83
+ }, Error.SdkError | {
84
+ proof: {
85
+ success: boolean;
86
+ error: string;
87
+ };
88
+ }, PublicClient.PublicClient | PublicClient.SourcePublicClient | PublicClient.DestinationPublicClient | Prover.Prover>;
89
+ export declare const prepareRedemption: (options: {
90
+ /** The 32-byte secret payment key as a hex string */
91
+ paymentKey: PS.Hex;
92
+ /** Array of 0-4 beneficiary addresses */
93
+ beneficiaries: Address[];
94
+ /** The beneficiary address to redeem to */
95
+ beneficiary: Address;
96
+ /** Amount to redeem */
97
+ amount: bigint;
98
+ /** Light client IDs to include in the proof (for anonymity set) */
99
+ clientIds: number[];
100
+ /** The specific light client ID to use for the proof */
101
+ selectedClientId: number;
102
+ srcChainId: bigint;
103
+ dstChainId: bigint;
104
+ srcErc20Address: Domain.Erc20Address;
105
+ dstErc20Address: Domain.Erc20Address;
106
+ /** Auto unwrap */
107
+ unwrap?: boolean | undefined;
108
+ }) => Effect.Effect<{
109
+ readonly _tag: "viem";
110
+ readonly kind: Domain.RequestKind;
111
+ readonly request: import("viem").PrepareTransactionRequestReturnType;
112
+ }, Error.SdkError | {
113
+ proof: {
114
+ success: boolean;
115
+ error: string;
116
+ };
117
+ }, Attestor.Attestor | PublicClient.PublicClient | PublicClient.SourcePublicClient | PublicClient.DestinationPublicClient | WalletClient.DestinationWalletClient | Prover.Prover>;
118
+ export declare const generateKey: Effect.Effect<`0x${string}`, never, never>;
119
+ export declare const prepareDeposit: (options: DepositOptions) => Effect.Effect<readonly [{
120
+ readonly _tag: "viem";
121
+ readonly kind: Domain.RequestKind;
122
+ readonly request: import("viem").PrepareTransactionRequestReturnType;
123
+ }, ...{
124
+ readonly _tag: "viem";
125
+ readonly kind: Domain.RequestKind;
126
+ readonly request: import("viem").PrepareTransactionRequestReturnType;
127
+ }[]], Error.SdkError, WalletClient.SourceWalletClient>;
128
+ //# sourceMappingURL=Payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Payment.d.ts","sourceRoot":"","sources":["../../src/Payment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAEtC,OAAO,EACL,KAAK,OAAO,EAQb,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAG1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAMlD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC;IAC5B,wCAAwC;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/C,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qDAAqD;IACrD,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC;IACnB,yCAAyC;IACzC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,2CAA2C;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,+JAgB7B,CAAC;AAuBF,eAAO,MAAM,YAAY,wGAYxB,CAAC;AACF;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,eAAe,EAAE,EAC1B,MAAM,EAAE,EAAE,CAAC,GAAG,GACb,eAAe,EAAE,CA8BnB;AAED,eAAO,MAAM,kBAAkB,6FAW7B,CAAC;AAoCH,eAAO,MAAM,aAAa;YAChB,EAAE,CAAC,GAAG;mBACC,OAAO,EAAE;iBACX,OAAO;YACZ,MAAM;eACH,MAAM,EAAE;sBACD,MAAM;gBACZ,MAAM;gBACN,MAAM;qBACD,YAAY;qBACZ,YAAY;;;;;;;;;;;;;;;;;;;;sHA4J7B,CAAC;AAqCH,eAAO,MAAM,iBAAiB;IAC5B,qDAAqD;gBACzC,EAAE,CAAC,GAAG;IAClB,yCAAyC;mBAC1B,OAAO,EAAE;IACxB,2CAA2C;iBAC9B,OAAO;IACpB,uBAAuB;YACf,MAAM;IACd,mEAAmE;eACxD,MAAM,EAAE;IACnB,wDAAwD;sBACtC,MAAM;gBACZ,MAAM;gBACN,MAAM;qBACD,MAAM,CAAC,YAAY;qBACnB,MAAM,CAAC,YAAY;IACpC,kBAAkB;aACT,OAAO,GAAG,SAAS;;;;;;;;;;iLAqD5B,CAAC;AAEH,eAAO,MAAM,WAAW,4CAiBtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;sDAmB1B,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ export declare const PaymentErrorTypeId: unique symbol;
5
+ /**
6
+ * @since 1.0.0
7
+ */
8
+ export type PaymentErrorTypeId = typeof PaymentErrorTypeId;
9
+ declare const PaymentError_base: new <A extends Record<string, any>>(args: import("effect/Types").Simplify<A>) => import("effect/Cause").YieldableError & Record<typeof PaymentErrorTypeId, typeof PaymentErrorTypeId> & {
10
+ readonly _tag: "PaymentError";
11
+ } & Readonly<A>;
12
+ /**
13
+ * @since 1.0.0
14
+ */
15
+ export declare class PaymentError extends PaymentError_base<{
16
+ cause: unknown;
17
+ message?: string;
18
+ }> {
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=PaymentError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentError.d.ts","sourceRoot":"","sources":["../../src/PaymentError.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,MAEvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC;;;;AAE3D;;GAEG;AACH,qBAAa,YAAa,SAAQ,kBAGhC;IACA,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;CAAG"}
@@ -0,0 +1,87 @@
1
+ import { Effect } from "effect";
2
+ import type * as P from "effect/Predicate";
3
+ import * as S from "effect/Schema";
4
+ import type { Address, Hex } from "viem";
5
+ import type * as Domain from "./Domain.js";
6
+ import * as Error from "./Error.js";
7
+ import * as GenProver from "./gen/prover_pb.js";
8
+ import type { LightClientData, MptProofData } from "./types.js";
9
+ /**
10
+ * Result from the prover server after proof generation.
11
+ * @public
12
+ */
13
+ export interface ProofResult {
14
+ /** Whether proof generation succeeded */
15
+ success: boolean;
16
+ /** Serialized proof data (only present on success) */
17
+ proofJson?: Uint8Array;
18
+ /** Error message (only present on failure) */
19
+ error?: string;
20
+ /** Timestamp when the proof was created */
21
+ createdAt?: Date;
22
+ }
23
+ /**
24
+ * @public
25
+ */
26
+ export interface WitnessData {
27
+ secret: Hex;
28
+ dstChainId: bigint;
29
+ beneficiaries: [Address, Address, Address, Address];
30
+ beneficiary: Address;
31
+ redeemAmount: bigint;
32
+ alreadyRedeemed: bigint;
33
+ lightClients: LightClientData[];
34
+ selectedClientIndex: number;
35
+ mptProof: MptProofData;
36
+ srcZAssetAddress: Domain.ZAssetAddress;
37
+ mappingSlot: Hex;
38
+ }
39
+ type PollResult = GenProver.PollResponse["result"];
40
+ type PendingResult = Extract<PollResult, {
41
+ case: "pending";
42
+ }>;
43
+ type DoneResult = Extract<PollResult, {
44
+ case: "done";
45
+ }>;
46
+ type FailedResult = Extract<PollResult, {
47
+ case: "failed";
48
+ }>;
49
+ export declare const isPending: P.Refinement<PollResult, PendingResult>;
50
+ export declare const isDone: P.Refinement<PollResult, DoneResult>;
51
+ export declare const isFailed: P.Refinement<PollResult, FailedResult>;
52
+ export declare const Proof: S.Struct<{
53
+ proof: S.Tuple<[typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String]>;
54
+ commitments: S.Tuple2<typeof S.String, typeof S.String>;
55
+ commitmentPok: S.Tuple2<typeof S.String, typeof S.String>;
56
+ publicInputs: S.Array$<typeof S.String>;
57
+ }>;
58
+ export type Proof = typeof Proof.Type;
59
+ export declare const ProofFromBytes: S.transform<S.transform<typeof S.Uint8ArrayFromSelf, typeof S.String>, S.transform<S.SchemaClass<unknown, string, never>, S.Struct<{
60
+ proof: S.Tuple<[typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String, typeof S.String]>;
61
+ commitments: S.Tuple2<typeof S.String, typeof S.String>;
62
+ commitmentPok: S.Tuple2<typeof S.String, typeof S.String>;
63
+ publicInputs: S.Array$<typeof S.String>;
64
+ }>>>;
65
+ declare const Prover_base: Effect.Service.Class<Prover, "Prover", {
66
+ readonly scoped: (options: {
67
+ readonly proverUrl?: string | URL | undefined;
68
+ }) => Effect.Effect<{
69
+ readonly generateProof: (witness: WitnessData) => Effect.Effect<{
70
+ readonly proof: readonly [string, string, string, string, string, string, string, string];
71
+ readonly commitments: readonly [string, string];
72
+ readonly commitmentPok: readonly [string, string];
73
+ readonly publicInputs: readonly string[];
74
+ }, Error.SystemError, never>;
75
+ readonly exportVerifier: Effect.Effect<string, Error.SystemError, never>;
76
+ }, Error.SystemError, never>;
77
+ }>;
78
+ /**
79
+ * Prover client for communicating with the prover gRPC-web server
80
+ *
81
+ * Uses `@connectrpc/connect-web` to communicate with the gRPC-web server.
82
+ * @public
83
+ */
84
+ export declare class Prover extends Prover_base {
85
+ }
86
+ export {};
87
+ //# sourceMappingURL=Prover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prover.d.ts","sourceRoot":"","sources":["../../src/Prover.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,MAAM,EAAyB,MAAM,QAAQ,CAAC;AAC7D,OAAO,KAAK,KAAK,CAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAShE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC;IACvC,WAAW,EAAE,GAAG,CAAC;CAClB;AAED,KAAK,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACnD,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAC9D,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACxD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAE5D,eAAO,MAAM,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,aAAa,CAEP,CAAC;AAExD,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAEP,CAAC;AAElD,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,CAEP,CAAC;AAKtD,eAAO,MAAM,KAAK;;;;;EAehB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AAEtC,eAAO,MAAM,cAAc;;;;;IAM1B,CAAC;;;;;;;;;;;;;;AAEF;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,WAuI1B;CAAG"}
@@ -0,0 +1,146 @@
1
+ import { Layer } from "effect";
2
+ import * as Context from "effect/Context";
3
+ import type * as Effect from "effect/Effect";
4
+ import type { GetProofReturnType } from "viem";
5
+ import type * as Domain from "./Domain.js";
6
+ import type { SdkError } from "./Error.js";
7
+ import type { ConsensusState, CounterpartyInfo } from "./types.js";
8
+ /**
9
+ * @category type ids
10
+ * @since 1.0.0
11
+ */
12
+ export declare const TypeId: unique symbol;
13
+ /**
14
+ * @category type ids
15
+ * @since 1.0.0
16
+ */
17
+ export type TypeId = typeof TypeId;
18
+ /**
19
+ * @category models
20
+ * @since 1.0.0
21
+ */
22
+ export interface PublicClient {
23
+ readonly [TypeId]: TypeId;
24
+ /**
25
+ * Copy of the client for safeql etc.
26
+ */
27
+ readonly safe: this;
28
+ readonly getLatestHeight: (lightClientAddress: Domain.LightClientAddress, clientId: number) => Effect.Effect<bigint, SdkError, never>;
29
+ readonly getLatestBlockNumber: () => Effect.Effect<bigint, SdkError>;
30
+ readonly readBalance: (options: PublicClient.ReadBalanceOptions) => Effect.Effect<PublicClient.BalanceInfo, SdkError>;
31
+ readonly readBalanceAtHeight: (options: PublicClient.ReadBalanceAtHeightOptions) => Effect.Effect<PublicClient.BalanceAtHeightInfo, SdkError>;
32
+ readonly getLightClientAddress: (ibcStoreAddress: Domain.IbcHandlerAddress, clientId: number) => Effect.Effect<Domain.LightClientAddress, SdkError, never>;
33
+ readonly getStateRootIndex: (zAssetAddress: Domain.ZAssetAddress, clientId: number) => Effect.Effect<bigint, SdkError, never>;
34
+ readonly getConsensusState: (lightClientAddress: Domain.LightClientAddress, clientId: number, height: bigint, satteRootIndex: bigint) => Effect.Effect<ConsensusState, SdkError, never>;
35
+ readonly getIbcHandlerAddress: (zAssetAddress: Domain.ZAssetAddress) => Effect.Effect<Domain.IbcHandlerAddress, SdkError, never>;
36
+ readonly getCounterparty: (zAssetAddress: Domain.ZAssetAddress, clientId: number) => Effect.Effect<CounterpartyInfo, SdkError, never>;
37
+ readonly getProof: (options: {
38
+ address: `0x${string}`;
39
+ storageKeys: `0x${string}`[];
40
+ blockNumber: bigint;
41
+ }) => Effect.Effect<GetProofReturnType, SdkError, never>;
42
+ readonly waitForBlock: (targetHeight: bigint) => Effect.Effect<bigint, SdkError, never>;
43
+ }
44
+ /**
45
+ * @category models
46
+ * @since 1.0.0
47
+ */
48
+ export declare const PublicClient: Context.Tag<PublicClient, PublicClient>;
49
+ declare const SourcePublicClient_base: Context.TagClass<SourcePublicClient, "SourcePublicClient", PublicClient>;
50
+ /**
51
+ * @category models
52
+ * @since 1.0.0
53
+ */
54
+ export declare class SourcePublicClient extends SourcePublicClient_base {
55
+ static layer: <E, R>(layer: Layer.Layer<PublicClient, E, R>) => Layer.Layer<SourcePublicClient, E, R>;
56
+ }
57
+ declare const DestinationPublicClient_base: Context.TagClass<DestinationPublicClient, "DestinationPublicClient", PublicClient>;
58
+ /**
59
+ * @category models
60
+ * @since 1.0.0
61
+ */
62
+ export declare class DestinationPublicClient extends DestinationPublicClient_base {
63
+ static layer: <E, R>(layer: Layer.Layer<PublicClient, E, R>) => Layer.Layer<DestinationPublicClient, E, R>;
64
+ }
65
+ /**
66
+ * @category models
67
+ * @since 1.0.0
68
+ */
69
+ export declare namespace PublicClient {
70
+ /**
71
+ * Consensus state from a light client
72
+ * @category models
73
+ * @since 1.0.0
74
+ */
75
+ interface ConsensusState {
76
+ readonly stateRoot: `0x${string}`;
77
+ }
78
+ /**
79
+ * Options for readBalance
80
+ * @category models
81
+ * @since 1.0.0
82
+ */
83
+ interface ReadBalanceOptions {
84
+ readonly srcErc20Address: Domain.Erc20Address;
85
+ readonly srcChainId: bigint;
86
+ readonly dstErc20Address: Domain.Erc20Address;
87
+ readonly dstChainId: bigint;
88
+ readonly depositAddress: `0x${string}`;
89
+ readonly nullifier: bigint;
90
+ readonly clientId: number;
91
+ }
92
+ /**
93
+ * Options for readBalanceAtHeight
94
+ * @category models
95
+ * @since 1.0.0
96
+ */
97
+ interface ReadBalanceAtHeightOptions {
98
+ readonly srcErc20Address: Domain.Erc20Address;
99
+ readonly dstErc20Address: Domain.Erc20Address;
100
+ readonly srcChainId: bigint;
101
+ readonly dstChainId: bigint;
102
+ readonly depositAddress: `0x${string}`;
103
+ readonly nullifier: bigint;
104
+ readonly height: bigint;
105
+ }
106
+ /**
107
+ * Balance information at a specific height
108
+ * @category models
109
+ * @since 1.0.0
110
+ */
111
+ interface BalanceAtHeightInfo {
112
+ readonly confirmed: bigint;
113
+ readonly redeemed: bigint;
114
+ readonly available: bigint;
115
+ readonly pending: bigint;
116
+ readonly latestHeight: bigint;
117
+ }
118
+ /**
119
+ * Full balance information including light client height
120
+ * @category models
121
+ * @since 1.0.0
122
+ */
123
+ interface BalanceInfo extends BalanceAtHeightInfo {
124
+ readonly lightClientHeight: bigint;
125
+ }
126
+ /**
127
+ * @category models
128
+ * @since 1.0.0
129
+ */
130
+ interface MakeOptions {
131
+ readonly getLatestHeight: PublicClient["getLatestHeight"];
132
+ readonly getLatestBlockNumber: PublicClient["getLatestBlockNumber"];
133
+ readonly readBalance: PublicClient["readBalance"];
134
+ readonly readBalanceAtHeight: PublicClient["readBalanceAtHeight"];
135
+ readonly getProof: PublicClient["getProof"];
136
+ readonly waitForBlock: PublicClient["waitForBlock"];
137
+ readonly getLightClientAddress: PublicClient["getLightClientAddress"];
138
+ readonly getStateRootIndex: PublicClient["getStateRootIndex"];
139
+ readonly getConsensusState: PublicClient["getConsensusState"];
140
+ readonly getIbcHandlerAddress: PublicClient["getIbcHandlerAddress"];
141
+ readonly getCounterparty: PublicClient["getCounterparty"];
142
+ }
143
+ }
144
+ export declare const make: (options: PublicClient.MakeOptions) => Effect.Effect<PublicClient, never>;
145
+ export {};
146
+ //# sourceMappingURL=PublicClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicClient.d.ts","sourceRoot":"","sources":["../../src/PublicClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as S from "effect/Schema";
2
+ /**
3
+ * Describes `0x${string}` from non-empty string.
4
+ *
5
+ * Note: To be used ineroperably with `viem`.
6
+ */
7
+ export declare const Hex: S.TemplateLiteral<`0x${string}`>;
8
+ export type Hex = typeof Hex.Type;
9
+ /**
10
+ * Describes `0x${string}` address from non-empty string.
11
+ *
12
+ * Note: To be used ineroperably with `viem`.
13
+ */
14
+ export declare const Address: S.TemplateLiteral<`0x${string}`>;
15
+ export type Address = typeof Address.Type;
16
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,GAAG,EAQA,CAAC,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;AACjD,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,IAAI,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAWJ,CAAC,CAAC,eAAe,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;AACjD,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { RedeemMetadata } from "./rpc.js";
2
+ import type { ProofJSON, RedeemParams } from "./types.js";
3
+ type DeepReadonly<T> = T extends (infer U)[] ? readonly DeepReadonly<U>[] : T extends object ? {
4
+ readonly [K in keyof T]: DeepReadonly<T[K]>;
5
+ } : T;
6
+ /**
7
+ * @public
8
+ */
9
+ export declare function proofJsonToRedeemParams(proofJson: DeepReadonly<ProofJSON>, metadata: Readonly<RedeemMetadata>): RedeemParams;
10
+ export {};
11
+ //# sourceMappingURL=Utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../src/Utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GACxC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,GAC1B,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAC;AAER;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,EAClC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,GACjC,YAAY,CA0Bd"}
@@ -0,0 +1,123 @@
1
+ import { Layer } from "effect";
2
+ import * as Context from "effect/Context";
3
+ import type * as Effect from "effect/Effect";
4
+ import type { Address } from "viem";
5
+ import type * as Domain from "./Domain.js";
6
+ import type { SdkError } from "./Error.js";
7
+ import type { RedeemParams } from "./types.js";
8
+ /**
9
+ * @category type ids
10
+ * @since 1.0.0
11
+ */
12
+ export declare const TypeId: unique symbol;
13
+ /**
14
+ * @category type ids
15
+ * @since 1.0.0
16
+ */
17
+ export type TypeId = typeof TypeId;
18
+ /**
19
+ * @category models
20
+ * @since 1.0.0
21
+ */
22
+ export interface WalletClient {
23
+ readonly [TypeId]: TypeId;
24
+ /**
25
+ * Approve the ZAsset for the provided ERC20 token to spend the ERC20.
26
+ *
27
+ * The ZAsset address is derived from Z_ASSET_REGISTRY.
28
+ */
29
+ readonly approveZAssetToSpendErc20: (args: WalletClient.ApproveZAssetToSpendErc20) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
30
+ /**
31
+ * Deposit ("wrap") the ERC20 into it's ZAsset.
32
+ *
33
+ * The ZAsset address is derived from Z_ASSET_REGISTRY.
34
+ */
35
+ readonly depositUnderlyingZAsset: (args: WalletClient.DepositUnderlyingZAsset) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
36
+ /**
37
+ * Transfer the deposited ZAssset to the provided deposit address.
38
+ *
39
+ * The ZAsset address is derived from Z_ASSET_REGISTRY.
40
+ */
41
+ readonly transferZAsset: (args: WalletClient.TransferZAsset) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
42
+ readonly updateLoopbackClient: (args: WalletClient.UpdateLoopbackClient) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
43
+ readonly prepareDeposit: (args: WalletClient.Deposit) => Effect.Effect<Domain.PreparedRequests, SdkError, never>;
44
+ readonly prepareRedemption: (args: WalletClient.Redeem) => Effect.Effect<Domain.PreparedRequest, SdkError, never>;
45
+ readonly sign: (request: Domain.PreparedRequest) => Effect.Effect<Domain.SignedRequest, SdkError, never>;
46
+ readonly submit: (request: Domain.SignedRequest) => Effect.Effect<Domain.SubmissionResult, SdkError, never>;
47
+ readonly signAndSubmit: (request: Domain.PreparedRequest) => Effect.Effect<Domain.SubmissionResult, SdkError, never>;
48
+ }
49
+ /**
50
+ * @category models
51
+ * @since 1.0.0
52
+ */
53
+ export declare const WalletClient: Context.Tag<WalletClient, WalletClient>;
54
+ declare const SourceWalletClient_base: Context.TagClass<SourceWalletClient, "SourceWalletClient", WalletClient>;
55
+ /**
56
+ * @category models
57
+ * @since 1.0.0
58
+ */
59
+ export declare class SourceWalletClient extends SourceWalletClient_base {
60
+ static layer: <E, R>(layer: Layer.Layer<WalletClient, E, R>) => Layer.Layer<SourceWalletClient, E, R>;
61
+ }
62
+ declare const DestinationWalletClient_base: Context.TagClass<DestinationWalletClient, "DestinationWalletClient", WalletClient>;
63
+ /**
64
+ * @category models
65
+ * @since 1.0.0
66
+ */
67
+ export declare class DestinationWalletClient extends DestinationWalletClient_base {
68
+ static layer: <E, R>(layer: Layer.Layer<WalletClient, E, R>) => Layer.Layer<DestinationWalletClient, E, R>;
69
+ }
70
+ /**
71
+ * @category models
72
+ * @since 1.0.0
73
+ */
74
+ export declare namespace WalletClient {
75
+ /**
76
+ * @category models
77
+ * @since 1.0.0
78
+ */
79
+ interface MakeOptions {
80
+ readonly sign: WalletClient["sign"];
81
+ readonly submit: WalletClient["submit"];
82
+ readonly signAndSubmit: WalletClient["signAndSubmit"];
83
+ readonly approveZAssetToSpendErc20: WalletClient["approveZAssetToSpendErc20"];
84
+ readonly depositUnderlyingZAsset: WalletClient["depositUnderlyingZAsset"];
85
+ readonly transferZAsset: WalletClient["transferZAsset"];
86
+ readonly updateLoopbackClient: WalletClient["updateLoopbackClient"];
87
+ readonly prepareDeposit: WalletClient["prepareDeposit"];
88
+ readonly prepareRedemption: WalletClient["prepareRedemption"];
89
+ }
90
+ interface ApproveZAssetToSpendErc20 {
91
+ srcErc20Address: Domain.Erc20Address;
92
+ amount: bigint;
93
+ }
94
+ interface UpdateLoopbackClient {
95
+ clientId: number;
96
+ height: bigint;
97
+ ibcHandlerAddress: Domain.IbcHandlerAddress;
98
+ }
99
+ interface DepositUnderlyingZAsset {
100
+ srcErc20Address: Domain.Erc20Address;
101
+ amount: bigint;
102
+ }
103
+ interface TransferZAsset {
104
+ srcErc20Address: Domain.Erc20Address;
105
+ depositAddress: `0x${string}`;
106
+ amount: bigint;
107
+ }
108
+ type Deposit = {
109
+ srcErc20Address: Domain.Erc20Address;
110
+ sourceChainId: bigint;
111
+ readonly beneficiaries: ReadonlyArray<Address>;
112
+ depositAddress: Domain.ZAssetAddress;
113
+ destinationChainId: bigint;
114
+ amount: bigint;
115
+ };
116
+ type Redeem = {
117
+ dstErc20Address: Domain.Erc20Address;
118
+ unwrap?: boolean | undefined;
119
+ } & RedeemParams;
120
+ }
121
+ export declare const make: (options: WalletClient.MakeOptions) => Effect.Effect<WalletClient, never, never>;
122
+ export {};
123
+ //# sourceMappingURL=WalletClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletClient.d.ts","sourceRoot":"","sources":["../../src/WalletClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAwB,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,yBAAyB,EAAE,CAClC,IAAI,EAAE,YAAY,CAAC,yBAAyB,KACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5D;;;;OAIG;IACH,QAAQ,CAAC,uBAAuB,EAAE,CAChC,IAAI,EAAE,YAAY,CAAC,uBAAuB,KACvC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5D;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,CACvB,IAAI,EAAE,YAAY,CAAC,cAAc,KAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5D,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,IAAI,EAAE,YAAY,CAAC,oBAAoB,KACpC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5D,QAAQ,CAAC,cAAc,EAAE,CACvB,IAAI,EAAE,YAAY,CAAC,OAAO,KACvB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7D,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,IAAI,EAAE,YAAY,CAAC,MAAM,KACtB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5D,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,MAAM,CAAC,eAAe,KAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAG1D,QAAQ,CAAC,MAAM,EAAE,CACf,OAAO,EAAE,MAAM,CAAC,aAAa,KAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7D,QAAQ,CAAC,aAAa,EAAE,CACtB,OAAO,EAAE,MAAM,CAAC,eAAe,KAC5B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;CAC9D;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAC7C,CAAC;;AAErB;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAGrC;IACD,MAAM,CAAC,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,2CACO;CACpE;;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,4BAEH;IACxC,MAAM,CAAC,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,gDACY;CACzE;AAED;;;GAGG;AACH,yBAAiB,YAAY,CAAC;IAC5B;;;OAGG;IACH,UAAiB,WAAW;QAC1B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;QACtD,QAAQ,CAAC,yBAAyB,EAAE,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAC9E,QAAQ,CAAC,uBAAuB,EAAE,YAAY,CAAC,yBAAyB,CAAC,CAAC;QAC1E,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACxD,QAAQ,CAAC,oBAAoB,EAAE,YAAY,CAAC,sBAAsB,CAAC,CAAC;QACpE,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACxD,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC;KAC/D;IAED,UAAiB,yBAAyB;QACxC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC;KAChB;IAED,UAAiB,oBAAoB;QACnC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC;KAC7C;IAED,UAAiB,uBAAuB;QACtC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC;KAChB;IAED,UAAiB,cAAc;QAC7B,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;QACrC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC;KAChB;IAED,KAAY,OAAO,GAAG;QACpB,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;QACrC,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,cAAc,EAAE,MAAM,CAAC,aAAa,CAAC;QACrC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,KAAY,MAAM,GAAG;QACnB,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC;QACrC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KAC9B,GAAG,YAAY,CAAC;CAClB;AAED,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,EAAE,YAAY,CAAC,WAAW,KAC9B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAiB,CAAC"}