genius-intents 0.18.2 → 0.20.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 (382) hide show
  1. package/CHANGELOG.md +73 -3
  2. package/dist/direct-pools/fourmeme/fourmeme-direct.service.js +16 -16
  3. package/dist/direct-pools/fourmeme/fourmeme-direct.service.js.map +1 -1
  4. package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.d.ts +1 -1
  5. package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.d.ts.map +1 -1
  6. package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.js +9 -2
  7. package/dist/direct-pools/meteora/pool-info/meteora-damm-v1-pool-info.service.js.map +1 -1
  8. package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.d.ts +1 -1
  9. package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.d.ts.map +1 -1
  10. package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.js +9 -2
  11. package/dist/direct-pools/meteora/pool-info/meteora-damm-v2-pool-info.service.js.map +1 -1
  12. package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.d.ts +1 -1
  13. package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.d.ts.map +1 -1
  14. package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.js +9 -2
  15. package/dist/direct-pools/meteora/pool-info/meteora-dbc-pool-info.service.js.map +1 -1
  16. package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.d.ts +1 -1
  17. package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.d.ts.map +1 -1
  18. package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.js +9 -2
  19. package/dist/direct-pools/meteora/pool-info/meteora-dlmm-pool-info.service.js.map +1 -1
  20. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.d.ts +1 -1
  21. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.d.ts.map +1 -1
  22. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.js +9 -2
  23. package/dist/direct-pools/pump-fun/pool-info/pump-fun-pool-info.service.js.map +1 -1
  24. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.d.ts +1 -1
  25. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.d.ts.map +1 -1
  26. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.js +9 -2
  27. package/dist/direct-pools/pump-fun/pool-info/pump-swap-amm-pool-info.service.js.map +1 -1
  28. package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.d.ts +1 -1
  29. package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.d.ts.map +1 -1
  30. package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.js +9 -2
  31. package/dist/direct-pools/raydium/pool-info/raydium-amm-pool-info.service.js.map +1 -1
  32. package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.d.ts +1 -1
  33. package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.d.ts.map +1 -1
  34. package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.js +9 -2
  35. package/dist/direct-pools/raydium/pool-info/raydium-clmm-pool-info.service.js.map +1 -1
  36. package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.d.ts +1 -1
  37. package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.d.ts.map +1 -1
  38. package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.js +9 -2
  39. package/dist/direct-pools/raydium/pool-info/raydium-cpmm-pool-info.service.js.map +1 -1
  40. package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.d.ts +1 -1
  41. package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.d.ts.map +1 -1
  42. package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.js +9 -2
  43. package/dist/direct-pools/raydium/pool-info/raydium-launchlab-pool-info.service.js.map +1 -1
  44. package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.d.ts +1 -1
  45. package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.d.ts.map +1 -1
  46. package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.js +9 -2
  47. package/dist/direct-pools/whirlpools/pool-info/whirlpools-pool-info.service.js.map +1 -1
  48. package/dist/genius-intents.d.ts.map +1 -1
  49. package/dist/genius-intents.js +11 -2
  50. package/dist/genius-intents.js.map +1 -1
  51. package/dist/index.d.ts +3 -0
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +4 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/lib/dex/algebra/algebra-dex-deployments.d.ts +3 -0
  56. package/dist/lib/dex/algebra/algebra-dex-deployments.d.ts.map +1 -0
  57. package/dist/lib/dex/algebra/algebra-dex-deployments.js +34 -0
  58. package/dist/lib/dex/algebra/algebra-dex-deployments.js.map +1 -0
  59. package/dist/lib/dex/algebra/algebra-factory.abi.d.ts +3 -0
  60. package/dist/lib/dex/algebra/algebra-factory.abi.d.ts.map +1 -0
  61. package/dist/lib/dex/algebra/algebra-factory.abi.js +34 -0
  62. package/dist/lib/dex/algebra/algebra-factory.abi.js.map +1 -0
  63. package/dist/lib/dex/algebra/algebra-quoter.abi.d.ts +3 -0
  64. package/dist/lib/dex/algebra/algebra-quoter.abi.d.ts.map +1 -0
  65. package/dist/lib/dex/algebra/algebra-quoter.abi.js +135 -0
  66. package/dist/lib/dex/algebra/algebra-quoter.abi.js.map +1 -0
  67. package/dist/lib/dex/algebra/algebra-router.abi.d.ts +3 -0
  68. package/dist/lib/dex/algebra/algebra-router.abi.d.ts.map +1 -0
  69. package/dist/lib/dex/algebra/algebra-router.abi.js +273 -0
  70. package/dist/lib/dex/algebra/algebra-router.abi.js.map +1 -0
  71. package/dist/lib/dex/algebra/quickswap-quoter.abi.d.ts +3 -0
  72. package/dist/lib/dex/algebra/quickswap-quoter.abi.d.ts.map +1 -0
  73. package/dist/lib/dex/algebra/quickswap-quoter.abi.js +103 -0
  74. package/dist/lib/dex/algebra/quickswap-quoter.abi.js.map +1 -0
  75. package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.d.ts +3 -0
  76. package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.d.ts.map +1 -0
  77. package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.js +61 -0
  78. package/dist/lib/dex/fourmeme/fourmeme-v3-helper.abi.js.map +1 -0
  79. package/dist/lib/dex/lfj/lfj-dex-deployments.d.ts +3 -0
  80. package/dist/lib/dex/lfj/lfj-dex-deployments.d.ts.map +1 -0
  81. package/dist/lib/dex/lfj/lfj-dex-deployments.js +21 -0
  82. package/dist/lib/dex/lfj/lfj-dex-deployments.js.map +1 -0
  83. package/dist/lib/dex/lfj/lfj-quoter.abi.d.ts +3 -0
  84. package/dist/lib/dex/lfj/lfj-quoter.abi.d.ts.map +1 -0
  85. package/dist/lib/dex/lfj/lfj-quoter.abi.js +135 -0
  86. package/dist/lib/dex/lfj/lfj-quoter.abi.js.map +1 -0
  87. package/dist/lib/dex/lfj/lfj-router.abi.d.ts +3 -0
  88. package/dist/lib/dex/lfj/lfj-router.abi.d.ts.map +1 -0
  89. package/dist/lib/dex/lfj/lfj-router.abi.js +587 -0
  90. package/dist/lib/dex/lfj/lfj-router.abi.js.map +1 -0
  91. package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.d.ts +22 -0
  92. package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.d.ts.map +1 -0
  93. package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.js +225 -0
  94. package/dist/lib/dex/pair-discovery/adapters/algebra-dex-pair-discovery.adapter.js.map +1 -0
  95. package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.d.ts +20 -0
  96. package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.d.ts.map +1 -0
  97. package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.js +265 -0
  98. package/dist/lib/dex/pair-discovery/adapters/fourmeme-dex-pair-discovery.adapter.js.map +1 -0
  99. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.d.ts +19 -0
  100. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.d.ts.map +1 -0
  101. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.js +130 -0
  102. package/dist/lib/dex/pair-discovery/adapters/lfj-v3-dex-pair-doscovery.adapter.js.map +1 -0
  103. package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.d.ts +29 -0
  104. package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.d.ts.map +1 -0
  105. package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.js +179 -0
  106. package/dist/lib/dex/pair-discovery/adapters/v2-dex-pair-discovery.adapter.js.map +1 -0
  107. package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.d.ts +29 -0
  108. package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.d.ts.map +1 -0
  109. package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.js +345 -0
  110. package/dist/lib/dex/pair-discovery/adapters/v3-dex-pair-discovery.adapter.js.map +1 -0
  111. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.d.ts +36 -0
  112. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.d.ts.map +1 -0
  113. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.js +275 -0
  114. package/dist/lib/dex/pair-discovery/adapters/ve33-dex-pair-discovery.adapter.js.map +1 -0
  115. package/dist/lib/dex/pair-discovery/pair-discovery.service.d.ts +16 -0
  116. package/dist/lib/dex/pair-discovery/pair-discovery.service.d.ts.map +1 -0
  117. package/dist/lib/dex/pair-discovery/pair-discovery.service.js +98 -0
  118. package/dist/lib/dex/pair-discovery/pair-discovery.service.js.map +1 -0
  119. package/dist/lib/dex/pair-discovery/pair-discovery.types.d.ts +189 -0
  120. package/dist/lib/dex/pair-discovery/pair-discovery.types.d.ts.map +1 -0
  121. package/dist/lib/dex/pair-discovery/pair-discovery.types.js +3 -0
  122. package/dist/lib/dex/pair-discovery/pair-discovery.types.js.map +1 -0
  123. package/dist/lib/dex/uniswapV2/v2-dex-deployments.d.ts +5 -0
  124. package/dist/lib/dex/uniswapV2/v2-dex-deployments.d.ts.map +1 -0
  125. package/dist/lib/dex/uniswapV2/v2-dex-deployments.js +166 -0
  126. package/dist/lib/dex/uniswapV2/v2-dex-deployments.js.map +1 -0
  127. package/dist/lib/dex/uniswapv3/{v3-offchain-quoter.service.d.ts → offchain-quoter/v3-offchain-quoter.service.d.ts} +1 -1
  128. package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.service.d.ts.map +1 -0
  129. package/dist/lib/dex/uniswapv3/{v3-offchain-quoter.service.js → offchain-quoter/v3-offchain-quoter.service.js} +3 -3
  130. package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.service.js.map +1 -0
  131. package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.d.ts +162 -0
  132. package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.d.ts.map +1 -0
  133. package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.js +3 -0
  134. package/dist/lib/dex/uniswapv3/offchain-quoter/v3-offchain-quoter.types.js.map +1 -0
  135. package/dist/lib/dex/uniswapv3/ramses-quoter.abi.d.ts +3 -0
  136. package/dist/lib/dex/uniswapv3/ramses-quoter.abi.d.ts.map +1 -0
  137. package/dist/lib/dex/uniswapv3/ramses-quoter.abi.js +114 -0
  138. package/dist/lib/dex/uniswapv3/ramses-quoter.abi.js.map +1 -0
  139. package/dist/lib/dex/uniswapv3/slipstream-quoter.abi.d.ts +3 -0
  140. package/dist/lib/dex/uniswapv3/slipstream-quoter.abi.d.ts.map +1 -0
  141. package/dist/lib/dex/uniswapv3/slipstream-quoter.abi.js +30 -0
  142. package/dist/lib/dex/uniswapv3/slipstream-quoter.abi.js.map +1 -0
  143. package/dist/lib/dex/uniswapv3/slipstream-router.abi.d.ts +3 -0
  144. package/dist/lib/dex/uniswapv3/slipstream-router.abi.d.ts.map +1 -0
  145. package/dist/lib/dex/uniswapv3/slipstream-router.abi.js +45 -0
  146. package/dist/lib/dex/uniswapv3/slipstream-router.abi.js.map +1 -0
  147. package/dist/lib/dex/uniswapv3/v3-dex-deployments.d.ts +32 -0
  148. package/dist/lib/dex/uniswapv3/v3-dex-deployments.d.ts.map +1 -0
  149. package/dist/lib/dex/uniswapv3/v3-dex-deployments.js +283 -0
  150. package/dist/lib/dex/uniswapv3/v3-dex-deployments.js.map +1 -0
  151. package/dist/lib/dex/ve33/aerodrome-factory.abi.d.ts +3 -0
  152. package/dist/lib/dex/ve33/aerodrome-factory.abi.d.ts.map +1 -0
  153. package/dist/lib/dex/ve33/aerodrome-factory.abi.js +17 -0
  154. package/dist/lib/dex/ve33/aerodrome-factory.abi.js.map +1 -0
  155. package/dist/lib/dex/ve33/aerodrome-router.abi.d.ts +3 -0
  156. package/dist/lib/dex/ve33/aerodrome-router.abi.d.ts.map +1 -0
  157. package/dist/lib/dex/ve33/aerodrome-router.abi.js +119 -0
  158. package/dist/lib/dex/ve33/aerodrome-router.abi.js.map +1 -0
  159. package/dist/lib/dex/ve33/blackhole-router.abi.d.ts +3 -0
  160. package/dist/lib/dex/ve33/blackhole-router.abi.d.ts.map +1 -0
  161. package/dist/lib/dex/ve33/blackhole-router.abi.js +1492 -0
  162. package/dist/lib/dex/ve33/blackhole-router.abi.js.map +1 -0
  163. package/dist/lib/dex/ve33/pharaoh-router.abi.d.ts +3 -0
  164. package/dist/lib/dex/ve33/pharaoh-router.abi.d.ts.map +1 -0
  165. package/dist/lib/dex/ve33/pharaoh-router.abi.js +502 -0
  166. package/dist/lib/dex/ve33/pharaoh-router.abi.js.map +1 -0
  167. package/dist/lib/dex/ve33/pharaoh-swap-router.abi.d.ts +3 -0
  168. package/dist/lib/dex/ve33/pharaoh-swap-router.abi.d.ts.map +1 -0
  169. package/dist/lib/dex/ve33/pharaoh-swap-router.abi.js +239 -0
  170. package/dist/lib/dex/ve33/pharaoh-swap-router.abi.js.map +1 -0
  171. package/dist/lib/dex/ve33/ve33-dex-deployments.d.ts +4 -0
  172. package/dist/lib/dex/ve33/ve33-dex-deployments.d.ts.map +1 -0
  173. package/dist/lib/dex/ve33/ve33-dex-deployments.js +34 -0
  174. package/dist/lib/dex/ve33/ve33-dex-deployments.js.map +1 -0
  175. package/dist/lib/dex/ve33/velodrome-router.abi.d.ts +3 -0
  176. package/dist/lib/dex/ve33/velodrome-router.abi.d.ts.map +1 -0
  177. package/dist/lib/dex/ve33/velodrome-router.abi.js +634 -0
  178. package/dist/lib/dex/ve33/velodrome-router.abi.js.map +1 -0
  179. package/dist/protocols/algebra/algebra.service.d.ts +63 -0
  180. package/dist/protocols/algebra/algebra.service.d.ts.map +1 -0
  181. package/dist/protocols/algebra/algebra.service.js +532 -0
  182. package/dist/protocols/algebra/algebra.service.js.map +1 -0
  183. package/dist/protocols/algebra/algebra.types.d.ts +98 -0
  184. package/dist/protocols/algebra/algebra.types.d.ts.map +1 -0
  185. package/dist/protocols/algebra/algebra.types.js +9 -0
  186. package/dist/protocols/algebra/algebra.types.js.map +1 -0
  187. package/dist/protocols/algebra/index.d.ts +3 -0
  188. package/dist/protocols/algebra/index.d.ts.map +1 -0
  189. package/dist/protocols/algebra/index.js +21 -0
  190. package/dist/protocols/algebra/index.js.map +1 -0
  191. package/dist/protocols/four-meme/four-meme.service.d.ts.map +1 -1
  192. package/dist/protocols/four-meme/four-meme.service.js +49 -57
  193. package/dist/protocols/four-meme/four-meme.service.js.map +1 -1
  194. package/dist/protocols/four-meme/four-meme.types.d.ts +8 -3
  195. package/dist/protocols/four-meme/four-meme.types.d.ts.map +1 -1
  196. package/dist/protocols/genius-bridge/genius-bridge.service.d.ts +2 -1
  197. package/dist/protocols/genius-bridge/genius-bridge.service.d.ts.map +1 -1
  198. package/dist/protocols/genius-bridge/genius-bridge.service.js.map +1 -1
  199. package/dist/protocols/genius-bridge/index.d.ts +1 -1
  200. package/dist/protocols/genius-bridge/index.d.ts.map +1 -1
  201. package/dist/protocols/lfj/index.d.ts +3 -0
  202. package/dist/protocols/lfj/index.d.ts.map +1 -0
  203. package/dist/protocols/lfj/index.js +21 -0
  204. package/dist/protocols/lfj/index.js.map +1 -0
  205. package/dist/protocols/lfj/lfj.service.d.ts +45 -0
  206. package/dist/protocols/lfj/lfj.service.d.ts.map +1 -0
  207. package/dist/protocols/lfj/lfj.service.js +323 -0
  208. package/dist/protocols/lfj/lfj.service.js.map +1 -0
  209. package/dist/protocols/lfj/lfj.types.d.ts +136 -0
  210. package/dist/protocols/lfj/lfj.types.d.ts.map +1 -0
  211. package/dist/protocols/lfj/lfj.types.js +16 -0
  212. package/dist/protocols/lfj/lfj.types.js.map +1 -0
  213. package/dist/protocols/okx/okx.service.d.ts +9 -8
  214. package/dist/protocols/okx/okx.service.d.ts.map +1 -1
  215. package/dist/protocols/okx/okx.service.js +133 -143
  216. package/dist/protocols/okx/okx.service.js.map +1 -1
  217. package/dist/protocols/okx/okx.types.d.ts +9 -3
  218. package/dist/protocols/okx/okx.types.d.ts.map +1 -1
  219. package/dist/protocols/relay/relay.service.d.ts +3 -0
  220. package/dist/protocols/relay/relay.service.d.ts.map +1 -1
  221. package/dist/protocols/relay/relay.service.js +7 -1
  222. package/dist/protocols/relay/relay.service.js.map +1 -1
  223. package/dist/protocols/v2-dex/index.d.ts +1 -1
  224. package/dist/protocols/v2-dex/index.d.ts.map +1 -1
  225. package/dist/protocols/v2-dex/index.js +15 -0
  226. package/dist/protocols/v2-dex/index.js.map +1 -1
  227. package/dist/protocols/v2-dex/v2-dex.service.d.ts +9 -16
  228. package/dist/protocols/v2-dex/v2-dex.service.d.ts.map +1 -1
  229. package/dist/protocols/v2-dex/v2-dex.service.js +107 -530
  230. package/dist/protocols/v2-dex/v2-dex.service.js.map +1 -1
  231. package/dist/protocols/v2-dex/v2-dex.types.d.ts +32 -32
  232. package/dist/protocols/v2-dex/v2-dex.types.d.ts.map +1 -1
  233. package/dist/protocols/v2-dex/v2-dex.types.js.map +1 -1
  234. package/dist/protocols/v3-dex/adapters/slipstream.adapter.d.ts +42 -0
  235. package/dist/protocols/v3-dex/adapters/slipstream.adapter.d.ts.map +1 -0
  236. package/dist/protocols/v3-dex/adapters/slipstream.adapter.js +185 -0
  237. package/dist/protocols/v3-dex/adapters/slipstream.adapter.js.map +1 -0
  238. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.d.ts +40 -0
  239. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.d.ts.map +1 -0
  240. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.js +237 -0
  241. package/dist/protocols/v3-dex/adapters/uniswap-fork.adapter.js.map +1 -0
  242. package/dist/protocols/v3-dex/adapters/uniswap.adapter.d.ts +39 -0
  243. package/dist/protocols/v3-dex/adapters/uniswap.adapter.d.ts.map +1 -0
  244. package/dist/protocols/v3-dex/adapters/uniswap.adapter.js +226 -0
  245. package/dist/protocols/v3-dex/adapters/uniswap.adapter.js.map +1 -0
  246. package/dist/protocols/v3-dex/index.d.ts +1 -1
  247. package/dist/protocols/v3-dex/index.d.ts.map +1 -1
  248. package/dist/protocols/v3-dex/index.js +15 -0
  249. package/dist/protocols/v3-dex/index.js.map +1 -1
  250. package/dist/protocols/v3-dex/v3-dex.service.d.ts +21 -76
  251. package/dist/protocols/v3-dex/v3-dex.service.d.ts.map +1 -1
  252. package/dist/protocols/v3-dex/v3-dex.service.js +387 -1196
  253. package/dist/protocols/v3-dex/v3-dex.service.js.map +1 -1
  254. package/dist/protocols/v3-dex/v3-dex.types.d.ts +154 -365
  255. package/dist/protocols/v3-dex/v3-dex.types.d.ts.map +1 -1
  256. package/dist/protocols/v3-dex/v3-dex.types.js +13 -1
  257. package/dist/protocols/v3-dex/v3-dex.types.js.map +1 -1
  258. package/dist/protocols/ve33/adapters/blackhole.adapter.d.ts +29 -0
  259. package/dist/protocols/ve33/adapters/blackhole.adapter.d.ts.map +1 -0
  260. package/dist/protocols/ve33/adapters/blackhole.adapter.js +59 -0
  261. package/dist/protocols/ve33/adapters/blackhole.adapter.js.map +1 -0
  262. package/dist/protocols/ve33/adapters/pharaoh.adapter.d.ts +34 -0
  263. package/dist/protocols/ve33/adapters/pharaoh.adapter.d.ts.map +1 -0
  264. package/dist/protocols/ve33/adapters/pharaoh.adapter.js +51 -0
  265. package/dist/protocols/ve33/adapters/pharaoh.adapter.js.map +1 -0
  266. package/dist/protocols/ve33/adapters/solidly.adapter.d.ts +42 -0
  267. package/dist/protocols/ve33/adapters/solidly.adapter.d.ts.map +1 -0
  268. package/dist/protocols/ve33/adapters/solidly.adapter.js +63 -0
  269. package/dist/protocols/ve33/adapters/solidly.adapter.js.map +1 -0
  270. package/dist/protocols/ve33/index.d.ts +3 -0
  271. package/dist/protocols/ve33/index.d.ts.map +1 -0
  272. package/dist/protocols/ve33/index.js +21 -0
  273. package/dist/protocols/ve33/index.js.map +1 -0
  274. package/dist/protocols/ve33/ve33.handlers.d.ts +3 -0
  275. package/dist/protocols/ve33/ve33.handlers.d.ts.map +1 -0
  276. package/dist/protocols/ve33/ve33.handlers.js +187 -0
  277. package/dist/protocols/ve33/ve33.handlers.js.map +1 -0
  278. package/dist/protocols/ve33/ve33.service.d.ts +31 -0
  279. package/dist/protocols/ve33/ve33.service.d.ts.map +1 -0
  280. package/dist/protocols/ve33/ve33.service.js +488 -0
  281. package/dist/protocols/ve33/ve33.service.js.map +1 -0
  282. package/dist/protocols/ve33/ve33.types.d.ts +137 -0
  283. package/dist/protocols/ve33/ve33.types.d.ts.map +1 -0
  284. package/dist/protocols/ve33/ve33.types.js +16 -0
  285. package/dist/protocols/ve33/ve33.types.js.map +1 -0
  286. package/dist/token-launches/jupiter/jupiter-studio-launch.constants.d.ts +40 -0
  287. package/dist/token-launches/jupiter/jupiter-studio-launch.constants.d.ts.map +1 -0
  288. package/dist/token-launches/jupiter/jupiter-studio-launch.constants.js +43 -0
  289. package/dist/token-launches/jupiter/jupiter-studio-launch.constants.js.map +1 -0
  290. package/dist/token-launches/jupiter/jupiter-studio-launch.service.d.ts +10 -0
  291. package/dist/token-launches/jupiter/jupiter-studio-launch.service.d.ts.map +1 -0
  292. package/dist/token-launches/jupiter/jupiter-studio-launch.service.js +56 -0
  293. package/dist/token-launches/jupiter/jupiter-studio-launch.service.js.map +1 -0
  294. package/dist/token-launches/jupiter/jupiter-studio-launch.types.d.ts +49 -0
  295. package/dist/token-launches/jupiter/jupiter-studio-launch.types.d.ts.map +1 -0
  296. package/dist/token-launches/jupiter/jupiter-studio-launch.types.js +3 -0
  297. package/dist/token-launches/jupiter/jupiter-studio-launch.types.js.map +1 -0
  298. package/dist/token-launches/jupiter/jupiter-studio-launch.utils.d.ts +9 -0
  299. package/dist/token-launches/jupiter/jupiter-studio-launch.utils.d.ts.map +1 -0
  300. package/dist/token-launches/jupiter/jupiter-studio-launch.utils.js +82 -0
  301. package/dist/token-launches/jupiter/jupiter-studio-launch.utils.js.map +1 -0
  302. package/dist/token-launches/meteora/meteora-launch.constants.d.ts +11 -0
  303. package/dist/token-launches/meteora/meteora-launch.constants.d.ts.map +1 -0
  304. package/dist/token-launches/meteora/meteora-launch.constants.js +15 -0
  305. package/dist/token-launches/meteora/meteora-launch.constants.js.map +1 -0
  306. package/dist/token-launches/meteora/meteora-launch.service.d.ts +13 -0
  307. package/dist/token-launches/meteora/meteora-launch.service.d.ts.map +1 -0
  308. package/dist/token-launches/meteora/meteora-launch.service.js +64 -0
  309. package/dist/token-launches/meteora/meteora-launch.service.js.map +1 -0
  310. package/dist/token-launches/meteora/meteora-launch.types.d.ts +18 -0
  311. package/dist/token-launches/meteora/meteora-launch.types.d.ts.map +1 -0
  312. package/dist/token-launches/meteora/meteora-launch.types.js +3 -0
  313. package/dist/token-launches/meteora/meteora-launch.types.js.map +1 -0
  314. package/dist/token-launches/meteora/meteora-launch.utils.d.ts +4 -0
  315. package/dist/token-launches/meteora/meteora-launch.utils.d.ts.map +1 -0
  316. package/dist/token-launches/meteora/meteora-launch.utils.js +54 -0
  317. package/dist/token-launches/meteora/meteora-launch.utils.js.map +1 -0
  318. package/dist/token-launches/pump-fun/pump-fun-launch.service.d.ts +13 -0
  319. package/dist/token-launches/pump-fun/pump-fun-launch.service.d.ts.map +1 -0
  320. package/dist/token-launches/pump-fun/pump-fun-launch.service.js +63 -0
  321. package/dist/token-launches/pump-fun/pump-fun-launch.service.js.map +1 -0
  322. package/dist/token-launches/pump-fun/pump-fun-launch.types.d.ts +12 -0
  323. package/dist/token-launches/pump-fun/pump-fun-launch.types.d.ts.map +1 -0
  324. package/dist/token-launches/pump-fun/pump-fun-launch.types.js +3 -0
  325. package/dist/token-launches/pump-fun/pump-fun-launch.types.js.map +1 -0
  326. package/dist/token-launches/raydium-launchlab/raydium-launch.constants.d.ts +13 -0
  327. package/dist/token-launches/raydium-launchlab/raydium-launch.constants.d.ts.map +1 -0
  328. package/dist/token-launches/raydium-launchlab/raydium-launch.constants.js +18 -0
  329. package/dist/token-launches/raydium-launchlab/raydium-launch.constants.js.map +1 -0
  330. package/dist/token-launches/raydium-launchlab/raydium-launch.service.d.ts +13 -0
  331. package/dist/token-launches/raydium-launchlab/raydium-launch.service.d.ts.map +1 -0
  332. package/dist/token-launches/raydium-launchlab/raydium-launch.service.js +102 -0
  333. package/dist/token-launches/raydium-launchlab/raydium-launch.service.js.map +1 -0
  334. package/dist/token-launches/raydium-launchlab/raydium-launch.types.d.ts +57 -0
  335. package/dist/token-launches/raydium-launchlab/raydium-launch.types.d.ts.map +1 -0
  336. package/dist/token-launches/raydium-launchlab/raydium-launch.types.js +3 -0
  337. package/dist/token-launches/raydium-launchlab/raydium-launch.types.js.map +1 -0
  338. package/dist/types/enums.d.ts +8 -3
  339. package/dist/types/enums.d.ts.map +1 -1
  340. package/dist/types/enums.js +5 -0
  341. package/dist/types/enums.js.map +1 -1
  342. package/dist/types/price-params.d.ts +12 -3
  343. package/dist/types/price-params.d.ts.map +1 -1
  344. package/dist/types/price-response.d.ts +7 -4
  345. package/dist/types/price-response.d.ts.map +1 -1
  346. package/dist/types/quote-response.d.ts +6 -3
  347. package/dist/types/quote-response.d.ts.map +1 -1
  348. package/dist/utils/chainId-to-chain.d.ts +4 -0
  349. package/dist/utils/chainId-to-chain.d.ts.map +1 -0
  350. package/dist/utils/chainId-to-chain.js +44 -0
  351. package/dist/utils/chainId-to-chain.js.map +1 -0
  352. package/dist/utils/dex-deployment-key.d.ts +14 -0
  353. package/dist/utils/dex-deployment-key.d.ts.map +1 -0
  354. package/dist/utils/dex-deployment-key.js +17 -0
  355. package/dist/utils/dex-deployment-key.js.map +1 -0
  356. package/dist/utils/min-amount-out.d.ts +12 -0
  357. package/dist/utils/min-amount-out.d.ts.map +1 -0
  358. package/dist/utils/min-amount-out.js +18 -0
  359. package/dist/utils/min-amount-out.js.map +1 -0
  360. package/dist/utils/norm-dex-token.d.ts +13 -0
  361. package/dist/utils/norm-dex-token.d.ts.map +1 -0
  362. package/dist/utils/norm-dex-token.js +19 -0
  363. package/dist/utils/norm-dex-token.js.map +1 -0
  364. package/dist/utils/pair-result.d.ts +3 -0
  365. package/dist/utils/pair-result.d.ts.map +1 -0
  366. package/dist/utils/pair-result.js +11 -0
  367. package/dist/utils/pair-result.js.map +1 -0
  368. package/dist/utils/sort-addresses.d.ts +3 -0
  369. package/dist/utils/sort-addresses.d.ts.map +1 -0
  370. package/dist/utils/sort-addresses.js +16 -0
  371. package/dist/utils/sort-addresses.js.map +1 -0
  372. package/dist/utils/to-pool-key.d.ts +4 -0
  373. package/dist/utils/to-pool-key.d.ts.map +1 -0
  374. package/dist/utils/to-pool-key.js +15 -0
  375. package/dist/utils/to-pool-key.js.map +1 -0
  376. package/dist/utils/transaction-builder.util.d.ts +3 -0
  377. package/dist/utils/transaction-builder.util.d.ts.map +1 -0
  378. package/dist/utils/transaction-builder.util.js +13 -0
  379. package/dist/utils/transaction-builder.util.js.map +1 -0
  380. package/package.json +2 -2
  381. package/dist/lib/dex/uniswapv3/v3-offchain-quoter.service.d.ts.map +0 -1
  382. package/dist/lib/dex/uniswapv3/v3-offchain-quoter.service.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"velodrome-router.abi.js","sourceRoot":"","sources":["../../../../src/lib/dex/ve33/velodrome-router.abi.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAQ;IACrC;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;YACtE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;SAC5D;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACpB;IACD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,oCAAoC,EAAE,IAAI,EAAE,OAAO,EAAE;IACzE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;IACxD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IAC9C,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;IACzD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC1D,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,OAAO,EAAE;IACjE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,OAAO,EAAE;IACjE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC1D,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,OAAO,EAAE;IACjE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5D,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,OAAO,EAAE;IAC/D,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,EAAE;IACnE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;IAClD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IACpD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IACpD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,OAAO,EAAE;IAClE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;IAC/C,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;IACvD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC9D,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IACpD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;IAClD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;YACjE;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACrE,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SAChE;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;YACxE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SAChE;QACD,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;YACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;YACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SACjE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;YACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;YACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;SACjE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5E,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC3D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;SACrE;QACD,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SAChE;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SAChE;QACD,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9D;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACtE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9D;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YACjE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;SAChE;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YACpE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,iDAAiD;QACvD,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1E,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7D;QACD,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE;YACP,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7D;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5E,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,oDAAoD;QAC1D,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5E,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,oDAAoD;QAC1D,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5E,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YAClE;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/D;QACD,IAAI,EAAE,uDAAuD;QAC7D,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACxE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;iBACjE;gBACD,YAAY,EAAE,oBAAoB;gBAClC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;SACtD;QACD,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC1E,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/D;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;oBAChE,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;iBACjE;gBACD,YAAY,EAAE,oBAAoB;gBAClC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO;aACd;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,UAAU,EAAE;oBACV,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1D,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxD,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;oBACtD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC9D;gBACD,YAAY,EAAE,wBAAwB;gBACtC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;IACD,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACvC,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { AlgebraConfig, AlgebraDeployment } from './algebra.types';
2
+ import { ChainIdEnum, ProtocolEnum } from '../../types/enums';
3
+ import { IntentPriceParams } from '../../types/price-params';
4
+ import { GeniusIntentsSDKConfig } from '../../types/sdk-config';
5
+ import { IIntentProtocol } from '../../interfaces/intent-protocol';
6
+ import { IntentQuoteParams } from '../../types/quote-params';
7
+ import { PriceResponse } from '../../types/price-response';
8
+ import { QuoteResponse } from '../../types/quote-response';
9
+ /**
10
+ * AlgebraService: quotes Algebra-based CLMMs (Blackhole, …).
11
+ *
12
+ * Scope (for now):
13
+ * - Single-chain, single-hop (direct pool) quotes
14
+ * - Multi-deployment per chain supported (we iterate all deployments on the chain)
15
+ * - Uses Algebra QuoterV2 (struct variant) for price
16
+ * - Builds router calldata via exactInput(path) (path encodes <token, deployer, token>)
17
+ */
18
+ export declare class AlgebraService implements IIntentProtocol {
19
+ /**
20
+ * The protocol enum for Algebra (ProtocolEnum.ALGEBRA).
21
+ */
22
+ protocol: ProtocolEnum;
23
+ /**
24
+ * Indicates that this service supports only single-chain operations.
25
+ */
26
+ singleChain: boolean;
27
+ /**
28
+ * Indicates that this service supports multi-chain operations (multiple chains supported, but one at a time).
29
+ */
30
+ multiChain: boolean;
31
+ /**
32
+ * The chains that are currently supported by the algebra service
33
+ */
34
+ chains: ChainIdEnum[];
35
+ /**
36
+ * RPC URLs (provided by the SDK config)
37
+ */
38
+ rpcs: Record<number, string>;
39
+ /**
40
+ * viem PublicClient per chain
41
+ */
42
+ private _clients;
43
+ /**
44
+ * Deployments by chain (user-supplied via config)
45
+ */
46
+ deployments: Partial<Record<ChainIdEnum, AlgebraDeployment[]>>;
47
+ constructor(config?: GeniusIntentsSDKConfig & AlgebraConfig);
48
+ isCorrectConfig<T extends {
49
+ [key: string]: unknown;
50
+ }>(_config: {
51
+ [key: string]: unknown;
52
+ }): _config is T;
53
+ /** Price discovery across all Algebra deployments on a chain. */
54
+ fetchPrice(params: IntentPriceParams): Promise<PriceResponse>;
55
+ /** Build calldata + approval for the chosen Algebra deployment (single-hop). */
56
+ fetchQuote(params: IntentQuoteParams): Promise<QuoteResponse>;
57
+ private _buildFastRoutePriceResponse;
58
+ private _normalizeTokens;
59
+ private _normalizeTokensForExec;
60
+ private _buildAlgebraPath;
61
+ private _discoverPoolsAcrossDeployments;
62
+ }
63
+ //# sourceMappingURL=algebra.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"algebra.service.d.ts","sourceRoot":"","sources":["../../../src/protocols/algebra/algebra.service.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,aAAa,EACb,iBAAiB,EAOlB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAS7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD;;OAEG;IACI,QAAQ,EAAE,YAAY,CAAwB;IAErD;;OAEG;IACI,WAAW,UAAQ;IAE1B;;OAEG;IACI,UAAU,UAAS;IAE1B;;OAEG;IACI,MAAM,gBAAgD;IAE7D;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAkD;IAElE;;OAEG;IACI,WAAW,oDAAyB;gBAE/B,MAAM,CAAC,EAAE,sBAAsB,GAAG,aAAa;IA2CpD,eAAe,CAAC,CAAC,SAAS;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAAE,OAAO,EAAE;QACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,OAAO,IAAI,CAAC;IAMhB,iEAAiE;IACpD,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IA6K1E,gFAAgF;IACnE,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IA4J1E,OAAO,CAAC,4BAA4B;IAsEpC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,iBAAiB;YAgBX,+BAA+B;CA8H9C"}
@@ -0,0 +1,532 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlgebraService = void 0;
4
+ const viem_1 = require("viem");
5
+ const algebra_factory_abi_1 = require("../../lib/dex/algebra/algebra-factory.abi");
6
+ const algebra_quoter_abi_1 = require("../../lib/dex/algebra/algebra-quoter.abi");
7
+ const algebra_router_abi_1 = require("../../lib/dex/algebra/algebra-router.abi");
8
+ const enums_1 = require("../../types/enums");
9
+ const wrapped_native_1 = require("../../utils/wrapped-native");
10
+ const algebra_dex_deployments_1 = require("../../lib/dex/algebra/algebra-dex-deployments");
11
+ const logger_1 = require("../../utils/logger");
12
+ const min_amount_out_1 = require("../../utils/min-amount-out");
13
+ const sort_addresses_1 = require("../../utils/sort-addresses");
14
+ const dex_deployment_key_1 = require("../../utils/dex-deployment-key");
15
+ const chainId_to_chain_1 = require("../../utils/chainId-to-chain");
16
+ const is_native_1 = require("../../utils/is-native");
17
+ const utils_1 = require("../../utils");
18
+ let logger;
19
+ /**
20
+ * AlgebraService: quotes Algebra-based CLMMs (Blackhole, …).
21
+ *
22
+ * Scope (for now):
23
+ * - Single-chain, single-hop (direct pool) quotes
24
+ * - Multi-deployment per chain supported (we iterate all deployments on the chain)
25
+ * - Uses Algebra QuoterV2 (struct variant) for price
26
+ * - Builds router calldata via exactInput(path) (path encodes <token, deployer, token>)
27
+ */
28
+ class AlgebraService {
29
+ constructor(config) {
30
+ /**
31
+ * The protocol enum for Algebra (ProtocolEnum.ALGEBRA).
32
+ */
33
+ this.protocol = enums_1.ProtocolEnum.ALGEBRA;
34
+ /**
35
+ * Indicates that this service supports only single-chain operations.
36
+ */
37
+ this.singleChain = true;
38
+ /**
39
+ * Indicates that this service supports multi-chain operations (multiple chains supported, but one at a time).
40
+ */
41
+ this.multiChain = false;
42
+ /**
43
+ * The chains that are currently supported by the algebra service
44
+ */
45
+ this.chains = [enums_1.ChainIdEnum.AVALANCHE, enums_1.ChainIdEnum.POLYGON];
46
+ /**
47
+ * RPC URLs (provided by the SDK config)
48
+ */
49
+ this.rpcs = {};
50
+ /**
51
+ * viem PublicClient per chain
52
+ */
53
+ this._clients = {};
54
+ /**
55
+ * Deployments by chain (user-supplied via config)
56
+ */
57
+ this.deployments = algebra_dex_deployments_1.algebraDexDeployments;
58
+ if (config?.debug) {
59
+ logger_1.LoggerFactory.configure(logger_1.LoggerFactory.createConsoleLogger({ level: logger_1.LogLevelEnum.DEBUG }));
60
+ }
61
+ // Use custom logger if provided
62
+ else if (config?.logger) {
63
+ logger_1.LoggerFactory.configure(config.logger);
64
+ }
65
+ logger = logger_1.LoggerFactory.getLogger();
66
+ if (!config?.rpcs) {
67
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'AlgebraService requires rpcs and algebraChainConfigs in the config.');
68
+ }
69
+ // clients
70
+ for (const [chainIdStr, rpc] of Object.entries(config.rpcs)) {
71
+ const chainId = Number(chainIdStr);
72
+ if (!rpc)
73
+ continue;
74
+ const chainCfg = chainId_to_chain_1.chainIdToChain[chainId];
75
+ if (!chainCfg)
76
+ continue;
77
+ this._clients[chainId] = (0, viem_1.createPublicClient)({
78
+ chain: chainCfg,
79
+ transport: (0, viem_1.http)(rpc),
80
+ });
81
+ this.rpcs[chainId] = rpc;
82
+ }
83
+ // deployments
84
+ if (config.algebraExtraDeployments) {
85
+ for (const [k, arr] of Object.entries(config.algebraExtraDeployments)) {
86
+ const chain = Number(k);
87
+ const base = this.deployments[chain] ?? [];
88
+ this.deployments[chain] = [...base, ...(arr ?? [])];
89
+ }
90
+ }
91
+ }
92
+ isCorrectConfig(_config) {
93
+ return true;
94
+ }
95
+ // ===== Public API =====
96
+ /** Price discovery across all Algebra deployments on a chain. */
97
+ async fetchPrice(params) {
98
+ const { networkIn, networkOut, tokenIn, tokenOut, amountIn, slippage } = params;
99
+ if (networkIn !== networkOut) {
100
+ logger.debug(`AlgebraService fetchPrice called with cross-network params: ${networkIn} -> ${networkOut}`);
101
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'AlgebraService only supports same-network swaps.');
102
+ }
103
+ const chainId = networkIn;
104
+ const client = this._clients[chainId];
105
+ if (!client) {
106
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No RPC client configured for chainId ${chainId}`);
107
+ }
108
+ const deployments = this.deployments[chainId] ?? [];
109
+ if (!deployments.length) {
110
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No Algebra deployments configured for chainId ${chainId}`);
111
+ }
112
+ // Normalize native ↔ wrapped
113
+ const { tokenInNorm, tokenOutNorm } = this._normalizeTokens(chainId, tokenIn, tokenOut);
114
+ const amountInBI = typeof amountIn === 'bigint' ? amountIn : BigInt(amountIn);
115
+ if (amountInBI <= 0n) {
116
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'amountIn must be > 0');
117
+ }
118
+ const overrides = params.overrideParamsAlgebra;
119
+ const overridePair = overrides?.pair;
120
+ const overrideAmountOutMin = overrides?.amountOutMin;
121
+ const overrideDeployer = overrides?.deployer;
122
+ const useFastRoute = overridePair && overrideAmountOutMin && overrideDeployer;
123
+ if (useFastRoute) {
124
+ return this._buildFastRoutePriceResponse({
125
+ tokenIn: tokenInNorm,
126
+ tokenOut: tokenOutNorm,
127
+ networkIn: chainId,
128
+ networkOut: chainId,
129
+ amountIn: amountInBI.toString(),
130
+ slippage,
131
+ overridePair,
132
+ overrideAmountOutMin,
133
+ overrideDeployer,
134
+ });
135
+ }
136
+ // 1) Discover pools across deployments (default + custom deployers)
137
+ const found = await this._discoverPoolsAcrossDeployments({
138
+ client,
139
+ deployments,
140
+ tokenA: tokenInNorm,
141
+ tokenB: tokenOutNorm,
142
+ });
143
+ if (!found.length) {
144
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, 'No Algebra pools found for this pair.');
145
+ }
146
+ // 2) Build QuoterV2 calls (single-hop) and multicall
147
+ const quoteCalls = found.map(fp => ({
148
+ address: deployments[fp.deploymentIndex]?.quoterV2 ??
149
+ (() => {
150
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `Deployment at index ${fp.deploymentIndex} is undefined.`);
151
+ })(),
152
+ abi: algebra_quoter_abi_1.algebraQuoterV2Abi,
153
+ functionName: 'quoteExactInputSingle',
154
+ args: [
155
+ {
156
+ tokenIn: tokenInNorm,
157
+ tokenOut: tokenOutNorm,
158
+ deployer: fp.deployer,
159
+ amountIn: amountInBI,
160
+ limitSqrtPrice: 0n,
161
+ },
162
+ ],
163
+ }));
164
+ // @ts-ignore – viem typings don't understand allowFailure
165
+ const results = await client.multicall({ allowFailure: true, contracts: quoteCalls });
166
+ // 3) Pick best by amountOut
167
+ let bestIdx = -1;
168
+ let bestOut = 0n;
169
+ let bestMeta = {};
170
+ for (let i = 0; i < results.length; i++) {
171
+ const r = results[i];
172
+ if (!r || r.status !== 'success')
173
+ continue;
174
+ // returns: amountOut, amountIn, sqrtPriceX96After, initializedTicksCrossed, gasEstimate, fee
175
+ const [amountOut, , sqrtAfter, ticksCrossed, gasEstimate] = r.result;
176
+ if (amountOut > bestOut) {
177
+ bestOut = amountOut;
178
+ bestIdx = i;
179
+ bestMeta = { sqrt: sqrtAfter, ticks: ticksCrossed, gas: gasEstimate };
180
+ }
181
+ }
182
+ if (bestIdx === -1) {
183
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, 'Algebra: failed to compute amount out.');
184
+ }
185
+ const chosenPool = found[bestIdx];
186
+ if (!chosenPool) {
187
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, 'Algebra: failed to select a pool.');
188
+ }
189
+ const chosenDep = deployments[chosenPool.deploymentIndex];
190
+ if (!chosenDep) {
191
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.PRICE_NOT_FOUND, 'Algebra: failed to select a deployment.');
192
+ }
193
+ // Build the Algebra path for single-hop (token, deployer, token), reverse-encoded for Algebra
194
+ const path = this._buildAlgebraPath([
195
+ { tokenIn: tokenInNorm, deployer: chosenPool.deployer, tokenOut: tokenOutNorm },
196
+ ]);
197
+ const proto = {
198
+ deploymentKey: (0, dex_deployment_key_1.dexDeploymentKey)({
199
+ dex: chosenDep.tag,
200
+ router: chosenDep.router,
201
+ network: chainId,
202
+ }),
203
+ router: (0, viem_1.getAddress)(chosenDep.router),
204
+ factory: (0, viem_1.getAddress)(chosenDep.factory),
205
+ pool: (0, viem_1.getAddress)(chosenPool.pool),
206
+ deployer: (0, viem_1.getAddress)(chosenPool.deployer),
207
+ expectedAmountOut: bestOut.toString(),
208
+ sqrtPriceX96After: bestMeta.sqrt ? bestMeta.sqrt.toString() : undefined,
209
+ initializedTicksCrossed: bestMeta.ticks,
210
+ gasEstimate: bestMeta.gas ? bestMeta.gas.toString() : undefined,
211
+ path,
212
+ };
213
+ const out = {
214
+ protocol: this.protocol,
215
+ networkIn,
216
+ networkOut,
217
+ tokenIn,
218
+ tokenOut,
219
+ amountIn: amountInBI.toString(),
220
+ amountOut: bestOut.toString(),
221
+ slippage,
222
+ protocolResponse: proto,
223
+ };
224
+ logger.info(`AlgebraService price successfully fetched without overrides.`);
225
+ return out;
226
+ }
227
+ /** Build calldata + approval for the chosen Algebra deployment (single-hop). */
228
+ async fetchQuote(params) {
229
+ const { from, receiver, tokenIn, tokenOut, networkIn, networkOut, slippage } = params;
230
+ if (!from || !receiver) {
231
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'Missing from/receiver');
232
+ }
233
+ if (networkIn !== networkOut) {
234
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'AlgebraService only supports same-network swaps.');
235
+ }
236
+ const chainId = networkIn;
237
+ const client = this._clients[chainId];
238
+ if (!client) {
239
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No RPC client for chainId ${chainId}`);
240
+ }
241
+ // Price (reuse) — either from params or fetch fresh
242
+ let price;
243
+ if (params?.priceResponse) {
244
+ logger.debug(`AlgebraService fetchQuote reusing provided price response.`);
245
+ price = params.priceResponse;
246
+ }
247
+ else {
248
+ logger.debug(`AlgebraService fetchQuote fetching price response.`);
249
+ price = await this.fetchPrice({
250
+ ...params,
251
+ amountIn: params.amountIn,
252
+ tokenIn,
253
+ tokenOut,
254
+ networkIn,
255
+ networkOut,
256
+ slippage,
257
+ });
258
+ }
259
+ const proto = price.protocolResponse;
260
+ // Normalize for execution (wrap/unwrap decisions)
261
+ const { tokenInNorm, tokenOutNorm, expectNativeIn, expectNativeOut } = this._normalizeTokensForExec(chainId, tokenIn, tokenOut);
262
+ // Slippage → minAmountOut
263
+ const minOut = (0, min_amount_out_1.calculateMinAmountOut)({
264
+ amountOut: price.amountOut,
265
+ slippage: Number(slippage ?? 0),
266
+ });
267
+ // Build router calldata (exactInput with Algebra path)
268
+ const deployments = this.deployments[chainId] ?? [];
269
+ const dep = deployments.find(d => d.router.toLowerCase() === proto.router.toLowerCase() &&
270
+ d.factory.toLowerCase() === proto.factory.toLowerCase()) ?? deployments[0];
271
+ if (!dep) {
272
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.QUOTE_NOT_FOUND, 'Algebra: failed to select a deployment.');
273
+ }
274
+ logger.debug(`AlgebraService building swap calldata.`);
275
+ const deadline = BigInt(Math.floor(Date.now() / 1000) + 30 * 60);
276
+ const singleHop = [{ tokenIn: tokenInNorm, deployer: proto.deployer, tokenOut: tokenOutNorm }];
277
+ const path = this._buildAlgebraPath(singleHop);
278
+ // exactInput params
279
+ const paramsExactInput = {
280
+ path,
281
+ recipient: (0, viem_1.getAddress)(expectNativeOut ? dep.router : receiver),
282
+ deadline,
283
+ amountIn: BigInt(price.amountIn),
284
+ amountOutMinimum: BigInt(minOut),
285
+ };
286
+ const exactInputCalldata = (0, viem_1.encodeFunctionData)({
287
+ abi: algebra_router_abi_1.algebraRouterAbi,
288
+ functionName: 'exactInput',
289
+ args: [paramsExactInput],
290
+ });
291
+ let data = exactInputCalldata;
292
+ let value = expectNativeIn ? price.amountIn : '0';
293
+ // If native out desired, unwrap via router.multicall([exactInput, unwrap])
294
+ if (expectNativeOut) {
295
+ const unwrap = (0, viem_1.encodeFunctionData)({
296
+ abi: algebra_router_abi_1.algebraRouterAbi,
297
+ functionName: 'unwrapWNativeToken',
298
+ args: [BigInt(minOut), (0, viem_1.getAddress)(receiver)],
299
+ });
300
+ data = (0, viem_1.encodeFunctionData)({
301
+ abi: algebra_router_abi_1.algebraRouterAbi,
302
+ functionName: 'multicall',
303
+ args: [[exactInputCalldata, unwrap]],
304
+ });
305
+ }
306
+ const tx = {
307
+ to: (0, viem_1.getAddress)(dep.router),
308
+ data,
309
+ value,
310
+ };
311
+ const quoteProto = {
312
+ ...proto,
313
+ functionSelector: expectNativeOut
314
+ ? 'SwapRouter.multicall(exactInput, unwrapWNativeToken)'
315
+ : 'SwapRouter.exactInput',
316
+ };
317
+ const approval = {
318
+ spender: (0, viem_1.getAddress)(dep.router),
319
+ token: (0, viem_1.getAddress)(tokenIn),
320
+ amount: price.amountIn,
321
+ txnData: {
322
+ to: (0, viem_1.getAddress)(tokenIn),
323
+ data: (0, viem_1.encodeFunctionData)({
324
+ abi: viem_1.erc20Abi,
325
+ functionName: 'approve',
326
+ args: [(0, viem_1.getAddress)(dep.router), BigInt(price.amountIn)],
327
+ }),
328
+ value: '0',
329
+ },
330
+ };
331
+ const out = {
332
+ from: (0, viem_1.getAddress)(from),
333
+ receiver: (0, viem_1.getAddress)(receiver),
334
+ amountIn: price.amountIn,
335
+ amountOut: price.amountOut,
336
+ protocol: this.protocol,
337
+ networkIn,
338
+ networkOut,
339
+ tokenIn,
340
+ tokenOut,
341
+ slippage,
342
+ evmExecutionPayload: {
343
+ transactionData: tx,
344
+ approval,
345
+ },
346
+ protocolResponse: quoteProto,
347
+ };
348
+ logger.debug(`AlgebraService fetchQuote constructed quote response: ${JSON.stringify(out)}`);
349
+ return out;
350
+ }
351
+ // ===== Internals =====
352
+ _buildFastRoutePriceResponse(params) {
353
+ const { tokenIn, tokenOut, networkIn, networkOut, amountIn, slippage, overridePair, overrideAmountOutMin, overrideDeployer, } = params;
354
+ logger.debug(`AlgebraService fetchPrice called with override params.`);
355
+ // Resolve which deployment the pair belongs to, and the deployer needed to build Algebra path.
356
+ const ovrDeployer = (0, viem_1.getAddress)(overrideDeployer);
357
+ const deployments = this.deployments[params.networkIn] ?? [];
358
+ const index = deployments.findIndex(dep => dep.defaultDeployer?.toLowerCase() === ovrDeployer?.toLowerCase() ||
359
+ dep.customDeployers?.map(d => d.toLowerCase()).includes(ovrDeployer?.toLowerCase()));
360
+ if (index === -1) {
361
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `Override deployer ${ovrDeployer} does not belong to any configured Algebra deployment on chain ${networkIn}`);
362
+ }
363
+ const resolved = {
364
+ deploymentIndex: index,
365
+ deployer: (0, viem_1.getAddress)(ovrDeployer),
366
+ };
367
+ const dep = deployments[resolved.deploymentIndex];
368
+ const path = this._buildAlgebraPath([{ tokenIn, deployer: resolved.deployer, tokenOut }]);
369
+ const proto = {
370
+ deploymentKey: (0, dex_deployment_key_1.dexDeploymentKey)({ dex: dep.tag, router: dep.router, network: networkIn }),
371
+ router: (0, viem_1.getAddress)(dep.router),
372
+ factory: (0, viem_1.getAddress)(dep.factory),
373
+ pool: (0, viem_1.getAddress)(overridePair),
374
+ deployer: (0, viem_1.getAddress)(resolved.deployer),
375
+ expectedAmountOut: overrideAmountOutMin, // treat as expected for price fast-path
376
+ sqrtPriceX96After: undefined,
377
+ initializedTicksCrossed: undefined,
378
+ gasEstimate: undefined,
379
+ path,
380
+ };
381
+ const priceResponse = {
382
+ protocol: this.protocol,
383
+ networkIn,
384
+ networkOut,
385
+ tokenIn,
386
+ tokenOut,
387
+ amountIn: amountIn,
388
+ amountOut: overrideAmountOutMin, // mirrors expectedAmountOut
389
+ slippage,
390
+ protocolResponse: proto,
391
+ };
392
+ logger.info(`AlgebraService price successfully fetched via override params.`);
393
+ return priceResponse;
394
+ }
395
+ _normalizeTokens(chainId, a, b) {
396
+ const A = (0, viem_1.getAddress)(a);
397
+ const B = (0, viem_1.getAddress)(b);
398
+ const wrapped = wrapped_native_1.wrappedNativeTokens[chainId];
399
+ if (!wrapped) {
400
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, `No wrapped native token configured for chainId ${chainId}`);
401
+ }
402
+ const tokenInNorm = (0, is_native_1.isNative)(A) ? (0, viem_1.getAddress)(wrapped) : A;
403
+ const tokenOutNorm = (0, is_native_1.isNative)(B) ? (0, viem_1.getAddress)(wrapped) : B;
404
+ if (tokenInNorm.toLowerCase() === tokenOutNorm.toLowerCase()) {
405
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'tokenIn and tokenOut cannot be equal');
406
+ }
407
+ return { tokenInNorm, tokenOutNorm };
408
+ }
409
+ _normalizeTokensForExec(chainId, a, b) {
410
+ const A = (0, viem_1.getAddress)(a);
411
+ const B = (0, viem_1.getAddress)(b);
412
+ const wrapped = (0, viem_1.getAddress)(wrapped_native_1.wrappedNativeTokens[chainId]);
413
+ const expectNativeIn = (0, is_native_1.isNative)(A);
414
+ const expectNativeOut = (0, is_native_1.isNative)(B);
415
+ const tokenInNorm = expectNativeIn ? wrapped : A;
416
+ const tokenOutNorm = expectNativeOut ? wrapped : B;
417
+ if (tokenInNorm.toLowerCase() === tokenOutNorm.toLowerCase()) {
418
+ throw (0, utils_1.sdkError)(enums_1.SdkErrorEnum.INVALID_PARAMS, 'tokenIn and tokenOut cannot be equal');
419
+ }
420
+ return { tokenInNorm, tokenOutNorm, expectNativeIn, expectNativeOut, wrapped };
421
+ }
422
+ _buildAlgebraPath(hops) {
423
+ // Algebra expects the path in reverse-encoded order for multihop.
424
+ // For single-hop this is still acceptable and matches QuoterV2 path encoding.
425
+ const reversed = [...hops].reverse();
426
+ const segs = reversed.map(({ tokenIn, deployer, tokenOut }) => (0, viem_1.concatHex)([
427
+ (0, viem_1.padHex)((0, viem_1.getAddress)(tokenIn), { size: 20 }),
428
+ (0, viem_1.padHex)((0, viem_1.getAddress)(deployer), { size: 20 }),
429
+ (0, viem_1.padHex)((0, viem_1.getAddress)(tokenOut), { size: 20 }),
430
+ ]));
431
+ return segs.reduce((a, b) => (0, viem_1.concatHex)([a, b]));
432
+ }
433
+ async _discoverPoolsAcrossDeployments(params) {
434
+ const { client, deployments } = params;
435
+ const [x, y] = (0, sort_addresses_1.sortAddresses)(params.tokenA, params.tokenB);
436
+ // For each deployment:
437
+ // - read poolDeployer() (if not provided)
438
+ // - read poolByPair(token0, token1)
439
+ // - read customPoolByPair(deployer_i, token0, token1) for each configured custom deployer
440
+ const calls = [];
441
+ const viemCalls = [];
442
+ deployments.forEach((d, di) => {
443
+ // default deployer (optional if provided directly)
444
+ if (!d.defaultDeployer) {
445
+ calls.push({ depIndex: di, kind: 'default' });
446
+ viemCalls.push({
447
+ address: d.factory,
448
+ abi: algebra_factory_abi_1.algebraFactoryAbi,
449
+ functionName: 'poolDeployer',
450
+ });
451
+ }
452
+ // default pool
453
+ calls.push({ depIndex: di, kind: 'default', deployer: d.defaultDeployer });
454
+ viemCalls.push({
455
+ address: d.factory,
456
+ abi: algebra_factory_abi_1.algebraFactoryAbi,
457
+ functionName: 'poolByPair',
458
+ args: [x, y],
459
+ });
460
+ // custom pools
461
+ const cds = d.customDeployers ?? [];
462
+ for (const cd of cds) {
463
+ calls.push({ depIndex: di, kind: 'custom', deployer: cd });
464
+ viemCalls.push({
465
+ address: d.factory,
466
+ abi: algebra_factory_abi_1.algebraFactoryAbi,
467
+ functionName: 'customPoolByPair',
468
+ args: [cd, x, y],
469
+ });
470
+ }
471
+ });
472
+ const res = await client.multicall({ allowFailure: true, contracts: viemCalls });
473
+ // Pass 1: fill default deployers that we had to read
474
+ const found = [];
475
+ const defaultDeployerCache = new Map();
476
+ let cursor = 0;
477
+ for (let di = 0; di < deployments.length; di++) {
478
+ const dep = deployments[di];
479
+ if (!dep)
480
+ continue;
481
+ // if defaultDeployer absent, consume one result
482
+ if (!dep.defaultDeployer) {
483
+ const r = res[cursor++];
484
+ if (r?.status === 'success') {
485
+ defaultDeployerCache.set(di, (0, viem_1.getAddress)(r.result));
486
+ }
487
+ }
488
+ // default pool
489
+ {
490
+ const r = res[cursor++];
491
+ if (r?.status === 'success') {
492
+ const pool = r.result;
493
+ if (pool !== '0x0000000000000000000000000000000000000000') {
494
+ const deployer = dep.defaultDeployer ??
495
+ defaultDeployerCache.get(di) ??
496
+ // safety fallback (won't be used unless both absent)
497
+ dep.customDeployers?.[0];
498
+ if (deployer) {
499
+ found.push({
500
+ pool: (0, viem_1.getAddress)(pool),
501
+ deployer: (0, viem_1.getAddress)(deployer),
502
+ deploymentIndex: di,
503
+ kind: 'default',
504
+ });
505
+ }
506
+ }
507
+ }
508
+ }
509
+ // custom pools (consume as many as dep.customDeployers.length)
510
+ const customCount = dep.customDeployers?.length ?? 0;
511
+ for (let j = 0; j < customCount; j++) {
512
+ const r = res[cursor++];
513
+ if (r?.status === 'success') {
514
+ const pool = r.result;
515
+ if (pool !== '0x0000000000000000000000000000000000000000') {
516
+ const deployer = dep.customDeployers[j];
517
+ found.push({
518
+ pool: (0, viem_1.getAddress)(pool),
519
+ deployer: (0, viem_1.getAddress)(deployer),
520
+ deploymentIndex: di,
521
+ kind: 'custom',
522
+ });
523
+ }
524
+ }
525
+ }
526
+ }
527
+ logger.info(`AlgebraService discovered ${found.length} pools across deployments.`);
528
+ return found;
529
+ }
530
+ }
531
+ exports.AlgebraService = AlgebraService;
532
+ //# sourceMappingURL=algebra.service.js.map