@steerprotocol/sdk 1.27.0 → 1.28.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 (878) hide show
  1. package/dist/cjs/base/FeeManagerClient.js +9 -0
  2. package/dist/cjs/base/FeeManagerClient.js.map +1 -0
  3. package/dist/cjs/base/PoolClient.js +1 -0
  4. package/dist/cjs/base/PoolClient.js.map +1 -0
  5. package/dist/cjs/base/SmartRewardClient.js +1 -0
  6. package/dist/cjs/base/SmartRewardClient.js.map +1 -0
  7. package/dist/cjs/base/SmartRewards.js +1 -0
  8. package/dist/cjs/base/SmartRewards.js.map +1 -0
  9. package/dist/cjs/base/StakingClient.js +1 -0
  10. package/dist/cjs/base/StakingClient.js.map +1 -0
  11. package/dist/cjs/base/SubgraphClient.js +1 -0
  12. package/dist/cjs/base/SubgraphClient.js.map +1 -0
  13. package/dist/cjs/base/VaultClient.js +1 -0
  14. package/dist/cjs/base/VaultClient.js.map +1 -0
  15. package/dist/cjs/base/vault/deposit/index.js +1 -0
  16. package/dist/cjs/base/vault/deposit/index.js.map +1 -0
  17. package/dist/cjs/base/vault/deposit/types.js +1 -0
  18. package/dist/cjs/base/vault/deposit/types.js.map +1 -0
  19. package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js +1 -0
  20. package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js.map +1 -0
  21. package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js +1 -0
  22. package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js.map +1 -0
  23. package/dist/cjs/base/vault/single-asset/estimateLpTokens.js +1 -0
  24. package/dist/cjs/base/vault/single-asset/estimateLpTokens.js.map +1 -0
  25. package/dist/cjs/base/vault/single-asset/index.js +1 -0
  26. package/dist/cjs/base/vault/single-asset/index.js.map +1 -0
  27. package/dist/cjs/base/vault/single-asset/simulateSwap.js +1 -0
  28. package/dist/cjs/base/vault/single-asset/simulateSwap.js.map +1 -0
  29. package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js +1 -0
  30. package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js.map +1 -0
  31. package/dist/cjs/base/vault/single-asset/types.js +1 -0
  32. package/dist/cjs/base/vault/single-asset/types.js.map +1 -0
  33. package/dist/cjs/base/vault/utils.js +1 -0
  34. package/dist/cjs/base/vault/utils.js.map +1 -0
  35. package/dist/cjs/base/vault/withdraw/index.js +1 -0
  36. package/dist/cjs/base/vault/withdraw/index.js.map +1 -0
  37. package/dist/cjs/base/vault/withdraw/types.js +1 -0
  38. package/dist/cjs/base/vault/withdraw/types.js.map +1 -0
  39. package/dist/cjs/client.js +1 -0
  40. package/dist/cjs/client.js.map +1 -0
  41. package/dist/cjs/const/abis/UniswapPool.js +1 -0
  42. package/dist/cjs/const/abis/UniswapPool.js.map +1 -0
  43. package/dist/cjs/const/abis/erc1155.js +1 -0
  44. package/dist/cjs/const/abis/erc1155.js.map +1 -0
  45. package/dist/cjs/const/abis/erc20.js +1 -0
  46. package/dist/cjs/const/abis/erc20.js.map +1 -0
  47. package/dist/cjs/const/abis/erc721.js +1 -0
  48. package/dist/cjs/const/abis/erc721.js.map +1 -0
  49. package/dist/cjs/const/abis/feeManager.js +1 -0
  50. package/dist/cjs/const/abis/feeManager.js.map +1 -0
  51. package/dist/cjs/const/abis/index.js +1 -0
  52. package/dist/cjs/const/abis/index.js.map +1 -0
  53. package/dist/cjs/const/abis/quoter.js +1 -0
  54. package/dist/cjs/const/abis/quoter.js.map +1 -0
  55. package/dist/cjs/const/abis/singleTokenDeposit.js +1 -0
  56. package/dist/cjs/const/abis/singleTokenDeposit.js.map +1 -0
  57. package/dist/cjs/const/abis/vaultFees.js +1 -0
  58. package/dist/cjs/const/abis/vaultFees.js.map +1 -0
  59. package/dist/cjs/const/amm/configs/ammConfig.js +1 -0
  60. package/dist/cjs/const/amm/configs/ammConfig.js.map +1 -0
  61. package/dist/cjs/const/amm/configs/protocols/aerodrome-v2.js +1 -0
  62. package/dist/cjs/const/amm/configs/protocols/aerodrome-v2.js.map +1 -0
  63. package/dist/cjs/const/amm/configs/protocols/aerodrome.js +1 -0
  64. package/dist/cjs/const/amm/configs/protocols/aerodrome.js.map +1 -0
  65. package/dist/cjs/const/amm/configs/protocols/arthswap.js +1 -0
  66. package/dist/cjs/const/amm/configs/protocols/arthswap.js.map +1 -0
  67. package/dist/cjs/const/amm/configs/protocols/baseswap.js +1 -0
  68. package/dist/cjs/const/amm/configs/protocols/baseswap.js.map +1 -0
  69. package/dist/cjs/const/amm/configs/protocols/basex.js +1 -0
  70. package/dist/cjs/const/amm/configs/protocols/basex.js.map +1 -0
  71. package/dist/cjs/const/amm/configs/protocols/beam.js +1 -0
  72. package/dist/cjs/const/amm/configs/protocols/beam.js.map +1 -0
  73. package/dist/cjs/const/amm/configs/protocols/beamswap.js +1 -0
  74. package/dist/cjs/const/amm/configs/protocols/beamswap.js.map +1 -0
  75. package/dist/cjs/const/amm/configs/protocols/blackhole.js +1 -0
  76. package/dist/cjs/const/amm/configs/protocols/blackhole.js.map +1 -0
  77. package/dist/cjs/const/amm/configs/protocols/camelot.js +1 -0
  78. package/dist/cjs/const/amm/configs/protocols/camelot.js.map +1 -0
  79. package/dist/cjs/const/amm/configs/protocols/crust.js +1 -0
  80. package/dist/cjs/const/amm/configs/protocols/crust.js.map +1 -0
  81. package/dist/cjs/const/amm/configs/protocols/cypher.js +1 -0
  82. package/dist/cjs/const/amm/configs/protocols/cypher.js.map +1 -0
  83. package/dist/cjs/const/amm/configs/protocols/dodo.js +1 -0
  84. package/dist/cjs/const/amm/configs/protocols/dodo.js.map +1 -0
  85. package/dist/cjs/const/amm/configs/protocols/dragonswap.js +1 -0
  86. package/dist/cjs/const/amm/configs/protocols/dragonswap.js.map +1 -0
  87. package/dist/cjs/const/amm/configs/protocols/eddy.js +1 -0
  88. package/dist/cjs/const/amm/configs/protocols/eddy.js.map +1 -0
  89. package/dist/cjs/const/amm/configs/protocols/equilibre.js +1 -0
  90. package/dist/cjs/const/amm/configs/protocols/equilibre.js.map +1 -0
  91. package/dist/cjs/const/amm/configs/protocols/fenix.js +1 -0
  92. package/dist/cjs/const/amm/configs/protocols/fenix.js.map +1 -0
  93. package/dist/cjs/const/amm/configs/protocols/forge.js +1 -0
  94. package/dist/cjs/const/amm/configs/protocols/forge.js.map +1 -0
  95. package/dist/cjs/const/amm/configs/protocols/fusionx.js +1 -0
  96. package/dist/cjs/const/amm/configs/protocols/fusionx.js.map +1 -0
  97. package/dist/cjs/const/amm/configs/protocols/glyph.js +1 -0
  98. package/dist/cjs/const/amm/configs/protocols/glyph.js.map +1 -0
  99. package/dist/cjs/const/amm/configs/protocols/henjin.js +1 -0
  100. package/dist/cjs/const/amm/configs/protocols/henjin.js.map +1 -0
  101. package/dist/cjs/const/amm/configs/protocols/hercules.js +1 -0
  102. package/dist/cjs/const/amm/configs/protocols/hercules.js.map +1 -0
  103. package/dist/cjs/const/amm/configs/protocols/horiza.js +1 -0
  104. package/dist/cjs/const/amm/configs/protocols/horiza.js.map +1 -0
  105. package/dist/cjs/const/amm/configs/protocols/index.js +1 -0
  106. package/dist/cjs/const/amm/configs/protocols/index.js.map +1 -0
  107. package/dist/cjs/const/amm/configs/protocols/katana.js +1 -0
  108. package/dist/cjs/const/amm/configs/protocols/katana.js.map +1 -0
  109. package/dist/cjs/const/amm/configs/protocols/katanaIntegral.js +1 -0
  110. package/dist/cjs/const/amm/configs/protocols/katanaIntegral.js.map +1 -0
  111. package/dist/cjs/const/amm/configs/protocols/kim.js +1 -0
  112. package/dist/cjs/const/amm/configs/protocols/kim.js.map +1 -0
  113. package/dist/cjs/const/amm/configs/protocols/kinetix.js +1 -0
  114. package/dist/cjs/const/amm/configs/protocols/kinetix.js.map +1 -0
  115. package/dist/cjs/const/amm/configs/protocols/kodiak.js +1 -0
  116. package/dist/cjs/const/amm/configs/protocols/kodiak.js.map +1 -0
  117. package/dist/cjs/const/amm/configs/protocols/kyo.js +1 -0
  118. package/dist/cjs/const/amm/configs/protocols/kyo.js.map +1 -0
  119. package/dist/cjs/const/amm/configs/protocols/linehub.js +1 -0
  120. package/dist/cjs/const/amm/configs/protocols/linehub.js.map +1 -0
  121. package/dist/cjs/const/amm/configs/protocols/lynex.js +1 -0
  122. package/dist/cjs/const/amm/configs/protocols/lynex.js.map +1 -0
  123. package/dist/cjs/const/amm/configs/protocols/machinex.js +1 -0
  124. package/dist/cjs/const/amm/configs/protocols/machinex.js.map +1 -0
  125. package/dist/cjs/const/amm/configs/protocols/maia.js +1 -0
  126. package/dist/cjs/const/amm/configs/protocols/maia.js.map +1 -0
  127. package/dist/cjs/const/amm/configs/protocols/metavault.js +1 -0
  128. package/dist/cjs/const/amm/configs/protocols/metavault.js.map +1 -0
  129. package/dist/cjs/const/amm/configs/protocols/nest.js +1 -0
  130. package/dist/cjs/const/amm/configs/protocols/nest.js.map +1 -0
  131. package/dist/cjs/const/amm/configs/protocols/novaswap.js +1 -0
  132. package/dist/cjs/const/amm/configs/protocols/novaswap.js.map +1 -0
  133. package/dist/cjs/const/amm/configs/protocols/ocelex.js +1 -0
  134. package/dist/cjs/const/amm/configs/protocols/ocelex.js.map +1 -0
  135. package/dist/cjs/const/amm/configs/protocols/pancakeswap.js +1 -0
  136. package/dist/cjs/const/amm/configs/protocols/pancakeswap.js.map +1 -0
  137. package/dist/cjs/const/amm/configs/protocols/poolshark.js +1 -0
  138. package/dist/cjs/const/amm/configs/protocols/poolshark.js.map +1 -0
  139. package/dist/cjs/const/amm/configs/protocols/quickswap-algebra.js +1 -0
  140. package/dist/cjs/const/amm/configs/protocols/quickswap-algebra.js.map +1 -0
  141. package/dist/cjs/const/amm/configs/protocols/quickswap-integral.js +1 -0
  142. package/dist/cjs/const/amm/configs/protocols/quickswap-integral.js.map +1 -0
  143. package/dist/cjs/const/amm/configs/protocols/quickswap-univ3.js +1 -0
  144. package/dist/cjs/const/amm/configs/protocols/quickswap-univ3.js.map +1 -0
  145. package/dist/cjs/const/amm/configs/protocols/quickswap.js +1 -0
  146. package/dist/cjs/const/amm/configs/protocols/quickswap.js.map +1 -0
  147. package/dist/cjs/const/amm/configs/protocols/retro.js +1 -0
  148. package/dist/cjs/const/amm/configs/protocols/retro.js.map +1 -0
  149. package/dist/cjs/const/amm/configs/protocols/sailor.js +1 -0
  150. package/dist/cjs/const/amm/configs/protocols/sailor.js.map +1 -0
  151. package/dist/cjs/const/amm/configs/protocols/shadow.js +1 -0
  152. package/dist/cjs/const/amm/configs/protocols/shadow.js.map +1 -0
  153. package/dist/cjs/const/amm/configs/protocols/silverswap.js +1 -0
  154. package/dist/cjs/const/amm/configs/protocols/silverswap.js.map +1 -0
  155. package/dist/cjs/const/amm/configs/protocols/spark.js +1 -0
  156. package/dist/cjs/const/amm/configs/protocols/spark.js.map +1 -0
  157. package/dist/cjs/const/amm/configs/protocols/spark32.js +1 -0
  158. package/dist/cjs/const/amm/configs/protocols/spark32.js.map +1 -0
  159. package/dist/cjs/const/amm/configs/protocols/spookyswap.js +1 -0
  160. package/dist/cjs/const/amm/configs/protocols/spookyswap.js.map +1 -0
  161. package/dist/cjs/const/amm/configs/protocols/stellaswap.js +1 -0
  162. package/dist/cjs/const/amm/configs/protocols/stellaswap.js.map +1 -0
  163. package/dist/cjs/const/amm/configs/protocols/supswap.js +1 -0
  164. package/dist/cjs/const/amm/configs/protocols/supswap.js.map +1 -0
  165. package/dist/cjs/const/amm/configs/protocols/sushi.js +1 -0
  166. package/dist/cjs/const/amm/configs/protocols/sushi.js.map +1 -0
  167. package/dist/cjs/const/amm/configs/protocols/swapmode.js +1 -0
  168. package/dist/cjs/const/amm/configs/protocols/swapmode.js.map +1 -0
  169. package/dist/cjs/const/amm/configs/protocols/swapsicle.js +1 -0
  170. package/dist/cjs/const/amm/configs/protocols/swapsicle.js.map +1 -0
  171. package/dist/cjs/const/amm/configs/protocols/thena.js +1 -0
  172. package/dist/cjs/const/amm/configs/protocols/thena.js.map +1 -0
  173. package/dist/cjs/const/amm/configs/protocols/thick.js +1 -0
  174. package/dist/cjs/const/amm/configs/protocols/thick.js.map +1 -0
  175. package/dist/cjs/const/amm/configs/protocols/thickv2.js +1 -0
  176. package/dist/cjs/const/amm/configs/protocols/thickv2.js.map +1 -0
  177. package/dist/cjs/const/amm/configs/protocols/thruster.js +1 -0
  178. package/dist/cjs/const/amm/configs/protocols/thruster.js.map +1 -0
  179. package/dist/cjs/const/amm/configs/protocols/uniswap.js +1 -0
  180. package/dist/cjs/const/amm/configs/protocols/uniswap.js.map +1 -0
  181. package/dist/cjs/const/amm/configs/protocols/wasabee.js +1 -0
  182. package/dist/cjs/const/amm/configs/protocols/wasabee.js.map +1 -0
  183. package/dist/cjs/const/amm/index.js +1 -0
  184. package/dist/cjs/const/amm/index.js.map +1 -0
  185. package/dist/cjs/const/amm/utils/beacon.js +1 -0
  186. package/dist/cjs/const/amm/utils/beacon.js.map +1 -0
  187. package/dist/cjs/const/amm/utils/contracts.js +1 -0
  188. package/dist/cjs/const/amm/utils/contracts.js.map +1 -0
  189. package/dist/cjs/const/amm/utils/index.js +1 -0
  190. package/dist/cjs/const/amm/utils/index.js.map +1 -0
  191. package/dist/cjs/const/amm/utils/protocol.js +1 -0
  192. package/dist/cjs/const/amm/utils/protocol.js.map +1 -0
  193. package/dist/cjs/const/api.js +1 -0
  194. package/dist/cjs/const/api.js.map +1 -0
  195. package/dist/cjs/const/capabilities.js +1 -0
  196. package/dist/cjs/const/capabilities.js.map +1 -0
  197. package/dist/cjs/const/chain.js +1 -0
  198. package/dist/cjs/const/chain.js.map +1 -0
  199. package/dist/cjs/const/deployments/abis.js +1 -0
  200. package/dist/cjs/const/deployments/abis.js.map +1 -0
  201. package/dist/cjs/const/deployments/apechain.js +1 -0
  202. package/dist/cjs/const/deployments/apechain.js.map +1 -0
  203. package/dist/cjs/const/deployments/arbitrum.js +1 -0
  204. package/dist/cjs/const/deployments/arbitrum.js.map +1 -0
  205. package/dist/cjs/const/deployments/arbitrumgoerli.js +1 -0
  206. package/dist/cjs/const/deployments/arbitrumgoerli.js.map +1 -0
  207. package/dist/cjs/const/deployments/astar.js +1 -0
  208. package/dist/cjs/const/deployments/astar.js.map +1 -0
  209. package/dist/cjs/const/deployments/astarzkevm.js +1 -0
  210. package/dist/cjs/const/deployments/astarzkevm.js.map +1 -0
  211. package/dist/cjs/const/deployments/avalanche.js +1 -0
  212. package/dist/cjs/const/deployments/avalanche.js.map +1 -0
  213. package/dist/cjs/const/deployments/bartiotest.js +1 -0
  214. package/dist/cjs/const/deployments/bartiotest.js.map +1 -0
  215. package/dist/cjs/const/deployments/base.js +1 -0
  216. package/dist/cjs/const/deployments/base.js.map +1 -0
  217. package/dist/cjs/const/deployments/bera.js +1 -0
  218. package/dist/cjs/const/deployments/bera.js.map +1 -0
  219. package/dist/cjs/const/deployments/berachainbartio.js +1 -0
  220. package/dist/cjs/const/deployments/berachainbartio.js.map +1 -0
  221. package/dist/cjs/const/deployments/blast.js +1 -0
  222. package/dist/cjs/const/deployments/blast.js.map +1 -0
  223. package/dist/cjs/const/deployments/bsc.js +1 -0
  224. package/dist/cjs/const/deployments/bsc.js.map +1 -0
  225. package/dist/cjs/const/deployments/celo.js +1 -0
  226. package/dist/cjs/const/deployments/celo.js.map +1 -0
  227. package/dist/cjs/const/deployments/core.js +1 -0
  228. package/dist/cjs/const/deployments/core.js.map +1 -0
  229. package/dist/cjs/const/deployments/eth.js +1 -0
  230. package/dist/cjs/const/deployments/eth.js.map +1 -0
  231. package/dist/cjs/const/deployments/evmos.js +1 -0
  232. package/dist/cjs/const/deployments/evmos.js.map +1 -0
  233. package/dist/cjs/const/deployments/fantom.js +1 -0
  234. package/dist/cjs/const/deployments/fantom.js.map +1 -0
  235. package/dist/cjs/const/deployments/filecoin.js +1 -0
  236. package/dist/cjs/const/deployments/filecoin.js.map +1 -0
  237. package/dist/cjs/const/deployments/flare.js +1 -0
  238. package/dist/cjs/const/deployments/flare.js.map +1 -0
  239. package/dist/cjs/const/deployments/goerli.js +1 -0
  240. package/dist/cjs/const/deployments/goerli.js.map +1 -0
  241. package/dist/cjs/const/deployments/hemi.js +1 -0
  242. package/dist/cjs/const/deployments/hemi.js.map +1 -0
  243. package/dist/cjs/const/deployments/hyperevm.js +1 -0
  244. package/dist/cjs/const/deployments/hyperevm.js.map +1 -0
  245. package/dist/cjs/const/deployments/index.js +1 -0
  246. package/dist/cjs/const/deployments/index.js.map +1 -0
  247. package/dist/cjs/const/deployments/katana.js +1 -0
  248. package/dist/cjs/const/deployments/katana.js.map +1 -0
  249. package/dist/cjs/const/deployments/kava.js +1 -0
  250. package/dist/cjs/const/deployments/kava.js.map +1 -0
  251. package/dist/cjs/const/deployments/linea.js +1 -0
  252. package/dist/cjs/const/deployments/linea.js.map +1 -0
  253. package/dist/cjs/const/deployments/localhost.js +1 -0
  254. package/dist/cjs/const/deployments/localhost.js.map +1 -0
  255. package/dist/cjs/const/deployments/manta.js +1 -0
  256. package/dist/cjs/const/deployments/manta.js.map +1 -0
  257. package/dist/cjs/const/deployments/mantle.js +1 -0
  258. package/dist/cjs/const/deployments/mantle.js.map +1 -0
  259. package/dist/cjs/const/deployments/metis.js +1 -0
  260. package/dist/cjs/const/deployments/metis.js.map +1 -0
  261. package/dist/cjs/const/deployments/mode.js +1 -0
  262. package/dist/cjs/const/deployments/mode.js.map +1 -0
  263. package/dist/cjs/const/deployments/moonbeam.js +1 -0
  264. package/dist/cjs/const/deployments/moonbeam.js.map +1 -0
  265. package/dist/cjs/const/deployments/mumbai.js +1 -0
  266. package/dist/cjs/const/deployments/mumbai.js.map +1 -0
  267. package/dist/cjs/const/deployments/nibiru.js +1 -0
  268. package/dist/cjs/const/deployments/nibiru.js.map +1 -0
  269. package/dist/cjs/const/deployments/okxtestnet.js +1 -0
  270. package/dist/cjs/const/deployments/okxtestnet.js.map +1 -0
  271. package/dist/cjs/const/deployments/optimism.js +1 -0
  272. package/dist/cjs/const/deployments/optimism.js.map +1 -0
  273. package/dist/cjs/const/deployments/optimismgoerli.js +1 -0
  274. package/dist/cjs/const/deployments/optimismgoerli.js.map +1 -0
  275. package/dist/cjs/const/deployments/peaq.js +1 -0
  276. package/dist/cjs/const/deployments/peaq.js.map +1 -0
  277. package/dist/cjs/const/deployments/polygon.js +1 -0
  278. package/dist/cjs/const/deployments/polygon.js.map +1 -0
  279. package/dist/cjs/const/deployments/polyzkevm.js +1 -0
  280. package/dist/cjs/const/deployments/polyzkevm.js.map +1 -0
  281. package/dist/cjs/const/deployments/pyzkevm.js +1 -0
  282. package/dist/cjs/const/deployments/pyzkevm.js.map +1 -0
  283. package/dist/cjs/const/deployments/ronin.js +1 -0
  284. package/dist/cjs/const/deployments/ronin.js.map +1 -0
  285. package/dist/cjs/const/deployments/rootstock.js +1 -0
  286. package/dist/cjs/const/deployments/rootstock.js.map +1 -0
  287. package/dist/cjs/const/deployments/saga.js +1 -0
  288. package/dist/cjs/const/deployments/saga.js.map +1 -0
  289. package/dist/cjs/const/deployments/scroll.js +1 -0
  290. package/dist/cjs/const/deployments/scroll.js.map +1 -0
  291. package/dist/cjs/const/deployments/sei.js +1 -0
  292. package/dist/cjs/const/deployments/sei.js.map +1 -0
  293. package/dist/cjs/const/deployments/soneium.js +1 -0
  294. package/dist/cjs/const/deployments/soneium.js.map +1 -0
  295. package/dist/cjs/const/deployments/sonic.js +1 -0
  296. package/dist/cjs/const/deployments/sonic.js.map +1 -0
  297. package/dist/cjs/const/deployments/taiko.js +1 -0
  298. package/dist/cjs/const/deployments/taiko.js.map +1 -0
  299. package/dist/cjs/const/deployments/tataratestnet.js +1 -0
  300. package/dist/cjs/const/deployments/tataratestnet.js.map +1 -0
  301. package/dist/cjs/const/deployments/telos.js +1 -0
  302. package/dist/cjs/const/deployments/telos.js.map +1 -0
  303. package/dist/cjs/const/deployments/thundercore.js +1 -0
  304. package/dist/cjs/const/deployments/thundercore.js.map +1 -0
  305. package/dist/cjs/const/deployments/uni.js +1 -0
  306. package/dist/cjs/const/deployments/uni.js.map +1 -0
  307. package/dist/cjs/const/deployments/xlayer.js +1 -0
  308. package/dist/cjs/const/deployments/xlayer.js.map +1 -0
  309. package/dist/cjs/const/deployments/zeta.js +1 -0
  310. package/dist/cjs/const/deployments/zeta.js.map +1 -0
  311. package/dist/cjs/const/deployments/zircuit.js +1 -0
  312. package/dist/cjs/const/deployments/zircuit.js.map +1 -0
  313. package/dist/cjs/const/deployments/zklinknova.js +1 -0
  314. package/dist/cjs/const/deployments/zklinknova.js.map +1 -0
  315. package/dist/cjs/const/index.js +1 -0
  316. package/dist/cjs/const/index.js.map +1 -0
  317. package/dist/cjs/const/network.js +1 -0
  318. package/dist/cjs/const/network.js.map +1 -0
  319. package/dist/cjs/const/protocol.js +1 -0
  320. package/dist/cjs/const/protocol.js.map +1 -0
  321. package/dist/cjs/const/quoter.js +1 -0
  322. package/dist/cjs/const/quoter.js.map +1 -0
  323. package/dist/cjs/const/stabilityVaults/index.js +1 -0
  324. package/dist/cjs/const/stabilityVaults/index.js.map +1 -0
  325. package/dist/cjs/const/stabilityVaults/stabilityVaultsConfig.js +1 -0
  326. package/dist/cjs/const/stabilityVaults/stabilityVaultsConfig.js.map +1 -0
  327. package/dist/cjs/const/subgraph.js +1 -0
  328. package/dist/cjs/const/subgraph.js.map +1 -0
  329. package/dist/cjs/const/thegraph.js +1 -0
  330. package/dist/cjs/const/thegraph.js.map +1 -0
  331. package/dist/cjs/index.js +1 -0
  332. package/dist/cjs/index.js.map +1 -0
  333. package/dist/cjs/scripts/processDeployments.js +1 -0
  334. package/dist/cjs/scripts/processDeployments.js.map +1 -0
  335. package/dist/cjs/types.js +1 -0
  336. package/dist/cjs/types.js.map +1 -0
  337. package/dist/cjs/utils/PoolQueryAdapter.js +1 -0
  338. package/dist/cjs/utils/PoolQueryAdapter.js.map +1 -0
  339. package/dist/cjs/utils/SubgraphVaultClient.js +1 -0
  340. package/dist/cjs/utils/SubgraphVaultClient.js.map +1 -0
  341. package/dist/cjs/utils/subgraph-types.js +1 -0
  342. package/dist/cjs/utils/subgraph-types.js.map +1 -0
  343. package/dist/esm/base/FeeManagerClient.js +9 -0
  344. package/dist/esm/base/FeeManagerClient.js.map +1 -0
  345. package/dist/esm/base/PoolClient.js +1 -0
  346. package/dist/esm/base/PoolClient.js.map +1 -0
  347. package/dist/esm/base/SmartRewardClient.js +1 -0
  348. package/dist/esm/base/SmartRewardClient.js.map +1 -0
  349. package/dist/esm/base/SmartRewards.js +1 -0
  350. package/dist/esm/base/SmartRewards.js.map +1 -0
  351. package/dist/esm/base/StakingClient.js +1 -0
  352. package/dist/esm/base/StakingClient.js.map +1 -0
  353. package/dist/esm/base/SubgraphClient.js +1 -0
  354. package/dist/esm/base/SubgraphClient.js.map +1 -0
  355. package/dist/esm/base/VaultClient.js +1 -0
  356. package/dist/esm/base/VaultClient.js.map +1 -0
  357. package/dist/esm/base/vault/deposit/index.js +1 -0
  358. package/dist/esm/base/vault/deposit/index.js.map +1 -0
  359. package/dist/esm/base/vault/deposit/types.js +1 -0
  360. package/dist/esm/base/vault/deposit/types.js.map +1 -0
  361. package/dist/esm/base/vault/single-asset/calculateLimitPrice.js +1 -0
  362. package/dist/esm/base/vault/single-asset/calculateLimitPrice.js.map +1 -0
  363. package/dist/esm/base/vault/single-asset/calculateSwapAmount.js +1 -0
  364. package/dist/esm/base/vault/single-asset/calculateSwapAmount.js.map +1 -0
  365. package/dist/esm/base/vault/single-asset/estimateLpTokens.js +1 -0
  366. package/dist/esm/base/vault/single-asset/estimateLpTokens.js.map +1 -0
  367. package/dist/esm/base/vault/single-asset/index.js +1 -0
  368. package/dist/esm/base/vault/single-asset/index.js.map +1 -0
  369. package/dist/esm/base/vault/single-asset/simulateSwap.js +1 -0
  370. package/dist/esm/base/vault/single-asset/simulateSwap.js.map +1 -0
  371. package/dist/esm/base/vault/single-asset/singleAssetDeposit.js +1 -0
  372. package/dist/esm/base/vault/single-asset/singleAssetDeposit.js.map +1 -0
  373. package/dist/esm/base/vault/single-asset/types.js +1 -0
  374. package/dist/esm/base/vault/single-asset/types.js.map +1 -0
  375. package/dist/esm/base/vault/utils.js +1 -0
  376. package/dist/esm/base/vault/utils.js.map +1 -0
  377. package/dist/esm/base/vault/withdraw/index.js +1 -0
  378. package/dist/esm/base/vault/withdraw/index.js.map +1 -0
  379. package/dist/esm/base/vault/withdraw/types.js +1 -0
  380. package/dist/esm/base/vault/withdraw/types.js.map +1 -0
  381. package/dist/esm/client.js +1 -0
  382. package/dist/esm/client.js.map +1 -0
  383. package/dist/esm/const/abis/UniswapPool.js +1 -0
  384. package/dist/esm/const/abis/UniswapPool.js.map +1 -0
  385. package/dist/esm/const/abis/erc1155.js +1 -0
  386. package/dist/esm/const/abis/erc1155.js.map +1 -0
  387. package/dist/esm/const/abis/erc20.js +1 -0
  388. package/dist/esm/const/abis/erc20.js.map +1 -0
  389. package/dist/esm/const/abis/erc721.js +1 -0
  390. package/dist/esm/const/abis/erc721.js.map +1 -0
  391. package/dist/esm/const/abis/feeManager.js +1 -0
  392. package/dist/esm/const/abis/feeManager.js.map +1 -0
  393. package/dist/esm/const/abis/index.js +1 -0
  394. package/dist/esm/const/abis/index.js.map +1 -0
  395. package/dist/esm/const/abis/quoter.js +1 -0
  396. package/dist/esm/const/abis/quoter.js.map +1 -0
  397. package/dist/esm/const/abis/singleTokenDeposit.js +1 -0
  398. package/dist/esm/const/abis/singleTokenDeposit.js.map +1 -0
  399. package/dist/esm/const/abis/vaultFees.js +1 -0
  400. package/dist/esm/const/abis/vaultFees.js.map +1 -0
  401. package/dist/esm/const/amm/configs/ammConfig.js +1 -0
  402. package/dist/esm/const/amm/configs/ammConfig.js.map +1 -0
  403. package/dist/esm/const/amm/configs/protocols/aerodrome-v2.js +1 -0
  404. package/dist/esm/const/amm/configs/protocols/aerodrome-v2.js.map +1 -0
  405. package/dist/esm/const/amm/configs/protocols/aerodrome.js +1 -0
  406. package/dist/esm/const/amm/configs/protocols/aerodrome.js.map +1 -0
  407. package/dist/esm/const/amm/configs/protocols/arthswap.js +1 -0
  408. package/dist/esm/const/amm/configs/protocols/arthswap.js.map +1 -0
  409. package/dist/esm/const/amm/configs/protocols/baseswap.js +1 -0
  410. package/dist/esm/const/amm/configs/protocols/baseswap.js.map +1 -0
  411. package/dist/esm/const/amm/configs/protocols/basex.js +1 -0
  412. package/dist/esm/const/amm/configs/protocols/basex.js.map +1 -0
  413. package/dist/esm/const/amm/configs/protocols/beam.js +1 -0
  414. package/dist/esm/const/amm/configs/protocols/beam.js.map +1 -0
  415. package/dist/esm/const/amm/configs/protocols/beamswap.js +1 -0
  416. package/dist/esm/const/amm/configs/protocols/beamswap.js.map +1 -0
  417. package/dist/esm/const/amm/configs/protocols/blackhole.js +1 -0
  418. package/dist/esm/const/amm/configs/protocols/blackhole.js.map +1 -0
  419. package/dist/esm/const/amm/configs/protocols/camelot.js +1 -0
  420. package/dist/esm/const/amm/configs/protocols/camelot.js.map +1 -0
  421. package/dist/esm/const/amm/configs/protocols/crust.js +1 -0
  422. package/dist/esm/const/amm/configs/protocols/crust.js.map +1 -0
  423. package/dist/esm/const/amm/configs/protocols/cypher.js +1 -0
  424. package/dist/esm/const/amm/configs/protocols/cypher.js.map +1 -0
  425. package/dist/esm/const/amm/configs/protocols/dodo.js +1 -0
  426. package/dist/esm/const/amm/configs/protocols/dodo.js.map +1 -0
  427. package/dist/esm/const/amm/configs/protocols/dragonswap.js +1 -0
  428. package/dist/esm/const/amm/configs/protocols/dragonswap.js.map +1 -0
  429. package/dist/esm/const/amm/configs/protocols/eddy.js +1 -0
  430. package/dist/esm/const/amm/configs/protocols/eddy.js.map +1 -0
  431. package/dist/esm/const/amm/configs/protocols/equilibre.js +1 -0
  432. package/dist/esm/const/amm/configs/protocols/equilibre.js.map +1 -0
  433. package/dist/esm/const/amm/configs/protocols/fenix.js +1 -0
  434. package/dist/esm/const/amm/configs/protocols/fenix.js.map +1 -0
  435. package/dist/esm/const/amm/configs/protocols/forge.js +1 -0
  436. package/dist/esm/const/amm/configs/protocols/forge.js.map +1 -0
  437. package/dist/esm/const/amm/configs/protocols/fusionx.js +1 -0
  438. package/dist/esm/const/amm/configs/protocols/fusionx.js.map +1 -0
  439. package/dist/esm/const/amm/configs/protocols/glyph.js +1 -0
  440. package/dist/esm/const/amm/configs/protocols/glyph.js.map +1 -0
  441. package/dist/esm/const/amm/configs/protocols/henjin.js +1 -0
  442. package/dist/esm/const/amm/configs/protocols/henjin.js.map +1 -0
  443. package/dist/esm/const/amm/configs/protocols/hercules.js +1 -0
  444. package/dist/esm/const/amm/configs/protocols/hercules.js.map +1 -0
  445. package/dist/esm/const/amm/configs/protocols/horiza.js +1 -0
  446. package/dist/esm/const/amm/configs/protocols/horiza.js.map +1 -0
  447. package/dist/esm/const/amm/configs/protocols/index.js +1 -0
  448. package/dist/esm/const/amm/configs/protocols/index.js.map +1 -0
  449. package/dist/esm/const/amm/configs/protocols/katana.js +1 -0
  450. package/dist/esm/const/amm/configs/protocols/katana.js.map +1 -0
  451. package/dist/esm/const/amm/configs/protocols/katanaIntegral.js +1 -0
  452. package/dist/esm/const/amm/configs/protocols/katanaIntegral.js.map +1 -0
  453. package/dist/esm/const/amm/configs/protocols/kim.js +1 -0
  454. package/dist/esm/const/amm/configs/protocols/kim.js.map +1 -0
  455. package/dist/esm/const/amm/configs/protocols/kinetix.js +1 -0
  456. package/dist/esm/const/amm/configs/protocols/kinetix.js.map +1 -0
  457. package/dist/esm/const/amm/configs/protocols/kodiak.js +1 -0
  458. package/dist/esm/const/amm/configs/protocols/kodiak.js.map +1 -0
  459. package/dist/esm/const/amm/configs/protocols/kyo.js +1 -0
  460. package/dist/esm/const/amm/configs/protocols/kyo.js.map +1 -0
  461. package/dist/esm/const/amm/configs/protocols/linehub.js +1 -0
  462. package/dist/esm/const/amm/configs/protocols/linehub.js.map +1 -0
  463. package/dist/esm/const/amm/configs/protocols/lynex.js +1 -0
  464. package/dist/esm/const/amm/configs/protocols/lynex.js.map +1 -0
  465. package/dist/esm/const/amm/configs/protocols/machinex.js +1 -0
  466. package/dist/esm/const/amm/configs/protocols/machinex.js.map +1 -0
  467. package/dist/esm/const/amm/configs/protocols/maia.js +1 -0
  468. package/dist/esm/const/amm/configs/protocols/maia.js.map +1 -0
  469. package/dist/esm/const/amm/configs/protocols/metavault.js +1 -0
  470. package/dist/esm/const/amm/configs/protocols/metavault.js.map +1 -0
  471. package/dist/esm/const/amm/configs/protocols/nest.js +1 -0
  472. package/dist/esm/const/amm/configs/protocols/nest.js.map +1 -0
  473. package/dist/esm/const/amm/configs/protocols/novaswap.js +1 -0
  474. package/dist/esm/const/amm/configs/protocols/novaswap.js.map +1 -0
  475. package/dist/esm/const/amm/configs/protocols/ocelex.js +1 -0
  476. package/dist/esm/const/amm/configs/protocols/ocelex.js.map +1 -0
  477. package/dist/esm/const/amm/configs/protocols/pancakeswap.js +1 -0
  478. package/dist/esm/const/amm/configs/protocols/pancakeswap.js.map +1 -0
  479. package/dist/esm/const/amm/configs/protocols/poolshark.js +1 -0
  480. package/dist/esm/const/amm/configs/protocols/poolshark.js.map +1 -0
  481. package/dist/esm/const/amm/configs/protocols/quickswap-algebra.js +1 -0
  482. package/dist/esm/const/amm/configs/protocols/quickswap-algebra.js.map +1 -0
  483. package/dist/esm/const/amm/configs/protocols/quickswap-integral.js +1 -0
  484. package/dist/esm/const/amm/configs/protocols/quickswap-integral.js.map +1 -0
  485. package/dist/esm/const/amm/configs/protocols/quickswap-univ3.js +1 -0
  486. package/dist/esm/const/amm/configs/protocols/quickswap-univ3.js.map +1 -0
  487. package/dist/esm/const/amm/configs/protocols/quickswap.js +1 -0
  488. package/dist/esm/const/amm/configs/protocols/quickswap.js.map +1 -0
  489. package/dist/esm/const/amm/configs/protocols/retro.js +1 -0
  490. package/dist/esm/const/amm/configs/protocols/retro.js.map +1 -0
  491. package/dist/esm/const/amm/configs/protocols/sailor.js +1 -0
  492. package/dist/esm/const/amm/configs/protocols/sailor.js.map +1 -0
  493. package/dist/esm/const/amm/configs/protocols/shadow.js +1 -0
  494. package/dist/esm/const/amm/configs/protocols/shadow.js.map +1 -0
  495. package/dist/esm/const/amm/configs/protocols/silverswap.js +1 -0
  496. package/dist/esm/const/amm/configs/protocols/silverswap.js.map +1 -0
  497. package/dist/esm/const/amm/configs/protocols/spark.js +1 -0
  498. package/dist/esm/const/amm/configs/protocols/spark.js.map +1 -0
  499. package/dist/esm/const/amm/configs/protocols/spark32.js +1 -0
  500. package/dist/esm/const/amm/configs/protocols/spark32.js.map +1 -0
  501. package/dist/esm/const/amm/configs/protocols/spookyswap.js +1 -0
  502. package/dist/esm/const/amm/configs/protocols/spookyswap.js.map +1 -0
  503. package/dist/esm/const/amm/configs/protocols/stellaswap.js +1 -0
  504. package/dist/esm/const/amm/configs/protocols/stellaswap.js.map +1 -0
  505. package/dist/esm/const/amm/configs/protocols/supswap.js +1 -0
  506. package/dist/esm/const/amm/configs/protocols/supswap.js.map +1 -0
  507. package/dist/esm/const/amm/configs/protocols/sushi.js +1 -0
  508. package/dist/esm/const/amm/configs/protocols/sushi.js.map +1 -0
  509. package/dist/esm/const/amm/configs/protocols/swapmode.js +1 -0
  510. package/dist/esm/const/amm/configs/protocols/swapmode.js.map +1 -0
  511. package/dist/esm/const/amm/configs/protocols/swapsicle.js +1 -0
  512. package/dist/esm/const/amm/configs/protocols/swapsicle.js.map +1 -0
  513. package/dist/esm/const/amm/configs/protocols/thena.js +1 -0
  514. package/dist/esm/const/amm/configs/protocols/thena.js.map +1 -0
  515. package/dist/esm/const/amm/configs/protocols/thick.js +1 -0
  516. package/dist/esm/const/amm/configs/protocols/thick.js.map +1 -0
  517. package/dist/esm/const/amm/configs/protocols/thickv2.js +1 -0
  518. package/dist/esm/const/amm/configs/protocols/thickv2.js.map +1 -0
  519. package/dist/esm/const/amm/configs/protocols/thruster.js +1 -0
  520. package/dist/esm/const/amm/configs/protocols/thruster.js.map +1 -0
  521. package/dist/esm/const/amm/configs/protocols/uniswap.js +1 -0
  522. package/dist/esm/const/amm/configs/protocols/uniswap.js.map +1 -0
  523. package/dist/esm/const/amm/configs/protocols/wasabee.js +1 -0
  524. package/dist/esm/const/amm/configs/protocols/wasabee.js.map +1 -0
  525. package/dist/esm/const/amm/index.js +1 -0
  526. package/dist/esm/const/amm/index.js.map +1 -0
  527. package/dist/esm/const/amm/utils/beacon.js +1 -0
  528. package/dist/esm/const/amm/utils/beacon.js.map +1 -0
  529. package/dist/esm/const/amm/utils/contracts.js +1 -0
  530. package/dist/esm/const/amm/utils/contracts.js.map +1 -0
  531. package/dist/esm/const/amm/utils/index.js +1 -0
  532. package/dist/esm/const/amm/utils/index.js.map +1 -0
  533. package/dist/esm/const/amm/utils/protocol.js +1 -0
  534. package/dist/esm/const/amm/utils/protocol.js.map +1 -0
  535. package/dist/esm/const/api.js +1 -0
  536. package/dist/esm/const/api.js.map +1 -0
  537. package/dist/esm/const/capabilities.js +1 -0
  538. package/dist/esm/const/capabilities.js.map +1 -0
  539. package/dist/esm/const/chain.js +1 -0
  540. package/dist/esm/const/chain.js.map +1 -0
  541. package/dist/esm/const/deployments/abis.js +1 -0
  542. package/dist/esm/const/deployments/abis.js.map +1 -0
  543. package/dist/esm/const/deployments/apechain.js +1 -0
  544. package/dist/esm/const/deployments/apechain.js.map +1 -0
  545. package/dist/esm/const/deployments/arbitrum.js +1 -0
  546. package/dist/esm/const/deployments/arbitrum.js.map +1 -0
  547. package/dist/esm/const/deployments/arbitrumgoerli.js +1 -0
  548. package/dist/esm/const/deployments/arbitrumgoerli.js.map +1 -0
  549. package/dist/esm/const/deployments/astar.js +1 -0
  550. package/dist/esm/const/deployments/astar.js.map +1 -0
  551. package/dist/esm/const/deployments/astarzkevm.js +1 -0
  552. package/dist/esm/const/deployments/astarzkevm.js.map +1 -0
  553. package/dist/esm/const/deployments/avalanche.js +1 -0
  554. package/dist/esm/const/deployments/avalanche.js.map +1 -0
  555. package/dist/esm/const/deployments/bartiotest.js +1 -0
  556. package/dist/esm/const/deployments/bartiotest.js.map +1 -0
  557. package/dist/esm/const/deployments/base.js +1 -0
  558. package/dist/esm/const/deployments/base.js.map +1 -0
  559. package/dist/esm/const/deployments/bera.js +1 -0
  560. package/dist/esm/const/deployments/bera.js.map +1 -0
  561. package/dist/esm/const/deployments/berachainbartio.js +1 -0
  562. package/dist/esm/const/deployments/berachainbartio.js.map +1 -0
  563. package/dist/esm/const/deployments/blast.js +1 -0
  564. package/dist/esm/const/deployments/blast.js.map +1 -0
  565. package/dist/esm/const/deployments/bsc.js +1 -0
  566. package/dist/esm/const/deployments/bsc.js.map +1 -0
  567. package/dist/esm/const/deployments/celo.js +1 -0
  568. package/dist/esm/const/deployments/celo.js.map +1 -0
  569. package/dist/esm/const/deployments/core.js +1 -0
  570. package/dist/esm/const/deployments/core.js.map +1 -0
  571. package/dist/esm/const/deployments/eth.js +1 -0
  572. package/dist/esm/const/deployments/eth.js.map +1 -0
  573. package/dist/esm/const/deployments/evmos.js +1 -0
  574. package/dist/esm/const/deployments/evmos.js.map +1 -0
  575. package/dist/esm/const/deployments/fantom.js +1 -0
  576. package/dist/esm/const/deployments/fantom.js.map +1 -0
  577. package/dist/esm/const/deployments/filecoin.js +1 -0
  578. package/dist/esm/const/deployments/filecoin.js.map +1 -0
  579. package/dist/esm/const/deployments/flare.js +1 -0
  580. package/dist/esm/const/deployments/flare.js.map +1 -0
  581. package/dist/esm/const/deployments/goerli.js +1 -0
  582. package/dist/esm/const/deployments/goerli.js.map +1 -0
  583. package/dist/esm/const/deployments/hemi.js +1 -0
  584. package/dist/esm/const/deployments/hemi.js.map +1 -0
  585. package/dist/esm/const/deployments/hyperevm.js +1 -0
  586. package/dist/esm/const/deployments/hyperevm.js.map +1 -0
  587. package/dist/esm/const/deployments/index.js +1 -0
  588. package/dist/esm/const/deployments/index.js.map +1 -0
  589. package/dist/esm/const/deployments/katana.js +1 -0
  590. package/dist/esm/const/deployments/katana.js.map +1 -0
  591. package/dist/esm/const/deployments/kava.js +1 -0
  592. package/dist/esm/const/deployments/kava.js.map +1 -0
  593. package/dist/esm/const/deployments/linea.js +1 -0
  594. package/dist/esm/const/deployments/linea.js.map +1 -0
  595. package/dist/esm/const/deployments/localhost.js +1 -0
  596. package/dist/esm/const/deployments/localhost.js.map +1 -0
  597. package/dist/esm/const/deployments/manta.js +1 -0
  598. package/dist/esm/const/deployments/manta.js.map +1 -0
  599. package/dist/esm/const/deployments/mantle.js +1 -0
  600. package/dist/esm/const/deployments/mantle.js.map +1 -0
  601. package/dist/esm/const/deployments/metis.js +1 -0
  602. package/dist/esm/const/deployments/metis.js.map +1 -0
  603. package/dist/esm/const/deployments/mode.js +1 -0
  604. package/dist/esm/const/deployments/mode.js.map +1 -0
  605. package/dist/esm/const/deployments/moonbeam.js +1 -0
  606. package/dist/esm/const/deployments/moonbeam.js.map +1 -0
  607. package/dist/esm/const/deployments/mumbai.js +1 -0
  608. package/dist/esm/const/deployments/mumbai.js.map +1 -0
  609. package/dist/esm/const/deployments/nibiru.js +1 -0
  610. package/dist/esm/const/deployments/nibiru.js.map +1 -0
  611. package/dist/esm/const/deployments/okxtestnet.js +1 -0
  612. package/dist/esm/const/deployments/okxtestnet.js.map +1 -0
  613. package/dist/esm/const/deployments/optimism.js +1 -0
  614. package/dist/esm/const/deployments/optimism.js.map +1 -0
  615. package/dist/esm/const/deployments/optimismgoerli.js +1 -0
  616. package/dist/esm/const/deployments/optimismgoerli.js.map +1 -0
  617. package/dist/esm/const/deployments/peaq.js +1 -0
  618. package/dist/esm/const/deployments/peaq.js.map +1 -0
  619. package/dist/esm/const/deployments/polygon.js +1 -0
  620. package/dist/esm/const/deployments/polygon.js.map +1 -0
  621. package/dist/esm/const/deployments/polyzkevm.js +1 -0
  622. package/dist/esm/const/deployments/polyzkevm.js.map +1 -0
  623. package/dist/esm/const/deployments/pyzkevm.js +1 -0
  624. package/dist/esm/const/deployments/pyzkevm.js.map +1 -0
  625. package/dist/esm/const/deployments/ronin.js +1 -0
  626. package/dist/esm/const/deployments/ronin.js.map +1 -0
  627. package/dist/esm/const/deployments/rootstock.js +1 -0
  628. package/dist/esm/const/deployments/rootstock.js.map +1 -0
  629. package/dist/esm/const/deployments/saga.js +1 -0
  630. package/dist/esm/const/deployments/saga.js.map +1 -0
  631. package/dist/esm/const/deployments/scroll.js +1 -0
  632. package/dist/esm/const/deployments/scroll.js.map +1 -0
  633. package/dist/esm/const/deployments/sei.js +1 -0
  634. package/dist/esm/const/deployments/sei.js.map +1 -0
  635. package/dist/esm/const/deployments/soneium.js +1 -0
  636. package/dist/esm/const/deployments/soneium.js.map +1 -0
  637. package/dist/esm/const/deployments/sonic.js +1 -0
  638. package/dist/esm/const/deployments/sonic.js.map +1 -0
  639. package/dist/esm/const/deployments/taiko.js +1 -0
  640. package/dist/esm/const/deployments/taiko.js.map +1 -0
  641. package/dist/esm/const/deployments/tataratestnet.js +1 -0
  642. package/dist/esm/const/deployments/tataratestnet.js.map +1 -0
  643. package/dist/esm/const/deployments/telos.js +1 -0
  644. package/dist/esm/const/deployments/telos.js.map +1 -0
  645. package/dist/esm/const/deployments/thundercore.js +1 -0
  646. package/dist/esm/const/deployments/thundercore.js.map +1 -0
  647. package/dist/esm/const/deployments/uni.js +1 -0
  648. package/dist/esm/const/deployments/uni.js.map +1 -0
  649. package/dist/esm/const/deployments/xlayer.js +1 -0
  650. package/dist/esm/const/deployments/xlayer.js.map +1 -0
  651. package/dist/esm/const/deployments/zeta.js +1 -0
  652. package/dist/esm/const/deployments/zeta.js.map +1 -0
  653. package/dist/esm/const/deployments/zircuit.js +1 -0
  654. package/dist/esm/const/deployments/zircuit.js.map +1 -0
  655. package/dist/esm/const/deployments/zklinknova.js +1 -0
  656. package/dist/esm/const/deployments/zklinknova.js.map +1 -0
  657. package/dist/esm/const/index.js +1 -0
  658. package/dist/esm/const/index.js.map +1 -0
  659. package/dist/esm/const/network.js +1 -0
  660. package/dist/esm/const/network.js.map +1 -0
  661. package/dist/esm/const/protocol.js +1 -0
  662. package/dist/esm/const/protocol.js.map +1 -0
  663. package/dist/esm/const/quoter.js +1 -0
  664. package/dist/esm/const/quoter.js.map +1 -0
  665. package/dist/esm/const/stabilityVaults/index.js +1 -0
  666. package/dist/esm/const/stabilityVaults/index.js.map +1 -0
  667. package/dist/esm/const/stabilityVaults/stabilityVaultsConfig.js +1 -0
  668. package/dist/esm/const/stabilityVaults/stabilityVaultsConfig.js.map +1 -0
  669. package/dist/esm/const/subgraph.js +1 -0
  670. package/dist/esm/const/subgraph.js.map +1 -0
  671. package/dist/esm/const/thegraph.js +1 -0
  672. package/dist/esm/const/thegraph.js.map +1 -0
  673. package/dist/esm/index.js +1 -0
  674. package/dist/esm/index.js.map +1 -0
  675. package/dist/esm/scripts/processDeployments.js +1 -0
  676. package/dist/esm/scripts/processDeployments.js.map +1 -0
  677. package/dist/esm/types.js +1 -0
  678. package/dist/esm/types.js.map +1 -0
  679. package/dist/esm/utils/PoolQueryAdapter.js +1 -0
  680. package/dist/esm/utils/PoolQueryAdapter.js.map +1 -0
  681. package/dist/esm/utils/SubgraphVaultClient.js +1 -0
  682. package/dist/esm/utils/SubgraphVaultClient.js.map +1 -0
  683. package/dist/esm/utils/subgraph-types.js +1 -0
  684. package/dist/esm/utils/subgraph-types.js.map +1 -0
  685. package/dist/types/base/FeeManagerClient.d.ts +7 -1
  686. package/dist/types/base/FeeManagerClient.d.ts.map +1 -1
  687. package/package.json +3 -2
  688. package/src/__tests__/base/FeeManagerClient.test.ts +706 -0
  689. package/src/__tests__/base/PoolClient.test.ts +542 -0
  690. package/src/__tests__/base/SmartRewards.test.ts +465 -0
  691. package/src/__tests__/base/StakingClient.test.ts +772 -0
  692. package/src/__tests__/base/SubgraphClient.test.ts +99 -0
  693. package/src/__tests__/base/VaultClient.test.ts +1011 -0
  694. package/src/__tests__/base/vault/single-asset/calculateLimitPrice.test.ts +324 -0
  695. package/src/__tests__/base/vault/single-asset/calculateSwapAmount.test.ts +322 -0
  696. package/src/__tests__/base/vault/single-asset/estimateLpTokens.test.ts +612 -0
  697. package/src/__tests__/base/vault/single-asset/simulateSwap.test.ts +467 -0
  698. package/src/__tests__/base/vault/single-asset/singleAssetDepositClient.test.ts +400 -0
  699. package/src/__tests__/client.test.ts +48 -0
  700. package/src/__tests__/const/capabilities.test.ts +24 -0
  701. package/src/base/FeeManagerClient.ts +711 -0
  702. package/src/base/PoolClient.ts +678 -0
  703. package/src/base/SmartRewardClient.ts +57 -0
  704. package/src/base/SmartRewards.ts +783 -0
  705. package/src/base/StakingClient.ts +917 -0
  706. package/src/base/SubgraphClient.ts +93 -0
  707. package/src/base/VaultClient.ts +1642 -0
  708. package/src/base/vault/deposit/index.ts +705 -0
  709. package/src/base/vault/deposit/types.ts +49 -0
  710. package/src/base/vault/single-asset/README.md +541 -0
  711. package/src/base/vault/single-asset/calculateLimitPrice.ts +279 -0
  712. package/src/base/vault/single-asset/calculateSwapAmount.ts +74 -0
  713. package/src/base/vault/single-asset/estimateLpTokens.ts +393 -0
  714. package/src/base/vault/single-asset/index.ts +85 -0
  715. package/src/base/vault/single-asset/readmes/API_REFERENCE.md +478 -0
  716. package/src/base/vault/single-asset/readmes/calculateLimitPrice.md +455 -0
  717. package/src/base/vault/single-asset/readmes/calculateSwapAmount.md +345 -0
  718. package/src/base/vault/single-asset/readmes/estimateLpTokens.md +585 -0
  719. package/src/base/vault/single-asset/readmes/index.md +174 -0
  720. package/src/base/vault/single-asset/readmes/simulateSwap.md +612 -0
  721. package/src/base/vault/single-asset/simulateSwap.ts +451 -0
  722. package/src/base/vault/single-asset/singleAssetDeposit.ts +411 -0
  723. package/src/base/vault/single-asset/types.ts +186 -0
  724. package/src/base/vault/utils.ts +633 -0
  725. package/src/base/vault/withdraw/index.ts +187 -0
  726. package/src/base/vault/withdraw/types.ts +14 -0
  727. package/src/client.ts +161 -0
  728. package/src/const/abis/UniswapPool.ts +1 -0
  729. package/src/const/abis/erc1155.ts +314 -0
  730. package/src/const/abis/erc20.ts +224 -0
  731. package/src/const/abis/erc721.ts +346 -0
  732. package/src/const/abis/feeManager.ts +672 -0
  733. package/src/const/abis/index.ts +8 -0
  734. package/src/const/abis/quoter.ts +1585 -0
  735. package/src/const/abis/singleTokenDeposit.ts +921 -0
  736. package/src/const/abis/vaultFees.ts +40 -0
  737. package/src/const/amm/configs/ammConfig.ts +130 -0
  738. package/src/const/amm/configs/protocols/aerodrome-v2.ts +18 -0
  739. package/src/const/amm/configs/protocols/aerodrome.ts +18 -0
  740. package/src/const/amm/configs/protocols/arthswap.ts +21 -0
  741. package/src/const/amm/configs/protocols/baseswap.ts +17 -0
  742. package/src/const/amm/configs/protocols/basex.ts +20 -0
  743. package/src/const/amm/configs/protocols/beam.ts +16 -0
  744. package/src/const/amm/configs/protocols/beamswap.ts +17 -0
  745. package/src/const/amm/configs/protocols/blackhole.ts +22 -0
  746. package/src/const/amm/configs/protocols/camelot.ts +26 -0
  747. package/src/const/amm/configs/protocols/crust.ts +16 -0
  748. package/src/const/amm/configs/protocols/cypher.ts +20 -0
  749. package/src/const/amm/configs/protocols/dodo.ts +17 -0
  750. package/src/const/amm/configs/protocols/dragonswap.ts +16 -0
  751. package/src/const/amm/configs/protocols/eddy.ts +17 -0
  752. package/src/const/amm/configs/protocols/equilibre.ts +17 -0
  753. package/src/const/amm/configs/protocols/fenix.ts +17 -0
  754. package/src/const/amm/configs/protocols/forge.ts +22 -0
  755. package/src/const/amm/configs/protocols/fusionx.ts +21 -0
  756. package/src/const/amm/configs/protocols/glyph.ts +22 -0
  757. package/src/const/amm/configs/protocols/henjin.ts +17 -0
  758. package/src/const/amm/configs/protocols/hercules.ts +16 -0
  759. package/src/const/amm/configs/protocols/horiza.ts +23 -0
  760. package/src/const/amm/configs/protocols/index.ts +79 -0
  761. package/src/const/amm/configs/protocols/katana.ts +15 -0
  762. package/src/const/amm/configs/protocols/katanaIntegral.ts +15 -0
  763. package/src/const/amm/configs/protocols/kim.ts +24 -0
  764. package/src/const/amm/configs/protocols/kinetix.ts +23 -0
  765. package/src/const/amm/configs/protocols/kodiak.ts +21 -0
  766. package/src/const/amm/configs/protocols/kyo.ts +20 -0
  767. package/src/const/amm/configs/protocols/linehub.ts +17 -0
  768. package/src/const/amm/configs/protocols/lynex.ts +23 -0
  769. package/src/const/amm/configs/protocols/machinex.ts +22 -0
  770. package/src/const/amm/configs/protocols/maia.ts +22 -0
  771. package/src/const/amm/configs/protocols/metavault.ts +23 -0
  772. package/src/const/amm/configs/protocols/nest.ts +19 -0
  773. package/src/const/amm/configs/protocols/novaswap.ts +16 -0
  774. package/src/const/amm/configs/protocols/ocelex.ts +17 -0
  775. package/src/const/amm/configs/protocols/pancakeswap.ts +26 -0
  776. package/src/const/amm/configs/protocols/poolshark.ts +17 -0
  777. package/src/const/amm/configs/protocols/quickswap-algebra.ts +20 -0
  778. package/src/const/amm/configs/protocols/quickswap-integral.ts +24 -0
  779. package/src/const/amm/configs/protocols/quickswap-univ3.ts +29 -0
  780. package/src/const/amm/configs/protocols/quickswap.ts +29 -0
  781. package/src/const/amm/configs/protocols/retro.ts +23 -0
  782. package/src/const/amm/configs/protocols/sailor.ts +16 -0
  783. package/src/const/amm/configs/protocols/shadow.ts +18 -0
  784. package/src/const/amm/configs/protocols/silverswap.ts +22 -0
  785. package/src/const/amm/configs/protocols/spark.ts +17 -0
  786. package/src/const/amm/configs/protocols/spark32.ts +17 -0
  787. package/src/const/amm/configs/protocols/spookyswap.ts +16 -0
  788. package/src/const/amm/configs/protocols/stellaswap.ts +23 -0
  789. package/src/const/amm/configs/protocols/supswap.ts +17 -0
  790. package/src/const/amm/configs/protocols/sushi.ts +86 -0
  791. package/src/const/amm/configs/protocols/swapmode.ts +17 -0
  792. package/src/const/amm/configs/protocols/swapsicle.ts +17 -0
  793. package/src/const/amm/configs/protocols/thena.ts +22 -0
  794. package/src/const/amm/configs/protocols/thick.ts +19 -0
  795. package/src/const/amm/configs/protocols/thickv2.ts +17 -0
  796. package/src/const/amm/configs/protocols/thruster.ts +19 -0
  797. package/src/const/amm/configs/protocols/uniswap.ts +98 -0
  798. package/src/const/amm/configs/protocols/wasabee.ts +16 -0
  799. package/src/const/amm/index.ts +3 -0
  800. package/src/const/amm/utils/beacon.ts +216 -0
  801. package/src/const/amm/utils/contracts.ts +162 -0
  802. package/src/const/amm/utils/index.ts +127 -0
  803. package/src/const/amm/utils/protocol.ts +171 -0
  804. package/src/const/api.ts +27 -0
  805. package/src/const/capabilities.ts +115 -0
  806. package/src/const/chain.ts +243 -0
  807. package/src/const/deployments/abis.ts +6752 -0
  808. package/src/const/deployments/apechain.ts +17 -0
  809. package/src/const/deployments/arbitrum.ts +26 -0
  810. package/src/const/deployments/arbitrumgoerli.ts +16 -0
  811. package/src/const/deployments/astar.ts +16 -0
  812. package/src/const/deployments/astarzkevm.ts +16 -0
  813. package/src/const/deployments/avalanche.ts +45 -0
  814. package/src/const/deployments/bartiotest.ts +16 -0
  815. package/src/const/deployments/base.ts +24 -0
  816. package/src/const/deployments/bera.ts +16 -0
  817. package/src/const/deployments/berachainbartio.ts +40 -0
  818. package/src/const/deployments/blast.ts +16 -0
  819. package/src/const/deployments/bsc.ts +16 -0
  820. package/src/const/deployments/celo.ts +16 -0
  821. package/src/const/deployments/core.ts +16 -0
  822. package/src/const/deployments/eth.ts +22 -0
  823. package/src/const/deployments/evmos.ts +16 -0
  824. package/src/const/deployments/fantom.ts +16 -0
  825. package/src/const/deployments/filecoin.ts +16 -0
  826. package/src/const/deployments/flare.ts +16 -0
  827. package/src/const/deployments/goerli.ts +16 -0
  828. package/src/const/deployments/hemi.ts +16 -0
  829. package/src/const/deployments/hyperevm.ts +49 -0
  830. package/src/const/deployments/index.ts +49 -0
  831. package/src/const/deployments/katana.ts +48 -0
  832. package/src/const/deployments/kava.ts +16 -0
  833. package/src/const/deployments/linea.ts +16 -0
  834. package/src/const/deployments/localhost.ts +8 -0
  835. package/src/const/deployments/manta.ts +16 -0
  836. package/src/const/deployments/mantle.ts +16 -0
  837. package/src/const/deployments/metis.ts +16 -0
  838. package/src/const/deployments/mode.ts +16 -0
  839. package/src/const/deployments/moonbeam.ts +16 -0
  840. package/src/const/deployments/mumbai.ts +16 -0
  841. package/src/const/deployments/nibiru.ts +49 -0
  842. package/src/const/deployments/okxtestnet.ts +16 -0
  843. package/src/const/deployments/optimism.ts +16 -0
  844. package/src/const/deployments/optimismgoerli.ts +16 -0
  845. package/src/const/deployments/peaq.ts +25 -0
  846. package/src/const/deployments/polygon.ts +25 -0
  847. package/src/const/deployments/polyzkevm.ts +16 -0
  848. package/src/const/deployments/pyzkevm.ts +9 -0
  849. package/src/const/deployments/ronin.ts +17 -0
  850. package/src/const/deployments/rootstock.ts +16 -0
  851. package/src/const/deployments/saga.ts +49 -0
  852. package/src/const/deployments/scroll.ts +16 -0
  853. package/src/const/deployments/sei.ts +16 -0
  854. package/src/const/deployments/soneium.ts +16 -0
  855. package/src/const/deployments/sonic.ts +16 -0
  856. package/src/const/deployments/taiko.ts +16 -0
  857. package/src/const/deployments/tataratestnet.ts +16 -0
  858. package/src/const/deployments/telos.ts +16 -0
  859. package/src/const/deployments/thundercore.ts +16 -0
  860. package/src/const/deployments/uni.ts +16 -0
  861. package/src/const/deployments/xlayer.ts +16 -0
  862. package/src/const/deployments/zeta.ts +16 -0
  863. package/src/const/deployments/zircuit.ts +16 -0
  864. package/src/const/deployments/zklinknova.ts +21 -0
  865. package/src/const/index.ts +12 -0
  866. package/src/const/network.ts +635 -0
  867. package/src/const/protocol.ts +229 -0
  868. package/src/const/quoter.ts +571 -0
  869. package/src/const/stabilityVaults/index.ts +2 -0
  870. package/src/const/stabilityVaults/stabilityVaultsConfig.ts +41 -0
  871. package/src/const/subgraph.ts +157 -0
  872. package/src/const/thegraph.ts +3 -0
  873. package/src/index.ts +80 -0
  874. package/src/scripts/processDeployments.ts +174 -0
  875. package/src/types.ts +202 -0
  876. package/src/utils/PoolQueryAdapter.ts +943 -0
  877. package/src/utils/SubgraphVaultClient.ts +408 -0
  878. package/src/utils/subgraph-types.ts +108 -0
@@ -0,0 +1,678 @@
1
+ import type { PublicClient, WalletClient } from 'viem';
2
+ import { PoolData, SteerResponse } from '../types.js';
3
+ import { SubgraphClient } from './SubgraphClient.js';
4
+ import {
5
+ Protocol,
6
+ Chain
7
+ } from '../const/chain.js';
8
+ import {
9
+ chainIdToName,
10
+ getProtocolSubgraphURL
11
+ } from '../const/index.js';
12
+ import { isAlgebraProtocol } from '../const/protocol.js';
13
+ import { getTopPoolsQuery, getTokenPoolsQueryByAddress, getPoolDetailsQuery } from '../utils/PoolQueryAdapter.js';
14
+
15
+ /**
16
+ * GraphQL token data interface representing token information from subgraph responses
17
+ * @interface GraphQLTokenData
18
+ */
19
+ export interface GraphQLTokenData {
20
+ /** Token symbol (e.g., "ETH", "USDC") */
21
+ symbol: string;
22
+ /** Token contract address */
23
+ id: string;
24
+ /** Number of decimal places for the token */
25
+ decimals: string;
26
+ /** Human-readable token name */
27
+ name: string;
28
+ }
29
+
30
+ /**
31
+ * GraphQL pool data interface representing pool information from subgraph responses
32
+ * @interface GraphQLPoolData
33
+ */
34
+ export interface GraphQLPoolData {
35
+ /** Pool contract address */
36
+ id: string;
37
+ /** First token in the pool */
38
+ token0: GraphQLTokenData;
39
+ /** Second token in the pool */
40
+ token1: GraphQLTokenData;
41
+ /** 24-hour trading volume in USD */
42
+ volumeUSD: string;
43
+ /** Current tick of the pool */
44
+ tick: string;
45
+ /** Total liquidity in the pool */
46
+ liquidity: string;
47
+ /** Fee tier for the pool (optional) */
48
+ feeTier?: string;
49
+ /** 24-hour volume of token0 (optional) */
50
+ volumeToken0?: string;
51
+ /** 24-hour volume of token1 (optional) */
52
+ volumeToken1?: string;
53
+ /** Total value locked in ETH (optional) */
54
+ totalValueLockedETH?: string;
55
+ /** Alternative field name for volume USD (optional) */
56
+ volumeUsd?: string;
57
+ /** Alternative field name for TVL in ETH (optional) */
58
+ totalValueLockedEth?: string;
59
+ }
60
+
61
+ /**
62
+ * Filter criteria for querying pools
63
+ * @interface PoolFilter
64
+ */
65
+ export interface PoolFilter {
66
+ /** Chain ID to filter pools by */
67
+ chainId?: number;
68
+ /** Protocol to filter pools by */
69
+ protocol?: Protocol;
70
+ /** Minimum volume in USD to filter pools */
71
+ minVolumeUSD?: number;
72
+ /** Token address to find pools containing this token */
73
+ tokenAddress?: string;
74
+ /** Maximum number of pools to return */
75
+ limit?: number;
76
+ }
77
+
78
+ // GraphQL response interfaces (currently unused but kept for future use)
79
+ // interface GraphQLResponse<T> {
80
+ // data: T;
81
+ // errors?: Array<{ message: string }>;
82
+ // }
83
+
84
+ /**
85
+ * Response interface for top pools query
86
+ * @interface TopPoolsResponse
87
+ * @internal
88
+ */
89
+ interface TopPoolsResponse {
90
+ /** Standard pools array */
91
+ pools: GraphQLPoolData[];
92
+ /** Limit pools array (used by some protocols) */
93
+ limitPools?: GraphQLPoolData[];
94
+ /** CL pools array (used by some protocols) */
95
+ clPools?: GraphQLPoolData[];
96
+ }
97
+
98
+ /**
99
+ * Response interface for pool details query
100
+ * @interface PoolDetailsResponse
101
+ * @internal
102
+ */
103
+ interface PoolDetailsResponse {
104
+ /** Single pool data */
105
+ pool: GraphQLPoolData;
106
+ /** Single limit pool data (used by some protocols) */
107
+ limitPool?: GraphQLPoolData;
108
+ /** Single CL pool data (used by some protocols) */
109
+ clPool?: GraphQLPoolData;
110
+ }
111
+
112
+ /**
113
+ * Response interface for pools by token query
114
+ * @interface PoolsByTokenResponse
115
+ * @internal
116
+ */
117
+ interface PoolsByTokenResponse {
118
+ /** Standard pools array */
119
+ pools?: GraphQLPoolData[];
120
+ /** Limit pools array (used by some protocols) */
121
+ limitPools?: GraphQLPoolData[];
122
+ /** Token pools array (used by some protocols) */
123
+ tokenPools?: GraphQLPoolData[];
124
+ /** CL pools array (used by some protocols) */
125
+ clPools?: GraphQLPoolData[];
126
+ }
127
+
128
+ /**
129
+ * Client for fetching pool data from various DEX protocol subgraphs
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * import { createPublicClient, createWalletClient, http } from 'viem';
134
+ * import { mainnet } from 'viem/chains';
135
+ * import { PoolClient } from '@steerprotocol/sdk';
136
+ *
137
+ * const client = createPublicClient({
138
+ * chain: mainnet,
139
+ * transport: http()
140
+ * }) as PublicClient & WalletClient;
141
+ *
142
+ * const poolClient = new PoolClient(client, 'your-subgraph-studio-key');
143
+ *
144
+ * // Fetch top pools
145
+ * const topPools = await poolClient.getTopPools(100, Protocol.UniswapV3, 1);
146
+ * ```
147
+ *
148
+ * @extends SubgraphClient
149
+ * @group Pool
150
+ */
151
+ export class PoolClient extends SubgraphClient {
152
+ /** Public client for blockchain interactions */
153
+ protected readonly publicClient: PublicClient;
154
+ /** Default timeout for GraphQL queries in milliseconds */
155
+ private readonly defaultTimeout: number = 60000;
156
+ /** Counter for tracking API call metrics */
157
+ private apiCallCount: number = 0;
158
+ /** Subgraph Studio API key for rate limiting */
159
+ private readonly subgraphStudioKey: string;
160
+
161
+ /**
162
+ * Creates a new PoolClient instance
163
+ *
164
+ * @param client - Combined public and wallet client for blockchain interactions
165
+ * @param subgraphStudioKey - Optional Subgraph Studio API key for higher rate limits
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const poolClient = new PoolClient(client, 'your-api-key');
170
+ * ```
171
+ */
172
+ constructor(
173
+ client: PublicClient & WalletClient,
174
+ subgraphStudioKey: string = ''
175
+ ) {
176
+ super(client);
177
+ this.publicClient = client;
178
+ this.subgraphStudioKey = subgraphStudioKey;
179
+ }
180
+
181
+ /**
182
+ * Resets the API call counter for metrics tracking
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * poolClient.resetMetrics();
187
+ * ```
188
+ */
189
+ public resetMetrics(): void {
190
+ this.apiCallCount = 0;
191
+ }
192
+
193
+ /**
194
+ * Gets current metrics for monitoring API usage
195
+ *
196
+ * @returns Object containing current metrics
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * const metrics = poolClient.getMetrics();
201
+ * console.log(`API calls made: ${metrics.apiCallCount}`);
202
+ * ```
203
+ */
204
+ public getMetrics(): { apiCallCount: number } {
205
+ return {
206
+ apiCallCount: this.apiCallCount,
207
+ };
208
+ }
209
+
210
+ /**
211
+ * Fetches data from GraphQL endpoint with retry logic for rate limits
212
+ *
213
+ * @param query - GraphQL query string
214
+ * @param variables - Variables for the GraphQL query
215
+ * @param protocol - Protocol to query
216
+ * @param chainId - Chain ID to query
217
+ * @returns Promise containing the response data
218
+ *
219
+ * @throws {Error} When subgraph endpoint is not available
220
+ * @throws {Error} When rate limit is exceeded after max retries
221
+ * @throws {Error} When GraphQL query times out
222
+ *
223
+ * @internal
224
+ */
225
+ private async fetchFromGraph<T>(
226
+ query: string,
227
+ variables: Record<string, unknown>,
228
+ protocol: Protocol,
229
+ chainId: number
230
+ ): Promise<SteerResponse<T>> {
231
+ try {
232
+ const chainName = chainIdToName(chainId);
233
+ const endpoint = getProtocolSubgraphURL(protocol, chainName as Chain, this.subgraphStudioKey);
234
+
235
+ if (!endpoint) {
236
+ throw new Error(`No subgraph endpoint available for protocol ${protocol} on chain ${chainName}`);
237
+ }
238
+
239
+ const MAX_RETRIES = 3;
240
+ const RETRY_DELAY_MS = 11000;
241
+
242
+ const fetchWithRetry = async (retries = 0): Promise<T> => {
243
+ const response = await fetch(endpoint, {
244
+ method: "POST",
245
+ headers: {
246
+ "Content-Type": "application/json",
247
+ },
248
+ body: JSON.stringify({ query, variables }),
249
+ });
250
+
251
+ const data = await response.json() as { data: T; error?: string; errors?: Array<{ message: string }> };
252
+
253
+ if (data.error && typeof data.error === "string" && data.error.includes("surpassed your query allowance")) {
254
+ if (retries < MAX_RETRIES) {
255
+ console.warn(`Rate limit hit for ${endpoint}, retrying in ${RETRY_DELAY_MS / 1000}s (attempt ${retries + 1})`);
256
+ await new Promise(res => setTimeout(res, RETRY_DELAY_MS));
257
+ return fetchWithRetry(retries + 1);
258
+ } else {
259
+ throw new Error(`Rate limit exceeded after ${MAX_RETRIES} retries: ${data.error}`);
260
+ }
261
+ }
262
+
263
+ if (data.error) {
264
+ throw new Error(`GraphQL endpoint error: ${data.error}`);
265
+ }
266
+
267
+ if (data.errors) {
268
+ throw new Error(`GraphQL errors: ${JSON.stringify(data.errors)}`);
269
+ }
270
+
271
+ return data.data;
272
+ };
273
+
274
+ this.apiCallCount++;
275
+ console.log("Total API calls:", this.apiCallCount);
276
+
277
+ const timeoutPromise = new Promise<never>((_, reject) => {
278
+ setTimeout(
279
+ () => reject(new Error("GraphQL query timeout")),
280
+ this.defaultTimeout
281
+ );
282
+ });
283
+
284
+ const data = await Promise.race([fetchWithRetry(), timeoutPromise]);
285
+
286
+ return {
287
+ data: data as T,
288
+ status: 200,
289
+ success: true,
290
+ };
291
+ } catch (error) {
292
+ return {
293
+ data: null,
294
+ status: 500,
295
+ success: false,
296
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
297
+ };
298
+ }
299
+ }
300
+
301
+ /**
302
+ * Fetches the top pools for a specific protocol by trading volume
303
+ *
304
+ * @param count - Number of pools to fetch (default: 500)
305
+ * @param protocol - Protocol to fetch pools from
306
+ * @param chainId - Chain ID to fetch pools from
307
+ * @returns Promise containing an array of top pools
308
+ *
309
+ * @example
310
+ * ```typescript
311
+ * // Get top 100 Uniswap V3 pools on Ethereum
312
+ * const topPools = await poolClient.getTopPools(100, Protocol.UniswapV3, 1);
313
+ * if (topPools.success) {
314
+ * console.log(`Found ${topPools.data.length} pools`);
315
+ * }
316
+ * ```
317
+ *
318
+ * @throws {Error} When failed to fetch pools from subgraph
319
+ */
320
+ public async getTopPools(
321
+ count: number = 500,
322
+ protocol: Protocol,
323
+ chainId: number
324
+ ): Promise<SteerResponse<GraphQLPoolData[]>> {
325
+ try {
326
+ const isAlgebraPool = isAlgebraProtocol(protocol);
327
+ const query = getTopPoolsQuery(protocol, isAlgebraPool);
328
+
329
+ console.log(`[Chain ${chainId}] [Protocol ${protocol}] 📊 Fetching top ${count} pools from the subgraph...`);
330
+
331
+ const response = await this.fetchFromGraph<TopPoolsResponse>(
332
+ query,
333
+ { limit: count },
334
+ protocol,
335
+ chainId
336
+ );
337
+
338
+ if (!response.success || !response.data) {
339
+ throw new Error(response.error || 'Failed to fetch pools');
340
+ }
341
+
342
+ const pools = response.data.pools || response.data.limitPools || response.data.clPools || [];
343
+
344
+ console.log(`[Chain ${chainId}] [Protocol ${protocol}] ✅ Received ${pools.length} pools from the subgraph`);
345
+
346
+ // Filter out pools with invalid volumeUSD
347
+ const validPools = pools.filter(pool => {
348
+ const volumeUSD = parseFloat(pool.volumeUSD || pool.volumeUsd || "0");
349
+ return !isNaN(volumeUSD) && volumeUSD > 0;
350
+ });
351
+
352
+ console.log(`[Chain ${chainId}] [Protocol ${protocol}] ✅ Found ${validPools.length} valid pools with positive volumeUSD`);
353
+
354
+ return {
355
+ data: validPools,
356
+ status: 200,
357
+ success: true,
358
+ };
359
+ } catch (error) {
360
+ console.error(`[Chain ${chainId}] [Protocol ${protocol}] Error in getTopPools:`, error);
361
+ return {
362
+ data: null,
363
+ status: 500,
364
+ success: false,
365
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
366
+ };
367
+ }
368
+ }
369
+
370
+ /**
371
+ * Fetches detailed information for a specific pool by its ID
372
+ *
373
+ * @param poolId - Pool contract address to fetch
374
+ * @param protocol - Protocol the pool belongs to
375
+ * @param chainId - Chain ID where the pool exists
376
+ * @returns Promise containing pool details or null if not found
377
+ *
378
+ * @example
379
+ * ```typescript
380
+ * // Get specific pool details
381
+ * const poolDetails = await poolClient.getPoolById(
382
+ * '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640',
383
+ * Protocol.UniswapV3,
384
+ * 1
385
+ * );
386
+ * if (poolDetails.success && poolDetails.data) {
387
+ * console.log(`Pool: ${poolDetails.data.token0.symbol}/${poolDetails.data.token1.symbol}`);
388
+ * }
389
+ * ```
390
+ *
391
+ * @throws {Error} When failed to fetch pool from subgraph
392
+ */
393
+ public async getPoolById(
394
+ poolId: string,
395
+ protocol: Protocol,
396
+ chainId: number
397
+ ): Promise<SteerResponse<GraphQLPoolData | null>> {
398
+ try {
399
+
400
+ const isAlgebraPool = isAlgebraProtocol(protocol);
401
+ const query = getPoolDetailsQuery(isAlgebraPool, protocol);
402
+
403
+
404
+ const response = await this.fetchFromGraph<PoolDetailsResponse>(
405
+ query,
406
+ { pool: poolId },
407
+ protocol,
408
+ chainId
409
+ );
410
+
411
+ if (!response.success || !response.data) {
412
+ throw new Error(response.error || 'Failed to fetch pool');
413
+ }
414
+
415
+ const pool = response.data.pool || response.data.clPool || response.data.limitPool || null;
416
+
417
+
418
+ return {
419
+ data: pool,
420
+ status: 200,
421
+ success: true,
422
+ };
423
+ } catch (error) {
424
+ console.error(`Error fetching pool ${poolId}:`, error);
425
+ return {
426
+ data: null,
427
+ status: 500,
428
+ success: false,
429
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
430
+ };
431
+ }
432
+ }
433
+
434
+ /**
435
+ * Fetches pools containing multiple tokens in batches for better performance
436
+ *
437
+ * @param tokenAddresses - Array of token contract addresses
438
+ * @param protocol - Protocol to fetch pools from
439
+ * @param chainId - Chain ID to fetch pools from
440
+ * @param batchSize - Number of tokens to process in each batch (default: 10)
441
+ * @returns Promise containing all pools found for the tokens
442
+ *
443
+ * @example
444
+ * ```typescript
445
+ * // Get pools for multiple tokens
446
+ * const tokenAddresses = [
447
+ * '0xa0b86a33e6f8b07b71c3a39ef77a6b6e8f1b7b7e', // USDC
448
+ * '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' // WETH
449
+ * ];
450
+ * const pools = await poolClient.fetchPoolsForTokensBatch(
451
+ * tokenAddresses,
452
+ * Protocol.UniswapV3,
453
+ * 1,
454
+ * 5
455
+ * );
456
+ * ```
457
+ *
458
+ * @throws {Error} When batch processing fails
459
+ */
460
+ public async fetchPoolsForTokensBatch(
461
+ tokenAddresses: string[],
462
+ protocol: Protocol,
463
+ chainId: number,
464
+ batchSize: number = 10
465
+ ): Promise<SteerResponse<GraphQLPoolData[]>> {
466
+ try {
467
+ if (tokenAddresses.length === 0) {
468
+ return {
469
+ data: [],
470
+ status: 200,
471
+ success: true,
472
+ };
473
+ }
474
+
475
+ console.log(`\n🔍 Batch Pool Fetch Summary:`);
476
+ console.log(`📥 Total tokens to process: ${tokenAddresses.length}`);
477
+
478
+ const isAlgebraPool = isAlgebraProtocol(protocol);
479
+ const normalizedAddresses = tokenAddresses.map(addr => addr.toLowerCase());
480
+
481
+ // Split into chunks
482
+ const chunkSize = batchSize;
483
+ const addressChunks = [];
484
+ for (let i = 0; i < normalizedAddresses.length; i += chunkSize) {
485
+ addressChunks.push(normalizedAddresses.slice(i, i + chunkSize));
486
+ }
487
+
488
+ console.log(`📦 Processing ${addressChunks.length} chunks of max ${chunkSize} tokens each`);
489
+
490
+ const allPools: GraphQLPoolData[] = [];
491
+
492
+ // Process chunks in parallel
493
+ const results = await Promise.all(
494
+ addressChunks.map(async (chunk, chunkIndex) => {
495
+ console.log(`\n🔄 Processing chunk ${chunkIndex + 1}/${addressChunks.length} with ${chunk.length} tokens`);
496
+
497
+ const chunkResults = await Promise.all(
498
+ chunk.map(async (token) => {
499
+ try {
500
+ const query = getTokenPoolsQueryByAddress(isAlgebraPool, protocol);
501
+ const queryStartTime = performance.now();
502
+
503
+ const response = await this.fetchFromGraph<PoolsByTokenResponse>(
504
+ query,
505
+ { token },
506
+ protocol,
507
+ chainId
508
+ );
509
+
510
+ const queryTime = performance.now() - queryStartTime;
511
+ console.log(`⏱️ GraphQL query for token ${token.slice(0, 6)}... completed in ${queryTime.toFixed(2)}ms`);
512
+
513
+ if (!response.success || !response.data) {
514
+ console.error(`❌ No pools found for token: ${token} on chainId: ${chainId}`);
515
+ return [];
516
+ }
517
+
518
+ // Extract pools from different possible response structures
519
+ let pools: GraphQLPoolData[] = [];
520
+ if (response.data.pools) {
521
+ pools = response.data.pools;
522
+ } else if (response.data.clPools) {
523
+ pools = response.data.clPools;
524
+ } else if (response.data.limitPools) {
525
+ pools = response.data.limitPools;
526
+ } else if (response.data.tokenPools) {
527
+ pools = response.data.tokenPools;
528
+ }
529
+
530
+ if (pools.length === 0) {
531
+ console.error(`❌ No pools found for token: ${token} on chainId: ${chainId}`);
532
+ return [];
533
+ }
534
+
535
+ return pools;
536
+ } catch (error) {
537
+ console.error(`❌ Error fetching pools for token: ${token} on chainId: ${chainId}`, error);
538
+ return [];
539
+ }
540
+ })
541
+ );
542
+
543
+ return chunkResults.flat();
544
+ })
545
+ );
546
+
547
+ // Flatten all results
548
+ allPools.push(...results.flat());
549
+
550
+ return {
551
+ data: allPools,
552
+ status: 200,
553
+ success: true,
554
+ };
555
+ } catch (error) {
556
+ console.error("Error in fetchPoolsForTokensBatch:", error);
557
+ return {
558
+ data: null,
559
+ status: 500,
560
+ success: false,
561
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
562
+ };
563
+ }
564
+ }
565
+
566
+ /**
567
+ * Fetches all pools containing a specific token
568
+ *
569
+ * @param tokenAddress - Token contract address
570
+ * @param protocol - Protocol to fetch pools from
571
+ * @param chainId - Chain ID to fetch pools from
572
+ * @returns Promise containing pools that include the specified token
573
+ *
574
+ * @example
575
+ * ```typescript
576
+ * // Get all USDC pools on Uniswap V3
577
+ * const usdcPools = await poolClient.fetchPoolsForToken(
578
+ * '0xa0b86a33e6f8b07b71c3a39ef77a6b6e8f1b7b7e',
579
+ * Protocol.UniswapV3,
580
+ * 1
581
+ * );
582
+ * if (usdcPools.success) {
583
+ * console.log(`Found ${usdcPools.data.length} USDC pools`);
584
+ * }
585
+ * ```
586
+ *
587
+ * @throws {Error} When failed to fetch pools for token
588
+ */
589
+ public async fetchPoolsForToken(
590
+ tokenAddress: string,
591
+ protocol: Protocol,
592
+ chainId: number
593
+ ): Promise<SteerResponse<GraphQLPoolData[]>> {
594
+ try {
595
+ const isAlgebraPool = isAlgebraProtocol(protocol);
596
+ const query = getTokenPoolsQueryByAddress(isAlgebraPool, protocol);
597
+
598
+ const response = await this.fetchFromGraph<PoolsByTokenResponse>(
599
+ query,
600
+ { token: tokenAddress.toLowerCase() },
601
+ protocol,
602
+ chainId
603
+ );
604
+
605
+ if (!response.success || !response.data) {
606
+ throw new Error(response.error || 'Failed to fetch pools for token');
607
+ }
608
+
609
+ // Extract pools from different possible response structures
610
+ let pools: GraphQLPoolData[] = [];
611
+ if (response.data.pools) {
612
+ pools = response.data.pools;
613
+ } else if (response.data.limitPools) {
614
+ pools = response.data.limitPools;
615
+ } else if (response.data.tokenPools) {
616
+ pools = response.data.tokenPools;
617
+ } else if (response.data.clPools) {
618
+ pools = response.data.clPools;
619
+ }
620
+
621
+ return {
622
+ data: pools,
623
+ status: 200,
624
+ success: true,
625
+ };
626
+ } catch (error) {
627
+ console.error(`Error fetching pools for token ${tokenAddress}:`, error);
628
+ return {
629
+ data: null,
630
+ status: 500,
631
+ success: false,
632
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
633
+ };
634
+ }
635
+ }
636
+
637
+ /**
638
+ * Filters pools based on validity criteria such as tick range and liquidity
639
+ *
640
+ * @param pools - Array of pools to filter
641
+ * @returns Array of valid pools that meet the criteria
642
+ *
643
+ * @example
644
+ * ```typescript
645
+ * const validPools = poolClient.filterValidPools(allPools);
646
+ * console.log(`Filtered down to ${validPools.length} valid pools`);
647
+ * ```
648
+ */
649
+ public filterValidPools(pools: PoolData[]): PoolData[] {
650
+ return pools.filter(pool => {
651
+ // Check for required fields
652
+ if (!pool.id || !pool.tick || !pool.liquidity) {
653
+ return false;
654
+ }
655
+
656
+ // Parse values
657
+ const tick = parseInt(pool.tick);
658
+ const liquidity = parseFloat(pool.liquidity);
659
+
660
+ // Check for valid tick range and liquidity
661
+ const TICK_MIN = -887272;
662
+ const TICK_MAX = 887272;
663
+ const TICK_EDGE_THRESHOLD = 1;
664
+
665
+ if (
666
+ isNaN(tick) ||
667
+ isNaN(liquidity) ||
668
+ liquidity <= 0 ||
669
+ tick <= TICK_MIN + TICK_EDGE_THRESHOLD ||
670
+ tick >= TICK_MAX - TICK_EDGE_THRESHOLD
671
+ ) {
672
+ return false;
673
+ }
674
+
675
+ return true;
676
+ });
677
+ }
678
+ }