@steerprotocol/sdk 1.31.0 → 2.0.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 (1251) hide show
  1. package/dist/index.cjs +46846 -0
  2. package/dist/index.cjs.map +1 -0
  3. package/dist/index.d.cts +1 -0
  4. package/dist/index.d.mts +11062 -0
  5. package/dist/index.d.mts.map +1 -0
  6. package/dist/index.mjs +46660 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +11 -14
  9. package/dist/cjs/base/FeeManagerClient.js +0 -607
  10. package/dist/cjs/base/FeeManagerClient.js.map +0 -1
  11. package/dist/cjs/base/PoolClient.js +0 -592
  12. package/dist/cjs/base/PoolClient.js.map +0 -1
  13. package/dist/cjs/base/SmartRewardClient.js +0 -55
  14. package/dist/cjs/base/SmartRewardClient.js.map +0 -1
  15. package/dist/cjs/base/SmartRewards.js +0 -560
  16. package/dist/cjs/base/SmartRewards.js.map +0 -1
  17. package/dist/cjs/base/StakingClient.js +0 -663
  18. package/dist/cjs/base/StakingClient.js.map +0 -1
  19. package/dist/cjs/base/SubgraphClient.js +0 -79
  20. package/dist/cjs/base/SubgraphClient.js.map +0 -1
  21. package/dist/cjs/base/VaultClient.js +0 -1756
  22. package/dist/cjs/base/VaultClient.js.map +0 -1
  23. package/dist/cjs/base/vault/deposit/index.js +0 -594
  24. package/dist/cjs/base/vault/deposit/index.js.map +0 -1
  25. package/dist/cjs/base/vault/deposit/types.js +0 -3
  26. package/dist/cjs/base/vault/deposit/types.js.map +0 -1
  27. package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js +0 -231
  28. package/dist/cjs/base/vault/single-asset/calculateLimitPrice.js.map +0 -1
  29. package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js +0 -68
  30. package/dist/cjs/base/vault/single-asset/calculateSwapAmount.js.map +0 -1
  31. package/dist/cjs/base/vault/single-asset/estimateLpTokens.js +0 -355
  32. package/dist/cjs/base/vault/single-asset/estimateLpTokens.js.map +0 -1
  33. package/dist/cjs/base/vault/single-asset/index.js +0 -109
  34. package/dist/cjs/base/vault/single-asset/index.js.map +0 -1
  35. package/dist/cjs/base/vault/single-asset/simulateSwap.js +0 -336
  36. package/dist/cjs/base/vault/single-asset/simulateSwap.js.map +0 -1
  37. package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js +0 -355
  38. package/dist/cjs/base/vault/single-asset/singleAssetDeposit.js.map +0 -1
  39. package/dist/cjs/base/vault/single-asset/types.js +0 -16
  40. package/dist/cjs/base/vault/single-asset/types.js.map +0 -1
  41. package/dist/cjs/base/vault/utils.js +0 -583
  42. package/dist/cjs/base/vault/utils.js.map +0 -1
  43. package/dist/cjs/base/vault/withdraw/index.js +0 -157
  44. package/dist/cjs/base/vault/withdraw/index.js.map +0 -1
  45. package/dist/cjs/base/vault/withdraw/types.js +0 -3
  46. package/dist/cjs/base/vault/withdraw/types.js.map +0 -1
  47. package/dist/cjs/client.js +0 -126
  48. package/dist/cjs/client.js.map +0 -1
  49. package/dist/cjs/const/abis/UniswapPool.js +0 -5
  50. package/dist/cjs/const/abis/UniswapPool.js.map +0 -1
  51. package/dist/cjs/const/abis/erc1155.js +0 -318
  52. package/dist/cjs/const/abis/erc1155.js.map +0 -1
  53. package/dist/cjs/const/abis/erc20.js +0 -228
  54. package/dist/cjs/const/abis/erc20.js.map +0 -1
  55. package/dist/cjs/const/abis/erc721.js +0 -350
  56. package/dist/cjs/const/abis/erc721.js.map +0 -1
  57. package/dist/cjs/const/abis/feeManager.js +0 -676
  58. package/dist/cjs/const/abis/feeManager.js.map +0 -1
  59. package/dist/cjs/const/abis/index.js +0 -25
  60. package/dist/cjs/const/abis/index.js.map +0 -1
  61. package/dist/cjs/const/abis/quoter.js +0 -1584
  62. package/dist/cjs/const/abis/quoter.js.map +0 -1
  63. package/dist/cjs/const/abis/singleTokenDeposit.js +0 -925
  64. package/dist/cjs/const/abis/singleTokenDeposit.js.map +0 -1
  65. package/dist/cjs/const/abis/vaultFees.js +0 -44
  66. package/dist/cjs/const/abis/vaultFees.js.map +0 -1
  67. package/dist/cjs/const/amm/configs/ammConfig.js +0 -105
  68. package/dist/cjs/const/amm/configs/ammConfig.js.map +0 -1
  69. package/dist/cjs/const/amm/configs/protocols/aerodrome-v2.js +0 -20
  70. package/dist/cjs/const/amm/configs/protocols/aerodrome-v2.js.map +0 -1
  71. package/dist/cjs/const/amm/configs/protocols/aerodrome.js +0 -20
  72. package/dist/cjs/const/amm/configs/protocols/aerodrome.js.map +0 -1
  73. package/dist/cjs/const/amm/configs/protocols/arthswap.js +0 -22
  74. package/dist/cjs/const/amm/configs/protocols/arthswap.js.map +0 -1
  75. package/dist/cjs/const/amm/configs/protocols/baseswap.js +0 -19
  76. package/dist/cjs/const/amm/configs/protocols/baseswap.js.map +0 -1
  77. package/dist/cjs/const/amm/configs/protocols/basex.js +0 -22
  78. package/dist/cjs/const/amm/configs/protocols/basex.js.map +0 -1
  79. package/dist/cjs/const/amm/configs/protocols/beam.js +0 -19
  80. package/dist/cjs/const/amm/configs/protocols/beam.js.map +0 -1
  81. package/dist/cjs/const/amm/configs/protocols/beamswap.js +0 -19
  82. package/dist/cjs/const/amm/configs/protocols/beamswap.js.map +0 -1
  83. package/dist/cjs/const/amm/configs/protocols/blackhole.js +0 -24
  84. package/dist/cjs/const/amm/configs/protocols/blackhole.js.map +0 -1
  85. package/dist/cjs/const/amm/configs/protocols/camelot.js +0 -29
  86. package/dist/cjs/const/amm/configs/protocols/camelot.js.map +0 -1
  87. package/dist/cjs/const/amm/configs/protocols/crust.js +0 -19
  88. package/dist/cjs/const/amm/configs/protocols/crust.js.map +0 -1
  89. package/dist/cjs/const/amm/configs/protocols/cypher.js +0 -23
  90. package/dist/cjs/const/amm/configs/protocols/cypher.js.map +0 -1
  91. package/dist/cjs/const/amm/configs/protocols/dodo.js +0 -19
  92. package/dist/cjs/const/amm/configs/protocols/dodo.js.map +0 -1
  93. package/dist/cjs/const/amm/configs/protocols/dragonswap.js +0 -19
  94. package/dist/cjs/const/amm/configs/protocols/dragonswap.js.map +0 -1
  95. package/dist/cjs/const/amm/configs/protocols/eddy.js +0 -19
  96. package/dist/cjs/const/amm/configs/protocols/eddy.js.map +0 -1
  97. package/dist/cjs/const/amm/configs/protocols/equilibre.js +0 -19
  98. package/dist/cjs/const/amm/configs/protocols/equilibre.js.map +0 -1
  99. package/dist/cjs/const/amm/configs/protocols/fenix.js +0 -19
  100. package/dist/cjs/const/amm/configs/protocols/fenix.js.map +0 -1
  101. package/dist/cjs/const/amm/configs/protocols/forge.js +0 -25
  102. package/dist/cjs/const/amm/configs/protocols/forge.js.map +0 -1
  103. package/dist/cjs/const/amm/configs/protocols/fusionx.js +0 -22
  104. package/dist/cjs/const/amm/configs/protocols/fusionx.js.map +0 -1
  105. package/dist/cjs/const/amm/configs/protocols/glyph.js +0 -25
  106. package/dist/cjs/const/amm/configs/protocols/glyph.js.map +0 -1
  107. package/dist/cjs/const/amm/configs/protocols/henjin.js +0 -19
  108. package/dist/cjs/const/amm/configs/protocols/henjin.js.map +0 -1
  109. package/dist/cjs/const/amm/configs/protocols/hercules.js +0 -19
  110. package/dist/cjs/const/amm/configs/protocols/hercules.js.map +0 -1
  111. package/dist/cjs/const/amm/configs/protocols/horiza.js +0 -25
  112. package/dist/cjs/const/amm/configs/protocols/horiza.js.map +0 -1
  113. package/dist/cjs/const/amm/configs/protocols/index.js +0 -57
  114. package/dist/cjs/const/amm/configs/protocols/index.js.map +0 -1
  115. package/dist/cjs/const/amm/configs/protocols/katana.js +0 -18
  116. package/dist/cjs/const/amm/configs/protocols/katana.js.map +0 -1
  117. package/dist/cjs/const/amm/configs/protocols/katanaIntegral.js +0 -18
  118. package/dist/cjs/const/amm/configs/protocols/katanaIntegral.js.map +0 -1
  119. package/dist/cjs/const/amm/configs/protocols/kim.js +0 -25
  120. package/dist/cjs/const/amm/configs/protocols/kim.js.map +0 -1
  121. package/dist/cjs/const/amm/configs/protocols/kinetix.js +0 -24
  122. package/dist/cjs/const/amm/configs/protocols/kinetix.js.map +0 -1
  123. package/dist/cjs/const/amm/configs/protocols/kodiak.js +0 -22
  124. package/dist/cjs/const/amm/configs/protocols/kodiak.js.map +0 -1
  125. package/dist/cjs/const/amm/configs/protocols/kyo.js +0 -23
  126. package/dist/cjs/const/amm/configs/protocols/kyo.js.map +0 -1
  127. package/dist/cjs/const/amm/configs/protocols/linehub.js +0 -19
  128. package/dist/cjs/const/amm/configs/protocols/linehub.js.map +0 -1
  129. package/dist/cjs/const/amm/configs/protocols/lynex.js +0 -25
  130. package/dist/cjs/const/amm/configs/protocols/lynex.js.map +0 -1
  131. package/dist/cjs/const/amm/configs/protocols/machinex.js +0 -24
  132. package/dist/cjs/const/amm/configs/protocols/machinex.js.map +0 -1
  133. package/dist/cjs/const/amm/configs/protocols/maia.js +0 -25
  134. package/dist/cjs/const/amm/configs/protocols/maia.js.map +0 -1
  135. package/dist/cjs/const/amm/configs/protocols/metavault.js +0 -26
  136. package/dist/cjs/const/amm/configs/protocols/metavault.js.map +0 -1
  137. package/dist/cjs/const/amm/configs/protocols/nest.js +0 -22
  138. package/dist/cjs/const/amm/configs/protocols/nest.js.map +0 -1
  139. package/dist/cjs/const/amm/configs/protocols/novaswap.js +0 -19
  140. package/dist/cjs/const/amm/configs/protocols/novaswap.js.map +0 -1
  141. package/dist/cjs/const/amm/configs/protocols/ocelex.js +0 -19
  142. package/dist/cjs/const/amm/configs/protocols/ocelex.js.map +0 -1
  143. package/dist/cjs/const/amm/configs/protocols/pancakeswap.js +0 -29
  144. package/dist/cjs/const/amm/configs/protocols/pancakeswap.js.map +0 -1
  145. package/dist/cjs/const/amm/configs/protocols/poolshark.js +0 -19
  146. package/dist/cjs/const/amm/configs/protocols/poolshark.js.map +0 -1
  147. package/dist/cjs/const/amm/configs/protocols/quickswap-algebra.js +0 -22
  148. package/dist/cjs/const/amm/configs/protocols/quickswap-algebra.js.map +0 -1
  149. package/dist/cjs/const/amm/configs/protocols/quickswap-integral.js +0 -32
  150. package/dist/cjs/const/amm/configs/protocols/quickswap-integral.js.map +0 -1
  151. package/dist/cjs/const/amm/configs/protocols/quickswap-univ3.js +0 -32
  152. package/dist/cjs/const/amm/configs/protocols/quickswap-univ3.js.map +0 -1
  153. package/dist/cjs/const/amm/configs/protocols/quickswap.js +0 -30
  154. package/dist/cjs/const/amm/configs/protocols/quickswap.js.map +0 -1
  155. package/dist/cjs/const/amm/configs/protocols/retro.js +0 -26
  156. package/dist/cjs/const/amm/configs/protocols/retro.js.map +0 -1
  157. package/dist/cjs/const/amm/configs/protocols/sailor.js +0 -19
  158. package/dist/cjs/const/amm/configs/protocols/sailor.js.map +0 -1
  159. package/dist/cjs/const/amm/configs/protocols/shadow.js +0 -21
  160. package/dist/cjs/const/amm/configs/protocols/shadow.js.map +0 -1
  161. package/dist/cjs/const/amm/configs/protocols/silverswap.js +0 -23
  162. package/dist/cjs/const/amm/configs/protocols/silverswap.js.map +0 -1
  163. package/dist/cjs/const/amm/configs/protocols/spark-integral.js +0 -22
  164. package/dist/cjs/const/amm/configs/protocols/spark-integral.js.map +0 -1
  165. package/dist/cjs/const/amm/configs/protocols/spark.js +0 -19
  166. package/dist/cjs/const/amm/configs/protocols/spark.js.map +0 -1
  167. package/dist/cjs/const/amm/configs/protocols/spark32.js +0 -19
  168. package/dist/cjs/const/amm/configs/protocols/spark32.js.map +0 -1
  169. package/dist/cjs/const/amm/configs/protocols/spookyswap.js +0 -19
  170. package/dist/cjs/const/amm/configs/protocols/spookyswap.js.map +0 -1
  171. package/dist/cjs/const/amm/configs/protocols/stellaswap.js +0 -23
  172. package/dist/cjs/const/amm/configs/protocols/stellaswap.js.map +0 -1
  173. package/dist/cjs/const/amm/configs/protocols/supswap.js +0 -19
  174. package/dist/cjs/const/amm/configs/protocols/supswap.js.map +0 -1
  175. package/dist/cjs/const/amm/configs/protocols/sushi.js +0 -87
  176. package/dist/cjs/const/amm/configs/protocols/sushi.js.map +0 -1
  177. package/dist/cjs/const/amm/configs/protocols/swapmode.js +0 -19
  178. package/dist/cjs/const/amm/configs/protocols/swapmode.js.map +0 -1
  179. package/dist/cjs/const/amm/configs/protocols/swapsicle.js +0 -19
  180. package/dist/cjs/const/amm/configs/protocols/swapsicle.js.map +0 -1
  181. package/dist/cjs/const/amm/configs/protocols/thena.js +0 -25
  182. package/dist/cjs/const/amm/configs/protocols/thena.js.map +0 -1
  183. package/dist/cjs/const/amm/configs/protocols/thick.js +0 -20
  184. package/dist/cjs/const/amm/configs/protocols/thick.js.map +0 -1
  185. package/dist/cjs/const/amm/configs/protocols/thickv2.js +0 -20
  186. package/dist/cjs/const/amm/configs/protocols/thickv2.js.map +0 -1
  187. package/dist/cjs/const/amm/configs/protocols/thruster.js +0 -22
  188. package/dist/cjs/const/amm/configs/protocols/thruster.js.map +0 -1
  189. package/dist/cjs/const/amm/configs/protocols/uniswap.js +0 -97
  190. package/dist/cjs/const/amm/configs/protocols/uniswap.js.map +0 -1
  191. package/dist/cjs/const/amm/configs/protocols/uniswapv4.js +0 -32
  192. package/dist/cjs/const/amm/configs/protocols/uniswapv4.js.map +0 -1
  193. package/dist/cjs/const/amm/configs/protocols/wasabee.js +0 -19
  194. package/dist/cjs/const/amm/configs/protocols/wasabee.js.map +0 -1
  195. package/dist/cjs/const/amm/index.js +0 -20
  196. package/dist/cjs/const/amm/index.js.map +0 -1
  197. package/dist/cjs/const/amm/utils/beacon.js +0 -205
  198. package/dist/cjs/const/amm/utils/beacon.js.map +0 -1
  199. package/dist/cjs/const/amm/utils/contracts.js +0 -114
  200. package/dist/cjs/const/amm/utils/contracts.js.map +0 -1
  201. package/dist/cjs/const/amm/utils/index.js +0 -105
  202. package/dist/cjs/const/amm/utils/index.js.map +0 -1
  203. package/dist/cjs/const/amm/utils/protocol.js +0 -139
  204. package/dist/cjs/const/amm/utils/protocol.js.map +0 -1
  205. package/dist/cjs/const/api.js +0 -28
  206. package/dist/cjs/const/api.js.map +0 -1
  207. package/dist/cjs/const/capabilities.js +0 -69
  208. package/dist/cjs/const/capabilities.js.map +0 -1
  209. package/dist/cjs/const/chain.js +0 -250
  210. package/dist/cjs/const/chain.js.map +0 -1
  211. package/dist/cjs/const/deployments/abis.js +0 -6756
  212. package/dist/cjs/const/deployments/abis.js.map +0 -1
  213. package/dist/cjs/const/deployments/apechain.js +0 -15
  214. package/dist/cjs/const/deployments/apechain.js.map +0 -1
  215. package/dist/cjs/const/deployments/arbitrum.js +0 -23
  216. package/dist/cjs/const/deployments/arbitrum.js.map +0 -1
  217. package/dist/cjs/const/deployments/arbitrumgoerli.js +0 -14
  218. package/dist/cjs/const/deployments/arbitrumgoerli.js.map +0 -1
  219. package/dist/cjs/const/deployments/astar.js +0 -14
  220. package/dist/cjs/const/deployments/astar.js.map +0 -1
  221. package/dist/cjs/const/deployments/astarzkevm.js +0 -14
  222. package/dist/cjs/const/deployments/astarzkevm.js.map +0 -1
  223. package/dist/cjs/const/deployments/avalanche.js +0 -43
  224. package/dist/cjs/const/deployments/avalanche.js.map +0 -1
  225. package/dist/cjs/const/deployments/bartiotest.js +0 -14
  226. package/dist/cjs/const/deployments/bartiotest.js.map +0 -1
  227. package/dist/cjs/const/deployments/base.js +0 -22
  228. package/dist/cjs/const/deployments/base.js.map +0 -1
  229. package/dist/cjs/const/deployments/bera.js +0 -14
  230. package/dist/cjs/const/deployments/bera.js.map +0 -1
  231. package/dist/cjs/const/deployments/berachainbartio.js +0 -38
  232. package/dist/cjs/const/deployments/berachainbartio.js.map +0 -1
  233. package/dist/cjs/const/deployments/blast.js +0 -14
  234. package/dist/cjs/const/deployments/blast.js.map +0 -1
  235. package/dist/cjs/const/deployments/bsc.js +0 -14
  236. package/dist/cjs/const/deployments/bsc.js.map +0 -1
  237. package/dist/cjs/const/deployments/celo.js +0 -14
  238. package/dist/cjs/const/deployments/celo.js.map +0 -1
  239. package/dist/cjs/const/deployments/core.js +0 -14
  240. package/dist/cjs/const/deployments/core.js.map +0 -1
  241. package/dist/cjs/const/deployments/eth.js +0 -19
  242. package/dist/cjs/const/deployments/eth.js.map +0 -1
  243. package/dist/cjs/const/deployments/evmos.js +0 -14
  244. package/dist/cjs/const/deployments/evmos.js.map +0 -1
  245. package/dist/cjs/const/deployments/fantom.js +0 -14
  246. package/dist/cjs/const/deployments/fantom.js.map +0 -1
  247. package/dist/cjs/const/deployments/filecoin.js +0 -14
  248. package/dist/cjs/const/deployments/filecoin.js.map +0 -1
  249. package/dist/cjs/const/deployments/flare.js +0 -14
  250. package/dist/cjs/const/deployments/flare.js.map +0 -1
  251. package/dist/cjs/const/deployments/goerli.js +0 -14
  252. package/dist/cjs/const/deployments/goerli.js.map +0 -1
  253. package/dist/cjs/const/deployments/hemi.js +0 -14
  254. package/dist/cjs/const/deployments/hemi.js.map +0 -1
  255. package/dist/cjs/const/deployments/hyperevm.js +0 -46
  256. package/dist/cjs/const/deployments/hyperevm.js.map +0 -1
  257. package/dist/cjs/const/deployments/index.js +0 -101
  258. package/dist/cjs/const/deployments/index.js.map +0 -1
  259. package/dist/cjs/const/deployments/katana.js +0 -46
  260. package/dist/cjs/const/deployments/katana.js.map +0 -1
  261. package/dist/cjs/const/deployments/kava.js +0 -14
  262. package/dist/cjs/const/deployments/kava.js.map +0 -1
  263. package/dist/cjs/const/deployments/linea.js +0 -14
  264. package/dist/cjs/const/deployments/linea.js.map +0 -1
  265. package/dist/cjs/const/deployments/localhost.js +0 -12
  266. package/dist/cjs/const/deployments/localhost.js.map +0 -1
  267. package/dist/cjs/const/deployments/manta.js +0 -14
  268. package/dist/cjs/const/deployments/manta.js.map +0 -1
  269. package/dist/cjs/const/deployments/mantle.js +0 -14
  270. package/dist/cjs/const/deployments/mantle.js.map +0 -1
  271. package/dist/cjs/const/deployments/metis.js +0 -14
  272. package/dist/cjs/const/deployments/metis.js.map +0 -1
  273. package/dist/cjs/const/deployments/mode.js +0 -14
  274. package/dist/cjs/const/deployments/mode.js.map +0 -1
  275. package/dist/cjs/const/deployments/moonbeam.js +0 -14
  276. package/dist/cjs/const/deployments/moonbeam.js.map +0 -1
  277. package/dist/cjs/const/deployments/mumbai.js +0 -14
  278. package/dist/cjs/const/deployments/mumbai.js.map +0 -1
  279. package/dist/cjs/const/deployments/nibiru.js +0 -47
  280. package/dist/cjs/const/deployments/nibiru.js.map +0 -1
  281. package/dist/cjs/const/deployments/okxtestnet.js +0 -14
  282. package/dist/cjs/const/deployments/okxtestnet.js.map +0 -1
  283. package/dist/cjs/const/deployments/optimism.js +0 -14
  284. package/dist/cjs/const/deployments/optimism.js.map +0 -1
  285. package/dist/cjs/const/deployments/optimismgoerli.js +0 -14
  286. package/dist/cjs/const/deployments/optimismgoerli.js.map +0 -1
  287. package/dist/cjs/const/deployments/peaq.js +0 -22
  288. package/dist/cjs/const/deployments/peaq.js.map +0 -1
  289. package/dist/cjs/const/deployments/polygon.js +0 -22
  290. package/dist/cjs/const/deployments/polygon.js.map +0 -1
  291. package/dist/cjs/const/deployments/polyzkevm.js +0 -14
  292. package/dist/cjs/const/deployments/polyzkevm.js.map +0 -1
  293. package/dist/cjs/const/deployments/pyzkevm.js +0 -6
  294. package/dist/cjs/const/deployments/pyzkevm.js.map +0 -1
  295. package/dist/cjs/const/deployments/ronin.js +0 -14
  296. package/dist/cjs/const/deployments/ronin.js.map +0 -1
  297. package/dist/cjs/const/deployments/rootstock.js +0 -14
  298. package/dist/cjs/const/deployments/rootstock.js.map +0 -1
  299. package/dist/cjs/const/deployments/saga.js +0 -47
  300. package/dist/cjs/const/deployments/saga.js.map +0 -1
  301. package/dist/cjs/const/deployments/scroll.js +0 -14
  302. package/dist/cjs/const/deployments/scroll.js.map +0 -1
  303. package/dist/cjs/const/deployments/sei.js +0 -14
  304. package/dist/cjs/const/deployments/sei.js.map +0 -1
  305. package/dist/cjs/const/deployments/soneium.js +0 -14
  306. package/dist/cjs/const/deployments/soneium.js.map +0 -1
  307. package/dist/cjs/const/deployments/sonic.js +0 -14
  308. package/dist/cjs/const/deployments/sonic.js.map +0 -1
  309. package/dist/cjs/const/deployments/taiko.js +0 -14
  310. package/dist/cjs/const/deployments/taiko.js.map +0 -1
  311. package/dist/cjs/const/deployments/tataratestnet.js +0 -14
  312. package/dist/cjs/const/deployments/tataratestnet.js.map +0 -1
  313. package/dist/cjs/const/deployments/telos.js +0 -14
  314. package/dist/cjs/const/deployments/telos.js.map +0 -1
  315. package/dist/cjs/const/deployments/thundercore.js +0 -14
  316. package/dist/cjs/const/deployments/thundercore.js.map +0 -1
  317. package/dist/cjs/const/deployments/uni.js +0 -14
  318. package/dist/cjs/const/deployments/uni.js.map +0 -1
  319. package/dist/cjs/const/deployments/xlayer.js +0 -14
  320. package/dist/cjs/const/deployments/xlayer.js.map +0 -1
  321. package/dist/cjs/const/deployments/zeta.js +0 -14
  322. package/dist/cjs/const/deployments/zeta.js.map +0 -1
  323. package/dist/cjs/const/deployments/zircuit.js +0 -14
  324. package/dist/cjs/const/deployments/zircuit.js.map +0 -1
  325. package/dist/cjs/const/deployments/zklinknova.js +0 -18
  326. package/dist/cjs/const/deployments/zklinknova.js.map +0 -1
  327. package/dist/cjs/const/feeManagerContracts.js +0 -25
  328. package/dist/cjs/const/feeManagerContracts.js.map +0 -1
  329. package/dist/cjs/const/index.js +0 -29
  330. package/dist/cjs/const/index.js.map +0 -1
  331. package/dist/cjs/const/network.js +0 -549
  332. package/dist/cjs/const/network.js.map +0 -1
  333. package/dist/cjs/const/protocol.js +0 -218
  334. package/dist/cjs/const/protocol.js.map +0 -1
  335. package/dist/cjs/const/quoter.js +0 -425
  336. package/dist/cjs/const/quoter.js.map +0 -1
  337. package/dist/cjs/const/stabilityVaults/index.js +0 -18
  338. package/dist/cjs/const/stabilityVaults/index.js.map +0 -1
  339. package/dist/cjs/const/stabilityVaults/stabilityVaultsConfig.js +0 -35
  340. package/dist/cjs/const/stabilityVaults/stabilityVaultsConfig.js.map +0 -1
  341. package/dist/cjs/const/subgraph.js +0 -89
  342. package/dist/cjs/const/subgraph.js.map +0 -1
  343. package/dist/cjs/const/thegraph.js +0 -8
  344. package/dist/cjs/const/thegraph.js.map +0 -1
  345. package/dist/cjs/index.js +0 -96
  346. package/dist/cjs/index.js.map +0 -1
  347. package/dist/cjs/scripts/processDeployments.js +0 -124
  348. package/dist/cjs/scripts/processDeployments.js.map +0 -1
  349. package/dist/cjs/types.js +0 -3
  350. package/dist/cjs/types.js.map +0 -1
  351. package/dist/cjs/utils/PoolQueryAdapter.js +0 -937
  352. package/dist/cjs/utils/PoolQueryAdapter.js.map +0 -1
  353. package/dist/cjs/utils/SubgraphVaultClient.js +0 -433
  354. package/dist/cjs/utils/SubgraphVaultClient.js.map +0 -1
  355. package/dist/cjs/utils/subgraph-types.js +0 -3
  356. package/dist/cjs/utils/subgraph-types.js.map +0 -1
  357. package/dist/esm/base/FeeManagerClient.js +0 -607
  358. package/dist/esm/base/FeeManagerClient.js.map +0 -1
  359. package/dist/esm/base/PoolClient.js +0 -592
  360. package/dist/esm/base/PoolClient.js.map +0 -1
  361. package/dist/esm/base/SmartRewardClient.js +0 -55
  362. package/dist/esm/base/SmartRewardClient.js.map +0 -1
  363. package/dist/esm/base/SmartRewards.js +0 -560
  364. package/dist/esm/base/SmartRewards.js.map +0 -1
  365. package/dist/esm/base/StakingClient.js +0 -663
  366. package/dist/esm/base/StakingClient.js.map +0 -1
  367. package/dist/esm/base/SubgraphClient.js +0 -79
  368. package/dist/esm/base/SubgraphClient.js.map +0 -1
  369. package/dist/esm/base/VaultClient.js +0 -1756
  370. package/dist/esm/base/VaultClient.js.map +0 -1
  371. package/dist/esm/base/vault/deposit/index.js +0 -594
  372. package/dist/esm/base/vault/deposit/index.js.map +0 -1
  373. package/dist/esm/base/vault/deposit/types.js +0 -3
  374. package/dist/esm/base/vault/deposit/types.js.map +0 -1
  375. package/dist/esm/base/vault/single-asset/calculateLimitPrice.js +0 -231
  376. package/dist/esm/base/vault/single-asset/calculateLimitPrice.js.map +0 -1
  377. package/dist/esm/base/vault/single-asset/calculateSwapAmount.js +0 -68
  378. package/dist/esm/base/vault/single-asset/calculateSwapAmount.js.map +0 -1
  379. package/dist/esm/base/vault/single-asset/estimateLpTokens.js +0 -355
  380. package/dist/esm/base/vault/single-asset/estimateLpTokens.js.map +0 -1
  381. package/dist/esm/base/vault/single-asset/index.js +0 -109
  382. package/dist/esm/base/vault/single-asset/index.js.map +0 -1
  383. package/dist/esm/base/vault/single-asset/simulateSwap.js +0 -336
  384. package/dist/esm/base/vault/single-asset/simulateSwap.js.map +0 -1
  385. package/dist/esm/base/vault/single-asset/singleAssetDeposit.js +0 -355
  386. package/dist/esm/base/vault/single-asset/singleAssetDeposit.js.map +0 -1
  387. package/dist/esm/base/vault/single-asset/types.js +0 -16
  388. package/dist/esm/base/vault/single-asset/types.js.map +0 -1
  389. package/dist/esm/base/vault/utils.js +0 -583
  390. package/dist/esm/base/vault/utils.js.map +0 -1
  391. package/dist/esm/base/vault/withdraw/index.js +0 -157
  392. package/dist/esm/base/vault/withdraw/index.js.map +0 -1
  393. package/dist/esm/base/vault/withdraw/types.js +0 -3
  394. package/dist/esm/base/vault/withdraw/types.js.map +0 -1
  395. package/dist/esm/client.js +0 -126
  396. package/dist/esm/client.js.map +0 -1
  397. package/dist/esm/const/abis/UniswapPool.js +0 -5
  398. package/dist/esm/const/abis/UniswapPool.js.map +0 -1
  399. package/dist/esm/const/abis/erc1155.js +0 -318
  400. package/dist/esm/const/abis/erc1155.js.map +0 -1
  401. package/dist/esm/const/abis/erc20.js +0 -228
  402. package/dist/esm/const/abis/erc20.js.map +0 -1
  403. package/dist/esm/const/abis/erc721.js +0 -350
  404. package/dist/esm/const/abis/erc721.js.map +0 -1
  405. package/dist/esm/const/abis/feeManager.js +0 -676
  406. package/dist/esm/const/abis/feeManager.js.map +0 -1
  407. package/dist/esm/const/abis/index.js +0 -25
  408. package/dist/esm/const/abis/index.js.map +0 -1
  409. package/dist/esm/const/abis/quoter.js +0 -1584
  410. package/dist/esm/const/abis/quoter.js.map +0 -1
  411. package/dist/esm/const/abis/singleTokenDeposit.js +0 -925
  412. package/dist/esm/const/abis/singleTokenDeposit.js.map +0 -1
  413. package/dist/esm/const/abis/vaultFees.js +0 -44
  414. package/dist/esm/const/abis/vaultFees.js.map +0 -1
  415. package/dist/esm/const/amm/configs/ammConfig.js +0 -105
  416. package/dist/esm/const/amm/configs/ammConfig.js.map +0 -1
  417. package/dist/esm/const/amm/configs/protocols/aerodrome-v2.js +0 -20
  418. package/dist/esm/const/amm/configs/protocols/aerodrome-v2.js.map +0 -1
  419. package/dist/esm/const/amm/configs/protocols/aerodrome.js +0 -20
  420. package/dist/esm/const/amm/configs/protocols/aerodrome.js.map +0 -1
  421. package/dist/esm/const/amm/configs/protocols/arthswap.js +0 -22
  422. package/dist/esm/const/amm/configs/protocols/arthswap.js.map +0 -1
  423. package/dist/esm/const/amm/configs/protocols/baseswap.js +0 -19
  424. package/dist/esm/const/amm/configs/protocols/baseswap.js.map +0 -1
  425. package/dist/esm/const/amm/configs/protocols/basex.js +0 -22
  426. package/dist/esm/const/amm/configs/protocols/basex.js.map +0 -1
  427. package/dist/esm/const/amm/configs/protocols/beam.js +0 -19
  428. package/dist/esm/const/amm/configs/protocols/beam.js.map +0 -1
  429. package/dist/esm/const/amm/configs/protocols/beamswap.js +0 -19
  430. package/dist/esm/const/amm/configs/protocols/beamswap.js.map +0 -1
  431. package/dist/esm/const/amm/configs/protocols/blackhole.js +0 -24
  432. package/dist/esm/const/amm/configs/protocols/blackhole.js.map +0 -1
  433. package/dist/esm/const/amm/configs/protocols/camelot.js +0 -29
  434. package/dist/esm/const/amm/configs/protocols/camelot.js.map +0 -1
  435. package/dist/esm/const/amm/configs/protocols/crust.js +0 -19
  436. package/dist/esm/const/amm/configs/protocols/crust.js.map +0 -1
  437. package/dist/esm/const/amm/configs/protocols/cypher.js +0 -23
  438. package/dist/esm/const/amm/configs/protocols/cypher.js.map +0 -1
  439. package/dist/esm/const/amm/configs/protocols/dodo.js +0 -19
  440. package/dist/esm/const/amm/configs/protocols/dodo.js.map +0 -1
  441. package/dist/esm/const/amm/configs/protocols/dragonswap.js +0 -19
  442. package/dist/esm/const/amm/configs/protocols/dragonswap.js.map +0 -1
  443. package/dist/esm/const/amm/configs/protocols/eddy.js +0 -19
  444. package/dist/esm/const/amm/configs/protocols/eddy.js.map +0 -1
  445. package/dist/esm/const/amm/configs/protocols/equilibre.js +0 -19
  446. package/dist/esm/const/amm/configs/protocols/equilibre.js.map +0 -1
  447. package/dist/esm/const/amm/configs/protocols/fenix.js +0 -19
  448. package/dist/esm/const/amm/configs/protocols/fenix.js.map +0 -1
  449. package/dist/esm/const/amm/configs/protocols/forge.js +0 -25
  450. package/dist/esm/const/amm/configs/protocols/forge.js.map +0 -1
  451. package/dist/esm/const/amm/configs/protocols/fusionx.js +0 -22
  452. package/dist/esm/const/amm/configs/protocols/fusionx.js.map +0 -1
  453. package/dist/esm/const/amm/configs/protocols/glyph.js +0 -25
  454. package/dist/esm/const/amm/configs/protocols/glyph.js.map +0 -1
  455. package/dist/esm/const/amm/configs/protocols/henjin.js +0 -19
  456. package/dist/esm/const/amm/configs/protocols/henjin.js.map +0 -1
  457. package/dist/esm/const/amm/configs/protocols/hercules.js +0 -19
  458. package/dist/esm/const/amm/configs/protocols/hercules.js.map +0 -1
  459. package/dist/esm/const/amm/configs/protocols/horiza.js +0 -25
  460. package/dist/esm/const/amm/configs/protocols/horiza.js.map +0 -1
  461. package/dist/esm/const/amm/configs/protocols/index.js +0 -57
  462. package/dist/esm/const/amm/configs/protocols/index.js.map +0 -1
  463. package/dist/esm/const/amm/configs/protocols/katana.js +0 -18
  464. package/dist/esm/const/amm/configs/protocols/katana.js.map +0 -1
  465. package/dist/esm/const/amm/configs/protocols/katanaIntegral.js +0 -18
  466. package/dist/esm/const/amm/configs/protocols/katanaIntegral.js.map +0 -1
  467. package/dist/esm/const/amm/configs/protocols/kim.js +0 -25
  468. package/dist/esm/const/amm/configs/protocols/kim.js.map +0 -1
  469. package/dist/esm/const/amm/configs/protocols/kinetix.js +0 -24
  470. package/dist/esm/const/amm/configs/protocols/kinetix.js.map +0 -1
  471. package/dist/esm/const/amm/configs/protocols/kodiak.js +0 -22
  472. package/dist/esm/const/amm/configs/protocols/kodiak.js.map +0 -1
  473. package/dist/esm/const/amm/configs/protocols/kyo.js +0 -23
  474. package/dist/esm/const/amm/configs/protocols/kyo.js.map +0 -1
  475. package/dist/esm/const/amm/configs/protocols/linehub.js +0 -19
  476. package/dist/esm/const/amm/configs/protocols/linehub.js.map +0 -1
  477. package/dist/esm/const/amm/configs/protocols/lynex.js +0 -25
  478. package/dist/esm/const/amm/configs/protocols/lynex.js.map +0 -1
  479. package/dist/esm/const/amm/configs/protocols/machinex.js +0 -24
  480. package/dist/esm/const/amm/configs/protocols/machinex.js.map +0 -1
  481. package/dist/esm/const/amm/configs/protocols/maia.js +0 -25
  482. package/dist/esm/const/amm/configs/protocols/maia.js.map +0 -1
  483. package/dist/esm/const/amm/configs/protocols/metavault.js +0 -26
  484. package/dist/esm/const/amm/configs/protocols/metavault.js.map +0 -1
  485. package/dist/esm/const/amm/configs/protocols/nest.js +0 -22
  486. package/dist/esm/const/amm/configs/protocols/nest.js.map +0 -1
  487. package/dist/esm/const/amm/configs/protocols/novaswap.js +0 -19
  488. package/dist/esm/const/amm/configs/protocols/novaswap.js.map +0 -1
  489. package/dist/esm/const/amm/configs/protocols/ocelex.js +0 -19
  490. package/dist/esm/const/amm/configs/protocols/ocelex.js.map +0 -1
  491. package/dist/esm/const/amm/configs/protocols/pancakeswap.js +0 -29
  492. package/dist/esm/const/amm/configs/protocols/pancakeswap.js.map +0 -1
  493. package/dist/esm/const/amm/configs/protocols/poolshark.js +0 -19
  494. package/dist/esm/const/amm/configs/protocols/poolshark.js.map +0 -1
  495. package/dist/esm/const/amm/configs/protocols/quickswap-algebra.js +0 -22
  496. package/dist/esm/const/amm/configs/protocols/quickswap-algebra.js.map +0 -1
  497. package/dist/esm/const/amm/configs/protocols/quickswap-integral.js +0 -32
  498. package/dist/esm/const/amm/configs/protocols/quickswap-integral.js.map +0 -1
  499. package/dist/esm/const/amm/configs/protocols/quickswap-univ3.js +0 -32
  500. package/dist/esm/const/amm/configs/protocols/quickswap-univ3.js.map +0 -1
  501. package/dist/esm/const/amm/configs/protocols/quickswap.js +0 -30
  502. package/dist/esm/const/amm/configs/protocols/quickswap.js.map +0 -1
  503. package/dist/esm/const/amm/configs/protocols/retro.js +0 -26
  504. package/dist/esm/const/amm/configs/protocols/retro.js.map +0 -1
  505. package/dist/esm/const/amm/configs/protocols/sailor.js +0 -19
  506. package/dist/esm/const/amm/configs/protocols/sailor.js.map +0 -1
  507. package/dist/esm/const/amm/configs/protocols/shadow.js +0 -21
  508. package/dist/esm/const/amm/configs/protocols/shadow.js.map +0 -1
  509. package/dist/esm/const/amm/configs/protocols/silverswap.js +0 -23
  510. package/dist/esm/const/amm/configs/protocols/silverswap.js.map +0 -1
  511. package/dist/esm/const/amm/configs/protocols/spark-integral.js +0 -22
  512. package/dist/esm/const/amm/configs/protocols/spark-integral.js.map +0 -1
  513. package/dist/esm/const/amm/configs/protocols/spark.js +0 -19
  514. package/dist/esm/const/amm/configs/protocols/spark.js.map +0 -1
  515. package/dist/esm/const/amm/configs/protocols/spark32.js +0 -19
  516. package/dist/esm/const/amm/configs/protocols/spark32.js.map +0 -1
  517. package/dist/esm/const/amm/configs/protocols/spookyswap.js +0 -19
  518. package/dist/esm/const/amm/configs/protocols/spookyswap.js.map +0 -1
  519. package/dist/esm/const/amm/configs/protocols/stellaswap.js +0 -23
  520. package/dist/esm/const/amm/configs/protocols/stellaswap.js.map +0 -1
  521. package/dist/esm/const/amm/configs/protocols/supswap.js +0 -19
  522. package/dist/esm/const/amm/configs/protocols/supswap.js.map +0 -1
  523. package/dist/esm/const/amm/configs/protocols/sushi.js +0 -87
  524. package/dist/esm/const/amm/configs/protocols/sushi.js.map +0 -1
  525. package/dist/esm/const/amm/configs/protocols/swapmode.js +0 -19
  526. package/dist/esm/const/amm/configs/protocols/swapmode.js.map +0 -1
  527. package/dist/esm/const/amm/configs/protocols/swapsicle.js +0 -19
  528. package/dist/esm/const/amm/configs/protocols/swapsicle.js.map +0 -1
  529. package/dist/esm/const/amm/configs/protocols/thena.js +0 -25
  530. package/dist/esm/const/amm/configs/protocols/thena.js.map +0 -1
  531. package/dist/esm/const/amm/configs/protocols/thick.js +0 -20
  532. package/dist/esm/const/amm/configs/protocols/thick.js.map +0 -1
  533. package/dist/esm/const/amm/configs/protocols/thickv2.js +0 -20
  534. package/dist/esm/const/amm/configs/protocols/thickv2.js.map +0 -1
  535. package/dist/esm/const/amm/configs/protocols/thruster.js +0 -22
  536. package/dist/esm/const/amm/configs/protocols/thruster.js.map +0 -1
  537. package/dist/esm/const/amm/configs/protocols/uniswap.js +0 -97
  538. package/dist/esm/const/amm/configs/protocols/uniswap.js.map +0 -1
  539. package/dist/esm/const/amm/configs/protocols/uniswapv4.js +0 -32
  540. package/dist/esm/const/amm/configs/protocols/uniswapv4.js.map +0 -1
  541. package/dist/esm/const/amm/configs/protocols/wasabee.js +0 -19
  542. package/dist/esm/const/amm/configs/protocols/wasabee.js.map +0 -1
  543. package/dist/esm/const/amm/index.js +0 -20
  544. package/dist/esm/const/amm/index.js.map +0 -1
  545. package/dist/esm/const/amm/utils/beacon.js +0 -205
  546. package/dist/esm/const/amm/utils/beacon.js.map +0 -1
  547. package/dist/esm/const/amm/utils/contracts.js +0 -114
  548. package/dist/esm/const/amm/utils/contracts.js.map +0 -1
  549. package/dist/esm/const/amm/utils/index.js +0 -105
  550. package/dist/esm/const/amm/utils/index.js.map +0 -1
  551. package/dist/esm/const/amm/utils/protocol.js +0 -139
  552. package/dist/esm/const/amm/utils/protocol.js.map +0 -1
  553. package/dist/esm/const/api.js +0 -28
  554. package/dist/esm/const/api.js.map +0 -1
  555. package/dist/esm/const/capabilities.js +0 -69
  556. package/dist/esm/const/capabilities.js.map +0 -1
  557. package/dist/esm/const/chain.js +0 -250
  558. package/dist/esm/const/chain.js.map +0 -1
  559. package/dist/esm/const/deployments/abis.js +0 -6756
  560. package/dist/esm/const/deployments/abis.js.map +0 -1
  561. package/dist/esm/const/deployments/apechain.js +0 -15
  562. package/dist/esm/const/deployments/apechain.js.map +0 -1
  563. package/dist/esm/const/deployments/arbitrum.js +0 -23
  564. package/dist/esm/const/deployments/arbitrum.js.map +0 -1
  565. package/dist/esm/const/deployments/arbitrumgoerli.js +0 -14
  566. package/dist/esm/const/deployments/arbitrumgoerli.js.map +0 -1
  567. package/dist/esm/const/deployments/astar.js +0 -14
  568. package/dist/esm/const/deployments/astar.js.map +0 -1
  569. package/dist/esm/const/deployments/astarzkevm.js +0 -14
  570. package/dist/esm/const/deployments/astarzkevm.js.map +0 -1
  571. package/dist/esm/const/deployments/avalanche.js +0 -43
  572. package/dist/esm/const/deployments/avalanche.js.map +0 -1
  573. package/dist/esm/const/deployments/bartiotest.js +0 -14
  574. package/dist/esm/const/deployments/bartiotest.js.map +0 -1
  575. package/dist/esm/const/deployments/base.js +0 -22
  576. package/dist/esm/const/deployments/base.js.map +0 -1
  577. package/dist/esm/const/deployments/bera.js +0 -14
  578. package/dist/esm/const/deployments/bera.js.map +0 -1
  579. package/dist/esm/const/deployments/berachainbartio.js +0 -38
  580. package/dist/esm/const/deployments/berachainbartio.js.map +0 -1
  581. package/dist/esm/const/deployments/blast.js +0 -14
  582. package/dist/esm/const/deployments/blast.js.map +0 -1
  583. package/dist/esm/const/deployments/bsc.js +0 -14
  584. package/dist/esm/const/deployments/bsc.js.map +0 -1
  585. package/dist/esm/const/deployments/celo.js +0 -14
  586. package/dist/esm/const/deployments/celo.js.map +0 -1
  587. package/dist/esm/const/deployments/core.js +0 -14
  588. package/dist/esm/const/deployments/core.js.map +0 -1
  589. package/dist/esm/const/deployments/eth.js +0 -19
  590. package/dist/esm/const/deployments/eth.js.map +0 -1
  591. package/dist/esm/const/deployments/evmos.js +0 -14
  592. package/dist/esm/const/deployments/evmos.js.map +0 -1
  593. package/dist/esm/const/deployments/fantom.js +0 -14
  594. package/dist/esm/const/deployments/fantom.js.map +0 -1
  595. package/dist/esm/const/deployments/filecoin.js +0 -14
  596. package/dist/esm/const/deployments/filecoin.js.map +0 -1
  597. package/dist/esm/const/deployments/flare.js +0 -14
  598. package/dist/esm/const/deployments/flare.js.map +0 -1
  599. package/dist/esm/const/deployments/goerli.js +0 -14
  600. package/dist/esm/const/deployments/goerli.js.map +0 -1
  601. package/dist/esm/const/deployments/hemi.js +0 -14
  602. package/dist/esm/const/deployments/hemi.js.map +0 -1
  603. package/dist/esm/const/deployments/hyperevm.js +0 -46
  604. package/dist/esm/const/deployments/hyperevm.js.map +0 -1
  605. package/dist/esm/const/deployments/index.js +0 -101
  606. package/dist/esm/const/deployments/index.js.map +0 -1
  607. package/dist/esm/const/deployments/katana.js +0 -46
  608. package/dist/esm/const/deployments/katana.js.map +0 -1
  609. package/dist/esm/const/deployments/kava.js +0 -14
  610. package/dist/esm/const/deployments/kava.js.map +0 -1
  611. package/dist/esm/const/deployments/linea.js +0 -14
  612. package/dist/esm/const/deployments/linea.js.map +0 -1
  613. package/dist/esm/const/deployments/localhost.js +0 -12
  614. package/dist/esm/const/deployments/localhost.js.map +0 -1
  615. package/dist/esm/const/deployments/manta.js +0 -14
  616. package/dist/esm/const/deployments/manta.js.map +0 -1
  617. package/dist/esm/const/deployments/mantle.js +0 -14
  618. package/dist/esm/const/deployments/mantle.js.map +0 -1
  619. package/dist/esm/const/deployments/metis.js +0 -14
  620. package/dist/esm/const/deployments/metis.js.map +0 -1
  621. package/dist/esm/const/deployments/mode.js +0 -14
  622. package/dist/esm/const/deployments/mode.js.map +0 -1
  623. package/dist/esm/const/deployments/moonbeam.js +0 -14
  624. package/dist/esm/const/deployments/moonbeam.js.map +0 -1
  625. package/dist/esm/const/deployments/mumbai.js +0 -14
  626. package/dist/esm/const/deployments/mumbai.js.map +0 -1
  627. package/dist/esm/const/deployments/nibiru.js +0 -47
  628. package/dist/esm/const/deployments/nibiru.js.map +0 -1
  629. package/dist/esm/const/deployments/okxtestnet.js +0 -14
  630. package/dist/esm/const/deployments/okxtestnet.js.map +0 -1
  631. package/dist/esm/const/deployments/optimism.js +0 -14
  632. package/dist/esm/const/deployments/optimism.js.map +0 -1
  633. package/dist/esm/const/deployments/optimismgoerli.js +0 -14
  634. package/dist/esm/const/deployments/optimismgoerli.js.map +0 -1
  635. package/dist/esm/const/deployments/peaq.js +0 -22
  636. package/dist/esm/const/deployments/peaq.js.map +0 -1
  637. package/dist/esm/const/deployments/polygon.js +0 -22
  638. package/dist/esm/const/deployments/polygon.js.map +0 -1
  639. package/dist/esm/const/deployments/polyzkevm.js +0 -14
  640. package/dist/esm/const/deployments/polyzkevm.js.map +0 -1
  641. package/dist/esm/const/deployments/pyzkevm.js +0 -6
  642. package/dist/esm/const/deployments/pyzkevm.js.map +0 -1
  643. package/dist/esm/const/deployments/ronin.js +0 -14
  644. package/dist/esm/const/deployments/ronin.js.map +0 -1
  645. package/dist/esm/const/deployments/rootstock.js +0 -14
  646. package/dist/esm/const/deployments/rootstock.js.map +0 -1
  647. package/dist/esm/const/deployments/saga.js +0 -47
  648. package/dist/esm/const/deployments/saga.js.map +0 -1
  649. package/dist/esm/const/deployments/scroll.js +0 -14
  650. package/dist/esm/const/deployments/scroll.js.map +0 -1
  651. package/dist/esm/const/deployments/sei.js +0 -14
  652. package/dist/esm/const/deployments/sei.js.map +0 -1
  653. package/dist/esm/const/deployments/soneium.js +0 -14
  654. package/dist/esm/const/deployments/soneium.js.map +0 -1
  655. package/dist/esm/const/deployments/sonic.js +0 -14
  656. package/dist/esm/const/deployments/sonic.js.map +0 -1
  657. package/dist/esm/const/deployments/taiko.js +0 -14
  658. package/dist/esm/const/deployments/taiko.js.map +0 -1
  659. package/dist/esm/const/deployments/tataratestnet.js +0 -14
  660. package/dist/esm/const/deployments/tataratestnet.js.map +0 -1
  661. package/dist/esm/const/deployments/telos.js +0 -14
  662. package/dist/esm/const/deployments/telos.js.map +0 -1
  663. package/dist/esm/const/deployments/thundercore.js +0 -14
  664. package/dist/esm/const/deployments/thundercore.js.map +0 -1
  665. package/dist/esm/const/deployments/uni.js +0 -14
  666. package/dist/esm/const/deployments/uni.js.map +0 -1
  667. package/dist/esm/const/deployments/xlayer.js +0 -14
  668. package/dist/esm/const/deployments/xlayer.js.map +0 -1
  669. package/dist/esm/const/deployments/zeta.js +0 -14
  670. package/dist/esm/const/deployments/zeta.js.map +0 -1
  671. package/dist/esm/const/deployments/zircuit.js +0 -14
  672. package/dist/esm/const/deployments/zircuit.js.map +0 -1
  673. package/dist/esm/const/deployments/zklinknova.js +0 -18
  674. package/dist/esm/const/deployments/zklinknova.js.map +0 -1
  675. package/dist/esm/const/feeManagerContracts.js +0 -25
  676. package/dist/esm/const/feeManagerContracts.js.map +0 -1
  677. package/dist/esm/const/index.js +0 -29
  678. package/dist/esm/const/index.js.map +0 -1
  679. package/dist/esm/const/network.js +0 -549
  680. package/dist/esm/const/network.js.map +0 -1
  681. package/dist/esm/const/protocol.js +0 -218
  682. package/dist/esm/const/protocol.js.map +0 -1
  683. package/dist/esm/const/quoter.js +0 -425
  684. package/dist/esm/const/quoter.js.map +0 -1
  685. package/dist/esm/const/stabilityVaults/index.js +0 -18
  686. package/dist/esm/const/stabilityVaults/index.js.map +0 -1
  687. package/dist/esm/const/stabilityVaults/stabilityVaultsConfig.js +0 -35
  688. package/dist/esm/const/stabilityVaults/stabilityVaultsConfig.js.map +0 -1
  689. package/dist/esm/const/subgraph.js +0 -89
  690. package/dist/esm/const/subgraph.js.map +0 -1
  691. package/dist/esm/const/thegraph.js +0 -8
  692. package/dist/esm/const/thegraph.js.map +0 -1
  693. package/dist/esm/index.js +0 -96
  694. package/dist/esm/index.js.map +0 -1
  695. package/dist/esm/scripts/processDeployments.js +0 -124
  696. package/dist/esm/scripts/processDeployments.js.map +0 -1
  697. package/dist/esm/types.js +0 -3
  698. package/dist/esm/types.js.map +0 -1
  699. package/dist/esm/utils/PoolQueryAdapter.js +0 -937
  700. package/dist/esm/utils/PoolQueryAdapter.js.map +0 -1
  701. package/dist/esm/utils/SubgraphVaultClient.js +0 -433
  702. package/dist/esm/utils/SubgraphVaultClient.js.map +0 -1
  703. package/dist/esm/utils/subgraph-types.js +0 -3
  704. package/dist/esm/utils/subgraph-types.js.map +0 -1
  705. package/dist/types/base/FeeManagerClient.d.ts +0 -49
  706. package/dist/types/base/FeeManagerClient.d.ts.map +0 -1
  707. package/dist/types/base/PoolClient.d.ts +0 -279
  708. package/dist/types/base/PoolClient.d.ts.map +0 -1
  709. package/dist/types/base/SmartRewardClient.d.ts +0 -46
  710. package/dist/types/base/SmartRewardClient.d.ts.map +0 -1
  711. package/dist/types/base/SmartRewards.d.ts +0 -291
  712. package/dist/types/base/SmartRewards.d.ts.map +0 -1
  713. package/dist/types/base/StakingClient.d.ts +0 -244
  714. package/dist/types/base/StakingClient.d.ts.map +0 -1
  715. package/dist/types/base/SubgraphClient.d.ts +0 -26
  716. package/dist/types/base/SubgraphClient.d.ts.map +0 -1
  717. package/dist/types/base/VaultClient.d.ts +0 -808
  718. package/dist/types/base/VaultClient.d.ts.map +0 -1
  719. package/dist/types/base/vault/deposit/index.d.ts +0 -71
  720. package/dist/types/base/vault/deposit/index.d.ts.map +0 -1
  721. package/dist/types/base/vault/deposit/types.d.ts +0 -44
  722. package/dist/types/base/vault/deposit/types.d.ts.map +0 -1
  723. package/dist/types/base/vault/single-asset/calculateLimitPrice.d.ts +0 -59
  724. package/dist/types/base/vault/single-asset/calculateLimitPrice.d.ts.map +0 -1
  725. package/dist/types/base/vault/single-asset/calculateSwapAmount.d.ts +0 -30
  726. package/dist/types/base/vault/single-asset/calculateSwapAmount.d.ts.map +0 -1
  727. package/dist/types/base/vault/single-asset/estimateLpTokens.d.ts +0 -61
  728. package/dist/types/base/vault/single-asset/estimateLpTokens.d.ts.map +0 -1
  729. package/dist/types/base/vault/single-asset/index.d.ts +0 -80
  730. package/dist/types/base/vault/single-asset/index.d.ts.map +0 -1
  731. package/dist/types/base/vault/single-asset/simulateSwap.d.ts +0 -122
  732. package/dist/types/base/vault/single-asset/simulateSwap.d.ts.map +0 -1
  733. package/dist/types/base/vault/single-asset/singleAssetDeposit.d.ts +0 -141
  734. package/dist/types/base/vault/single-asset/singleAssetDeposit.d.ts.map +0 -1
  735. package/dist/types/base/vault/single-asset/types.d.ts +0 -173
  736. package/dist/types/base/vault/single-asset/types.d.ts.map +0 -1
  737. package/dist/types/base/vault/utils.d.ts +0 -120
  738. package/dist/types/base/vault/utils.d.ts.map +0 -1
  739. package/dist/types/base/vault/withdraw/index.d.ts +0 -45
  740. package/dist/types/base/vault/withdraw/index.d.ts.map +0 -1
  741. package/dist/types/base/vault/withdraw/types.d.ts +0 -13
  742. package/dist/types/base/vault/withdraw/types.d.ts.map +0 -1
  743. package/dist/types/client.d.ts +0 -97
  744. package/dist/types/client.d.ts.map +0 -1
  745. package/dist/types/const/abis/UniswapPool.d.ts +0 -36
  746. package/dist/types/const/abis/UniswapPool.d.ts.map +0 -1
  747. package/dist/types/const/abis/erc1155.d.ts +0 -29
  748. package/dist/types/const/abis/erc1155.d.ts.map +0 -1
  749. package/dist/types/const/abis/erc20.d.ts +0 -29
  750. package/dist/types/const/abis/erc20.d.ts.map +0 -1
  751. package/dist/types/const/abis/erc721.d.ts +0 -45
  752. package/dist/types/const/abis/erc721.d.ts.map +0 -1
  753. package/dist/types/const/abis/feeManager.d.ts +0 -527
  754. package/dist/types/const/abis/feeManager.d.ts.map +0 -1
  755. package/dist/types/const/abis/index.d.ts +0 -9
  756. package/dist/types/const/abis/index.d.ts.map +0 -1
  757. package/dist/types/const/abis/quoter.d.ts +0 -432
  758. package/dist/types/const/abis/quoter.d.ts.map +0 -1
  759. package/dist/types/const/abis/singleTokenDeposit.d.ts +0 -47
  760. package/dist/types/const/abis/singleTokenDeposit.d.ts.map +0 -1
  761. package/dist/types/const/abis/vaultFees.d.ts +0 -30
  762. package/dist/types/const/abis/vaultFees.d.ts.map +0 -1
  763. package/dist/types/const/amm/configs/ammConfig.d.ts +0 -3
  764. package/dist/types/const/amm/configs/ammConfig.d.ts.map +0 -1
  765. package/dist/types/const/amm/configs/protocols/aerodrome-v2.d.ts +0 -3
  766. package/dist/types/const/amm/configs/protocols/aerodrome-v2.d.ts.map +0 -1
  767. package/dist/types/const/amm/configs/protocols/aerodrome.d.ts +0 -3
  768. package/dist/types/const/amm/configs/protocols/aerodrome.d.ts.map +0 -1
  769. package/dist/types/const/amm/configs/protocols/arthswap.d.ts +0 -3
  770. package/dist/types/const/amm/configs/protocols/arthswap.d.ts.map +0 -1
  771. package/dist/types/const/amm/configs/protocols/baseswap.d.ts +0 -3
  772. package/dist/types/const/amm/configs/protocols/baseswap.d.ts.map +0 -1
  773. package/dist/types/const/amm/configs/protocols/basex.d.ts +0 -3
  774. package/dist/types/const/amm/configs/protocols/basex.d.ts.map +0 -1
  775. package/dist/types/const/amm/configs/protocols/beam.d.ts +0 -3
  776. package/dist/types/const/amm/configs/protocols/beam.d.ts.map +0 -1
  777. package/dist/types/const/amm/configs/protocols/beamswap.d.ts +0 -3
  778. package/dist/types/const/amm/configs/protocols/beamswap.d.ts.map +0 -1
  779. package/dist/types/const/amm/configs/protocols/blackhole.d.ts +0 -3
  780. package/dist/types/const/amm/configs/protocols/blackhole.d.ts.map +0 -1
  781. package/dist/types/const/amm/configs/protocols/camelot.d.ts +0 -3
  782. package/dist/types/const/amm/configs/protocols/camelot.d.ts.map +0 -1
  783. package/dist/types/const/amm/configs/protocols/crust.d.ts +0 -3
  784. package/dist/types/const/amm/configs/protocols/crust.d.ts.map +0 -1
  785. package/dist/types/const/amm/configs/protocols/cypher.d.ts +0 -3
  786. package/dist/types/const/amm/configs/protocols/cypher.d.ts.map +0 -1
  787. package/dist/types/const/amm/configs/protocols/dodo.d.ts +0 -3
  788. package/dist/types/const/amm/configs/protocols/dodo.d.ts.map +0 -1
  789. package/dist/types/const/amm/configs/protocols/dragonswap.d.ts +0 -3
  790. package/dist/types/const/amm/configs/protocols/dragonswap.d.ts.map +0 -1
  791. package/dist/types/const/amm/configs/protocols/eddy.d.ts +0 -3
  792. package/dist/types/const/amm/configs/protocols/eddy.d.ts.map +0 -1
  793. package/dist/types/const/amm/configs/protocols/equilibre.d.ts +0 -3
  794. package/dist/types/const/amm/configs/protocols/equilibre.d.ts.map +0 -1
  795. package/dist/types/const/amm/configs/protocols/fenix.d.ts +0 -3
  796. package/dist/types/const/amm/configs/protocols/fenix.d.ts.map +0 -1
  797. package/dist/types/const/amm/configs/protocols/forge.d.ts +0 -3
  798. package/dist/types/const/amm/configs/protocols/forge.d.ts.map +0 -1
  799. package/dist/types/const/amm/configs/protocols/fusionx.d.ts +0 -3
  800. package/dist/types/const/amm/configs/protocols/fusionx.d.ts.map +0 -1
  801. package/dist/types/const/amm/configs/protocols/glyph.d.ts +0 -3
  802. package/dist/types/const/amm/configs/protocols/glyph.d.ts.map +0 -1
  803. package/dist/types/const/amm/configs/protocols/henjin.d.ts +0 -3
  804. package/dist/types/const/amm/configs/protocols/henjin.d.ts.map +0 -1
  805. package/dist/types/const/amm/configs/protocols/hercules.d.ts +0 -3
  806. package/dist/types/const/amm/configs/protocols/hercules.d.ts.map +0 -1
  807. package/dist/types/const/amm/configs/protocols/horiza.d.ts +0 -3
  808. package/dist/types/const/amm/configs/protocols/horiza.d.ts.map +0 -1
  809. package/dist/types/const/amm/configs/protocols/index.d.ts +0 -41
  810. package/dist/types/const/amm/configs/protocols/index.d.ts.map +0 -1
  811. package/dist/types/const/amm/configs/protocols/katana.d.ts +0 -3
  812. package/dist/types/const/amm/configs/protocols/katana.d.ts.map +0 -1
  813. package/dist/types/const/amm/configs/protocols/katanaIntegral.d.ts +0 -3
  814. package/dist/types/const/amm/configs/protocols/katanaIntegral.d.ts.map +0 -1
  815. package/dist/types/const/amm/configs/protocols/kim.d.ts +0 -3
  816. package/dist/types/const/amm/configs/protocols/kim.d.ts.map +0 -1
  817. package/dist/types/const/amm/configs/protocols/kinetix.d.ts +0 -3
  818. package/dist/types/const/amm/configs/protocols/kinetix.d.ts.map +0 -1
  819. package/dist/types/const/amm/configs/protocols/kodiak.d.ts +0 -3
  820. package/dist/types/const/amm/configs/protocols/kodiak.d.ts.map +0 -1
  821. package/dist/types/const/amm/configs/protocols/kyo.d.ts +0 -3
  822. package/dist/types/const/amm/configs/protocols/kyo.d.ts.map +0 -1
  823. package/dist/types/const/amm/configs/protocols/linehub.d.ts +0 -3
  824. package/dist/types/const/amm/configs/protocols/linehub.d.ts.map +0 -1
  825. package/dist/types/const/amm/configs/protocols/lynex.d.ts +0 -3
  826. package/dist/types/const/amm/configs/protocols/lynex.d.ts.map +0 -1
  827. package/dist/types/const/amm/configs/protocols/machinex.d.ts +0 -3
  828. package/dist/types/const/amm/configs/protocols/machinex.d.ts.map +0 -1
  829. package/dist/types/const/amm/configs/protocols/maia.d.ts +0 -3
  830. package/dist/types/const/amm/configs/protocols/maia.d.ts.map +0 -1
  831. package/dist/types/const/amm/configs/protocols/metavault.d.ts +0 -3
  832. package/dist/types/const/amm/configs/protocols/metavault.d.ts.map +0 -1
  833. package/dist/types/const/amm/configs/protocols/nest.d.ts +0 -3
  834. package/dist/types/const/amm/configs/protocols/nest.d.ts.map +0 -1
  835. package/dist/types/const/amm/configs/protocols/novaswap.d.ts +0 -3
  836. package/dist/types/const/amm/configs/protocols/novaswap.d.ts.map +0 -1
  837. package/dist/types/const/amm/configs/protocols/ocelex.d.ts +0 -3
  838. package/dist/types/const/amm/configs/protocols/ocelex.d.ts.map +0 -1
  839. package/dist/types/const/amm/configs/protocols/pancakeswap.d.ts +0 -3
  840. package/dist/types/const/amm/configs/protocols/pancakeswap.d.ts.map +0 -1
  841. package/dist/types/const/amm/configs/protocols/poolshark.d.ts +0 -3
  842. package/dist/types/const/amm/configs/protocols/poolshark.d.ts.map +0 -1
  843. package/dist/types/const/amm/configs/protocols/quickswap-algebra.d.ts +0 -3
  844. package/dist/types/const/amm/configs/protocols/quickswap-algebra.d.ts.map +0 -1
  845. package/dist/types/const/amm/configs/protocols/quickswap-integral.d.ts +0 -3
  846. package/dist/types/const/amm/configs/protocols/quickswap-integral.d.ts.map +0 -1
  847. package/dist/types/const/amm/configs/protocols/quickswap-univ3.d.ts +0 -3
  848. package/dist/types/const/amm/configs/protocols/quickswap-univ3.d.ts.map +0 -1
  849. package/dist/types/const/amm/configs/protocols/quickswap.d.ts +0 -3
  850. package/dist/types/const/amm/configs/protocols/quickswap.d.ts.map +0 -1
  851. package/dist/types/const/amm/configs/protocols/retro.d.ts +0 -3
  852. package/dist/types/const/amm/configs/protocols/retro.d.ts.map +0 -1
  853. package/dist/types/const/amm/configs/protocols/sailor.d.ts +0 -3
  854. package/dist/types/const/amm/configs/protocols/sailor.d.ts.map +0 -1
  855. package/dist/types/const/amm/configs/protocols/shadow.d.ts +0 -3
  856. package/dist/types/const/amm/configs/protocols/shadow.d.ts.map +0 -1
  857. package/dist/types/const/amm/configs/protocols/silverswap.d.ts +0 -3
  858. package/dist/types/const/amm/configs/protocols/silverswap.d.ts.map +0 -1
  859. package/dist/types/const/amm/configs/protocols/spark-integral.d.ts +0 -3
  860. package/dist/types/const/amm/configs/protocols/spark-integral.d.ts.map +0 -1
  861. package/dist/types/const/amm/configs/protocols/spark.d.ts +0 -3
  862. package/dist/types/const/amm/configs/protocols/spark.d.ts.map +0 -1
  863. package/dist/types/const/amm/configs/protocols/spark32.d.ts +0 -3
  864. package/dist/types/const/amm/configs/protocols/spark32.d.ts.map +0 -1
  865. package/dist/types/const/amm/configs/protocols/spookyswap.d.ts +0 -3
  866. package/dist/types/const/amm/configs/protocols/spookyswap.d.ts.map +0 -1
  867. package/dist/types/const/amm/configs/protocols/stellaswap.d.ts +0 -3
  868. package/dist/types/const/amm/configs/protocols/stellaswap.d.ts.map +0 -1
  869. package/dist/types/const/amm/configs/protocols/supswap.d.ts +0 -3
  870. package/dist/types/const/amm/configs/protocols/supswap.d.ts.map +0 -1
  871. package/dist/types/const/amm/configs/protocols/sushi.d.ts +0 -3
  872. package/dist/types/const/amm/configs/protocols/sushi.d.ts.map +0 -1
  873. package/dist/types/const/amm/configs/protocols/swapmode.d.ts +0 -3
  874. package/dist/types/const/amm/configs/protocols/swapmode.d.ts.map +0 -1
  875. package/dist/types/const/amm/configs/protocols/swapsicle.d.ts +0 -3
  876. package/dist/types/const/amm/configs/protocols/swapsicle.d.ts.map +0 -1
  877. package/dist/types/const/amm/configs/protocols/thena.d.ts +0 -3
  878. package/dist/types/const/amm/configs/protocols/thena.d.ts.map +0 -1
  879. package/dist/types/const/amm/configs/protocols/thick.d.ts +0 -3
  880. package/dist/types/const/amm/configs/protocols/thick.d.ts.map +0 -1
  881. package/dist/types/const/amm/configs/protocols/thickv2.d.ts +0 -3
  882. package/dist/types/const/amm/configs/protocols/thickv2.d.ts.map +0 -1
  883. package/dist/types/const/amm/configs/protocols/thruster.d.ts +0 -3
  884. package/dist/types/const/amm/configs/protocols/thruster.d.ts.map +0 -1
  885. package/dist/types/const/amm/configs/protocols/uniswap.d.ts +0 -3
  886. package/dist/types/const/amm/configs/protocols/uniswap.d.ts.map +0 -1
  887. package/dist/types/const/amm/configs/protocols/uniswapv4.d.ts +0 -3
  888. package/dist/types/const/amm/configs/protocols/uniswapv4.d.ts.map +0 -1
  889. package/dist/types/const/amm/configs/protocols/wasabee.d.ts +0 -3
  890. package/dist/types/const/amm/configs/protocols/wasabee.d.ts.map +0 -1
  891. package/dist/types/const/amm/index.d.ts +0 -4
  892. package/dist/types/const/amm/index.d.ts.map +0 -1
  893. package/dist/types/const/amm/utils/beacon.d.ts +0 -38
  894. package/dist/types/const/amm/utils/beacon.d.ts.map +0 -1
  895. package/dist/types/const/amm/utils/contracts.d.ts +0 -83
  896. package/dist/types/const/amm/utils/contracts.d.ts.map +0 -1
  897. package/dist/types/const/amm/utils/index.d.ts +0 -13
  898. package/dist/types/const/amm/utils/index.d.ts.map +0 -1
  899. package/dist/types/const/amm/utils/protocol.d.ts +0 -74
  900. package/dist/types/const/amm/utils/protocol.d.ts.map +0 -1
  901. package/dist/types/const/api.d.ts +0 -17
  902. package/dist/types/const/api.d.ts.map +0 -1
  903. package/dist/types/const/capabilities.d.ts +0 -36
  904. package/dist/types/const/capabilities.d.ts.map +0 -1
  905. package/dist/types/const/chain.d.ts +0 -192
  906. package/dist/types/const/chain.d.ts.map +0 -1
  907. package/dist/types/const/deployments/abis.d.ts +0 -5229
  908. package/dist/types/const/deployments/abis.d.ts.map +0 -1
  909. package/dist/types/const/deployments/apechain.d.ts +0 -7
  910. package/dist/types/const/deployments/apechain.d.ts.map +0 -1
  911. package/dist/types/const/deployments/arbitrum.d.ts +0 -7
  912. package/dist/types/const/deployments/arbitrum.d.ts.map +0 -1
  913. package/dist/types/const/deployments/arbitrumgoerli.d.ts +0 -7
  914. package/dist/types/const/deployments/arbitrumgoerli.d.ts.map +0 -1
  915. package/dist/types/const/deployments/astar.d.ts +0 -7
  916. package/dist/types/const/deployments/astar.d.ts.map +0 -1
  917. package/dist/types/const/deployments/astarzkevm.d.ts +0 -7
  918. package/dist/types/const/deployments/astarzkevm.d.ts.map +0 -1
  919. package/dist/types/const/deployments/avalanche.d.ts +0 -7
  920. package/dist/types/const/deployments/avalanche.d.ts.map +0 -1
  921. package/dist/types/const/deployments/bartiotest.d.ts +0 -7
  922. package/dist/types/const/deployments/bartiotest.d.ts.map +0 -1
  923. package/dist/types/const/deployments/base.d.ts +0 -7
  924. package/dist/types/const/deployments/base.d.ts.map +0 -1
  925. package/dist/types/const/deployments/bera.d.ts +0 -7
  926. package/dist/types/const/deployments/bera.d.ts.map +0 -1
  927. package/dist/types/const/deployments/berachainbartio.d.ts +0 -7
  928. package/dist/types/const/deployments/berachainbartio.d.ts.map +0 -1
  929. package/dist/types/const/deployments/blast.d.ts +0 -7
  930. package/dist/types/const/deployments/blast.d.ts.map +0 -1
  931. package/dist/types/const/deployments/bsc.d.ts +0 -7
  932. package/dist/types/const/deployments/bsc.d.ts.map +0 -1
  933. package/dist/types/const/deployments/celo.d.ts +0 -7
  934. package/dist/types/const/deployments/celo.d.ts.map +0 -1
  935. package/dist/types/const/deployments/core.d.ts +0 -7
  936. package/dist/types/const/deployments/core.d.ts.map +0 -1
  937. package/dist/types/const/deployments/eth.d.ts +0 -7
  938. package/dist/types/const/deployments/eth.d.ts.map +0 -1
  939. package/dist/types/const/deployments/evmos.d.ts +0 -7
  940. package/dist/types/const/deployments/evmos.d.ts.map +0 -1
  941. package/dist/types/const/deployments/fantom.d.ts +0 -7
  942. package/dist/types/const/deployments/fantom.d.ts.map +0 -1
  943. package/dist/types/const/deployments/filecoin.d.ts +0 -7
  944. package/dist/types/const/deployments/filecoin.d.ts.map +0 -1
  945. package/dist/types/const/deployments/flare.d.ts +0 -7
  946. package/dist/types/const/deployments/flare.d.ts.map +0 -1
  947. package/dist/types/const/deployments/goerli.d.ts +0 -7
  948. package/dist/types/const/deployments/goerli.d.ts.map +0 -1
  949. package/dist/types/const/deployments/hemi.d.ts +0 -7
  950. package/dist/types/const/deployments/hemi.d.ts.map +0 -1
  951. package/dist/types/const/deployments/hyperevm.d.ts +0 -7
  952. package/dist/types/const/deployments/hyperevm.d.ts.map +0 -1
  953. package/dist/types/const/deployments/index.d.ts +0 -49
  954. package/dist/types/const/deployments/index.d.ts.map +0 -1
  955. package/dist/types/const/deployments/katana.d.ts +0 -7
  956. package/dist/types/const/deployments/katana.d.ts.map +0 -1
  957. package/dist/types/const/deployments/kava.d.ts +0 -7
  958. package/dist/types/const/deployments/kava.d.ts.map +0 -1
  959. package/dist/types/const/deployments/linea.d.ts +0 -7
  960. package/dist/types/const/deployments/linea.d.ts.map +0 -1
  961. package/dist/types/const/deployments/localhost.d.ts +0 -8
  962. package/dist/types/const/deployments/localhost.d.ts.map +0 -1
  963. package/dist/types/const/deployments/manta.d.ts +0 -7
  964. package/dist/types/const/deployments/manta.d.ts.map +0 -1
  965. package/dist/types/const/deployments/mantle.d.ts +0 -7
  966. package/dist/types/const/deployments/mantle.d.ts.map +0 -1
  967. package/dist/types/const/deployments/metis.d.ts +0 -7
  968. package/dist/types/const/deployments/metis.d.ts.map +0 -1
  969. package/dist/types/const/deployments/mode.d.ts +0 -7
  970. package/dist/types/const/deployments/mode.d.ts.map +0 -1
  971. package/dist/types/const/deployments/moonbeam.d.ts +0 -7
  972. package/dist/types/const/deployments/moonbeam.d.ts.map +0 -1
  973. package/dist/types/const/deployments/mumbai.d.ts +0 -7
  974. package/dist/types/const/deployments/mumbai.d.ts.map +0 -1
  975. package/dist/types/const/deployments/nibiru.d.ts +0 -7
  976. package/dist/types/const/deployments/nibiru.d.ts.map +0 -1
  977. package/dist/types/const/deployments/okxtestnet.d.ts +0 -7
  978. package/dist/types/const/deployments/okxtestnet.d.ts.map +0 -1
  979. package/dist/types/const/deployments/optimism.d.ts +0 -7
  980. package/dist/types/const/deployments/optimism.d.ts.map +0 -1
  981. package/dist/types/const/deployments/optimismgoerli.d.ts +0 -7
  982. package/dist/types/const/deployments/optimismgoerli.d.ts.map +0 -1
  983. package/dist/types/const/deployments/peaq.d.ts +0 -7
  984. package/dist/types/const/deployments/peaq.d.ts.map +0 -1
  985. package/dist/types/const/deployments/polygon.d.ts +0 -7
  986. package/dist/types/const/deployments/polygon.d.ts.map +0 -1
  987. package/dist/types/const/deployments/polyzkevm.d.ts +0 -7
  988. package/dist/types/const/deployments/polyzkevm.d.ts.map +0 -1
  989. package/dist/types/const/deployments/pyzkevm.d.ts +0 -7
  990. package/dist/types/const/deployments/pyzkevm.d.ts.map +0 -1
  991. package/dist/types/const/deployments/ronin.d.ts +0 -7
  992. package/dist/types/const/deployments/ronin.d.ts.map +0 -1
  993. package/dist/types/const/deployments/rootstock.d.ts +0 -7
  994. package/dist/types/const/deployments/rootstock.d.ts.map +0 -1
  995. package/dist/types/const/deployments/saga.d.ts +0 -7
  996. package/dist/types/const/deployments/saga.d.ts.map +0 -1
  997. package/dist/types/const/deployments/scroll.d.ts +0 -7
  998. package/dist/types/const/deployments/scroll.d.ts.map +0 -1
  999. package/dist/types/const/deployments/sei.d.ts +0 -7
  1000. package/dist/types/const/deployments/sei.d.ts.map +0 -1
  1001. package/dist/types/const/deployments/soneium.d.ts +0 -7
  1002. package/dist/types/const/deployments/soneium.d.ts.map +0 -1
  1003. package/dist/types/const/deployments/sonic.d.ts +0 -7
  1004. package/dist/types/const/deployments/sonic.d.ts.map +0 -1
  1005. package/dist/types/const/deployments/taiko.d.ts +0 -7
  1006. package/dist/types/const/deployments/taiko.d.ts.map +0 -1
  1007. package/dist/types/const/deployments/tataratestnet.d.ts +0 -7
  1008. package/dist/types/const/deployments/tataratestnet.d.ts.map +0 -1
  1009. package/dist/types/const/deployments/telos.d.ts +0 -7
  1010. package/dist/types/const/deployments/telos.d.ts.map +0 -1
  1011. package/dist/types/const/deployments/thundercore.d.ts +0 -7
  1012. package/dist/types/const/deployments/thundercore.d.ts.map +0 -1
  1013. package/dist/types/const/deployments/uni.d.ts +0 -7
  1014. package/dist/types/const/deployments/uni.d.ts.map +0 -1
  1015. package/dist/types/const/deployments/xlayer.d.ts +0 -7
  1016. package/dist/types/const/deployments/xlayer.d.ts.map +0 -1
  1017. package/dist/types/const/deployments/zeta.d.ts +0 -7
  1018. package/dist/types/const/deployments/zeta.d.ts.map +0 -1
  1019. package/dist/types/const/deployments/zircuit.d.ts +0 -7
  1020. package/dist/types/const/deployments/zircuit.d.ts.map +0 -1
  1021. package/dist/types/const/deployments/zklinknova.d.ts +0 -7
  1022. package/dist/types/const/deployments/zklinknova.d.ts.map +0 -1
  1023. package/dist/types/const/feeManagerContracts.d.ts +0 -6
  1024. package/dist/types/const/feeManagerContracts.d.ts.map +0 -1
  1025. package/dist/types/const/index.d.ts +0 -13
  1026. package/dist/types/const/index.d.ts.map +0 -1
  1027. package/dist/types/const/network.d.ts +0 -121
  1028. package/dist/types/const/network.d.ts.map +0 -1
  1029. package/dist/types/const/protocol.d.ts +0 -109
  1030. package/dist/types/const/protocol.d.ts.map +0 -1
  1031. package/dist/types/const/quoter.d.ts +0 -456
  1032. package/dist/types/const/quoter.d.ts.map +0 -1
  1033. package/dist/types/const/stabilityVaults/index.d.ts +0 -2
  1034. package/dist/types/const/stabilityVaults/index.d.ts.map +0 -1
  1035. package/dist/types/const/stabilityVaults/stabilityVaultsConfig.d.ts +0 -25
  1036. package/dist/types/const/stabilityVaults/stabilityVaultsConfig.d.ts.map +0 -1
  1037. package/dist/types/const/subgraph.d.ts +0 -39
  1038. package/dist/types/const/subgraph.d.ts.map +0 -1
  1039. package/dist/types/const/thegraph.d.ts +0 -2
  1040. package/dist/types/const/thegraph.d.ts.map +0 -1
  1041. package/dist/types/index.d.ts +0 -78
  1042. package/dist/types/index.d.ts.map +0 -1
  1043. package/dist/types/scripts/processDeployments.d.ts +0 -2
  1044. package/dist/types/scripts/processDeployments.d.ts.map +0 -1
  1045. package/dist/types/types.d.ts +0 -219
  1046. package/dist/types/types.d.ts.map +0 -1
  1047. package/dist/types/utils/PoolQueryAdapter.d.ts +0 -114
  1048. package/dist/types/utils/PoolQueryAdapter.d.ts.map +0 -1
  1049. package/dist/types/utils/SubgraphVaultClient.d.ts +0 -35
  1050. package/dist/types/utils/SubgraphVaultClient.d.ts.map +0 -1
  1051. package/dist/types/utils/subgraph-types.d.ts +0 -109
  1052. package/dist/types/utils/subgraph-types.d.ts.map +0 -1
  1053. package/src/__tests__/base/FeeManagerClient.test.ts +0 -706
  1054. package/src/__tests__/base/PoolClient.test.ts +0 -793
  1055. package/src/__tests__/base/SmartRewards.test.ts +0 -465
  1056. package/src/__tests__/base/StakingClient.test.ts +0 -772
  1057. package/src/__tests__/base/SubgraphClient.test.ts +0 -99
  1058. package/src/__tests__/base/VaultClient.protocol-filter.test.ts +0 -106
  1059. package/src/__tests__/base/VaultClient.test.ts +0 -1412
  1060. package/src/__tests__/base/vault/single-asset/calculateLimitPrice.test.ts +0 -342
  1061. package/src/__tests__/base/vault/single-asset/calculateSwapAmount.test.ts +0 -325
  1062. package/src/__tests__/base/vault/single-asset/estimateLpTokens.test.ts +0 -147
  1063. package/src/__tests__/base/vault/single-asset/simulateSwap.test.ts +0 -446
  1064. package/src/__tests__/base/vault/single-asset/singleAssetDepositClient.test.ts +0 -197
  1065. package/src/__tests__/client.test.ts +0 -48
  1066. package/src/__tests__/const/capabilities.test.ts +0 -24
  1067. package/src/__tests__/const/network.feeManager.test.ts +0 -47
  1068. package/src/__tests__/fixtures/live/single-asset.fixture.json +0 -116
  1069. package/src/__tests__/fixtures/live/staking-pools.fixture.json +0 -353
  1070. package/src/__tests__/fixtures/live/vaults.fixture.json +0 -5392
  1071. package/src/base/FeeManagerClient.ts +0 -711
  1072. package/src/base/PoolClient.ts +0 -877
  1073. package/src/base/SmartRewardClient.ts +0 -57
  1074. package/src/base/SmartRewards.ts +0 -783
  1075. package/src/base/StakingClient.ts +0 -917
  1076. package/src/base/SubgraphClient.ts +0 -93
  1077. package/src/base/VaultClient.ts +0 -2294
  1078. package/src/base/vault/deposit/index.ts +0 -705
  1079. package/src/base/vault/deposit/types.ts +0 -49
  1080. package/src/base/vault/single-asset/README.md +0 -541
  1081. package/src/base/vault/single-asset/calculateLimitPrice.ts +0 -279
  1082. package/src/base/vault/single-asset/calculateSwapAmount.ts +0 -74
  1083. package/src/base/vault/single-asset/estimateLpTokens.ts +0 -393
  1084. package/src/base/vault/single-asset/index.ts +0 -85
  1085. package/src/base/vault/single-asset/readmes/API_REFERENCE.md +0 -478
  1086. package/src/base/vault/single-asset/readmes/calculateLimitPrice.md +0 -455
  1087. package/src/base/vault/single-asset/readmes/calculateSwapAmount.md +0 -345
  1088. package/src/base/vault/single-asset/readmes/estimateLpTokens.md +0 -585
  1089. package/src/base/vault/single-asset/readmes/index.md +0 -174
  1090. package/src/base/vault/single-asset/readmes/simulateSwap.md +0 -612
  1091. package/src/base/vault/single-asset/simulateSwap.ts +0 -451
  1092. package/src/base/vault/single-asset/singleAssetDeposit.ts +0 -411
  1093. package/src/base/vault/single-asset/types.ts +0 -186
  1094. package/src/base/vault/utils.ts +0 -633
  1095. package/src/base/vault/withdraw/index.ts +0 -187
  1096. package/src/base/vault/withdraw/types.ts +0 -14
  1097. package/src/client.ts +0 -161
  1098. package/src/const/abis/UniswapPool.ts +0 -1
  1099. package/src/const/abis/erc1155.ts +0 -314
  1100. package/src/const/abis/erc20.ts +0 -224
  1101. package/src/const/abis/erc721.ts +0 -346
  1102. package/src/const/abis/feeManager.ts +0 -672
  1103. package/src/const/abis/index.ts +0 -8
  1104. package/src/const/abis/quoter.ts +0 -1585
  1105. package/src/const/abis/singleTokenDeposit.ts +0 -921
  1106. package/src/const/abis/vaultFees.ts +0 -40
  1107. package/src/const/amm/configs/ammConfig.ts +0 -133
  1108. package/src/const/amm/configs/protocols/aerodrome-v2.ts +0 -18
  1109. package/src/const/amm/configs/protocols/aerodrome.ts +0 -18
  1110. package/src/const/amm/configs/protocols/arthswap.ts +0 -21
  1111. package/src/const/amm/configs/protocols/baseswap.ts +0 -17
  1112. package/src/const/amm/configs/protocols/basex.ts +0 -20
  1113. package/src/const/amm/configs/protocols/beam.ts +0 -16
  1114. package/src/const/amm/configs/protocols/beamswap.ts +0 -17
  1115. package/src/const/amm/configs/protocols/blackhole.ts +0 -22
  1116. package/src/const/amm/configs/protocols/camelot.ts +0 -26
  1117. package/src/const/amm/configs/protocols/crust.ts +0 -16
  1118. package/src/const/amm/configs/protocols/cypher.ts +0 -20
  1119. package/src/const/amm/configs/protocols/dodo.ts +0 -17
  1120. package/src/const/amm/configs/protocols/dragonswap.ts +0 -16
  1121. package/src/const/amm/configs/protocols/eddy.ts +0 -17
  1122. package/src/const/amm/configs/protocols/equilibre.ts +0 -17
  1123. package/src/const/amm/configs/protocols/fenix.ts +0 -17
  1124. package/src/const/amm/configs/protocols/forge.ts +0 -22
  1125. package/src/const/amm/configs/protocols/fusionx.ts +0 -21
  1126. package/src/const/amm/configs/protocols/glyph.ts +0 -22
  1127. package/src/const/amm/configs/protocols/henjin.ts +0 -17
  1128. package/src/const/amm/configs/protocols/hercules.ts +0 -16
  1129. package/src/const/amm/configs/protocols/horiza.ts +0 -23
  1130. package/src/const/amm/configs/protocols/index.ts +0 -40
  1131. package/src/const/amm/configs/protocols/katana.ts +0 -15
  1132. package/src/const/amm/configs/protocols/katanaIntegral.ts +0 -15
  1133. package/src/const/amm/configs/protocols/kim.ts +0 -24
  1134. package/src/const/amm/configs/protocols/kinetix.ts +0 -23
  1135. package/src/const/amm/configs/protocols/kodiak.ts +0 -21
  1136. package/src/const/amm/configs/protocols/kyo.ts +0 -20
  1137. package/src/const/amm/configs/protocols/linehub.ts +0 -17
  1138. package/src/const/amm/configs/protocols/lynex.ts +0 -23
  1139. package/src/const/amm/configs/protocols/machinex.ts +0 -22
  1140. package/src/const/amm/configs/protocols/maia.ts +0 -22
  1141. package/src/const/amm/configs/protocols/metavault.ts +0 -23
  1142. package/src/const/amm/configs/protocols/nest.ts +0 -19
  1143. package/src/const/amm/configs/protocols/novaswap.ts +0 -16
  1144. package/src/const/amm/configs/protocols/ocelex.ts +0 -17
  1145. package/src/const/amm/configs/protocols/pancakeswap.ts +0 -26
  1146. package/src/const/amm/configs/protocols/poolshark.ts +0 -17
  1147. package/src/const/amm/configs/protocols/quickswap-algebra.ts +0 -20
  1148. package/src/const/amm/configs/protocols/quickswap-integral.ts +0 -29
  1149. package/src/const/amm/configs/protocols/quickswap-univ3.ts +0 -29
  1150. package/src/const/amm/configs/protocols/quickswap.ts +0 -29
  1151. package/src/const/amm/configs/protocols/retro.ts +0 -23
  1152. package/src/const/amm/configs/protocols/sailor.ts +0 -16
  1153. package/src/const/amm/configs/protocols/shadow.ts +0 -18
  1154. package/src/const/amm/configs/protocols/silverswap.ts +0 -22
  1155. package/src/const/amm/configs/protocols/spark-integral.ts +0 -19
  1156. package/src/const/amm/configs/protocols/spark.ts +0 -17
  1157. package/src/const/amm/configs/protocols/spark32.ts +0 -17
  1158. package/src/const/amm/configs/protocols/spookyswap.ts +0 -16
  1159. package/src/const/amm/configs/protocols/stellaswap.ts +0 -23
  1160. package/src/const/amm/configs/protocols/supswap.ts +0 -17
  1161. package/src/const/amm/configs/protocols/sushi.ts +0 -86
  1162. package/src/const/amm/configs/protocols/swapmode.ts +0 -17
  1163. package/src/const/amm/configs/protocols/swapsicle.ts +0 -17
  1164. package/src/const/amm/configs/protocols/thena.ts +0 -22
  1165. package/src/const/amm/configs/protocols/thick.ts +0 -19
  1166. package/src/const/amm/configs/protocols/thickv2.ts +0 -17
  1167. package/src/const/amm/configs/protocols/thruster.ts +0 -19
  1168. package/src/const/amm/configs/protocols/uniswap.ts +0 -98
  1169. package/src/const/amm/configs/protocols/uniswapv4.ts +0 -31
  1170. package/src/const/amm/configs/protocols/wasabee.ts +0 -16
  1171. package/src/const/amm/index.ts +0 -3
  1172. package/src/const/amm/utils/beacon.ts +0 -222
  1173. package/src/const/amm/utils/contracts.ts +0 -162
  1174. package/src/const/amm/utils/index.ts +0 -127
  1175. package/src/const/amm/utils/protocol.ts +0 -171
  1176. package/src/const/api.ts +0 -27
  1177. package/src/const/capabilities.ts +0 -115
  1178. package/src/const/chain.ts +0 -249
  1179. package/src/const/deployments/abis.ts +0 -6752
  1180. package/src/const/deployments/apechain.ts +0 -17
  1181. package/src/const/deployments/arbitrum.ts +0 -26
  1182. package/src/const/deployments/arbitrumgoerli.ts +0 -16
  1183. package/src/const/deployments/astar.ts +0 -16
  1184. package/src/const/deployments/astarzkevm.ts +0 -16
  1185. package/src/const/deployments/avalanche.ts +0 -45
  1186. package/src/const/deployments/bartiotest.ts +0 -16
  1187. package/src/const/deployments/base.ts +0 -24
  1188. package/src/const/deployments/bera.ts +0 -16
  1189. package/src/const/deployments/berachainbartio.ts +0 -40
  1190. package/src/const/deployments/blast.ts +0 -16
  1191. package/src/const/deployments/bsc.ts +0 -16
  1192. package/src/const/deployments/celo.ts +0 -16
  1193. package/src/const/deployments/core.ts +0 -16
  1194. package/src/const/deployments/eth.ts +0 -22
  1195. package/src/const/deployments/evmos.ts +0 -16
  1196. package/src/const/deployments/fantom.ts +0 -16
  1197. package/src/const/deployments/filecoin.ts +0 -16
  1198. package/src/const/deployments/flare.ts +0 -16
  1199. package/src/const/deployments/goerli.ts +0 -16
  1200. package/src/const/deployments/hemi.ts +0 -16
  1201. package/src/const/deployments/hyperevm.ts +0 -49
  1202. package/src/const/deployments/index.ts +0 -49
  1203. package/src/const/deployments/katana.ts +0 -48
  1204. package/src/const/deployments/kava.ts +0 -16
  1205. package/src/const/deployments/linea.ts +0 -16
  1206. package/src/const/deployments/localhost.ts +0 -8
  1207. package/src/const/deployments/manta.ts +0 -16
  1208. package/src/const/deployments/mantle.ts +0 -16
  1209. package/src/const/deployments/metis.ts +0 -16
  1210. package/src/const/deployments/mode.ts +0 -16
  1211. package/src/const/deployments/moonbeam.ts +0 -16
  1212. package/src/const/deployments/mumbai.ts +0 -16
  1213. package/src/const/deployments/nibiru.ts +0 -49
  1214. package/src/const/deployments/okxtestnet.ts +0 -16
  1215. package/src/const/deployments/optimism.ts +0 -16
  1216. package/src/const/deployments/optimismgoerli.ts +0 -16
  1217. package/src/const/deployments/peaq.ts +0 -25
  1218. package/src/const/deployments/polygon.ts +0 -25
  1219. package/src/const/deployments/polyzkevm.ts +0 -16
  1220. package/src/const/deployments/pyzkevm.ts +0 -9
  1221. package/src/const/deployments/ronin.ts +0 -17
  1222. package/src/const/deployments/rootstock.ts +0 -16
  1223. package/src/const/deployments/saga.ts +0 -49
  1224. package/src/const/deployments/scroll.ts +0 -16
  1225. package/src/const/deployments/sei.ts +0 -16
  1226. package/src/const/deployments/soneium.ts +0 -16
  1227. package/src/const/deployments/sonic.ts +0 -16
  1228. package/src/const/deployments/taiko.ts +0 -16
  1229. package/src/const/deployments/tataratestnet.ts +0 -16
  1230. package/src/const/deployments/telos.ts +0 -16
  1231. package/src/const/deployments/thundercore.ts +0 -16
  1232. package/src/const/deployments/uni.ts +0 -16
  1233. package/src/const/deployments/xlayer.ts +0 -16
  1234. package/src/const/deployments/zeta.ts +0 -16
  1235. package/src/const/deployments/zircuit.ts +0 -16
  1236. package/src/const/deployments/zklinknova.ts +0 -21
  1237. package/src/const/feeManagerContracts.ts +0 -28
  1238. package/src/const/index.ts +0 -12
  1239. package/src/const/network.ts +0 -644
  1240. package/src/const/protocol.ts +0 -239
  1241. package/src/const/quoter.ts +0 -571
  1242. package/src/const/stabilityVaults/index.ts +0 -2
  1243. package/src/const/stabilityVaults/stabilityVaultsConfig.ts +0 -41
  1244. package/src/const/subgraph.ts +0 -157
  1245. package/src/const/thegraph.ts +0 -3
  1246. package/src/index.ts +0 -78
  1247. package/src/scripts/processDeployments.ts +0 -175
  1248. package/src/types.ts +0 -206
  1249. package/src/utils/PoolQueryAdapter.ts +0 -943
  1250. package/src/utils/SubgraphVaultClient.ts +0 -490
  1251. package/src/utils/subgraph-types.ts +0 -118
@@ -1,2294 +0,0 @@
1
- import { createClient } from '@steerprotocol/api-sdk';
2
- import { Pool as PoolV3 } from "@uniswap/v3-sdk";
3
- import type { Address, Hash, PublicClient, WalletClient } from 'viem';
4
- import { chainIdToName, getBeaconNameByProtocol, getProtocolTypeByBeacon } from '../const/index.js';
5
- import { getAmmConfig } from '../const/amm/configs/ammConfig.js';
6
- import { getProtocolsForChainId } from '../const/amm/utils/protocol.js';
7
- import { ChainId, MultiPositionManagers, Protocol } from '../const/chain.js';
8
- import { steerSubgraphConfig } from '../const/subgraph.js';
9
- import { SubgraphVaultClient } from '../utils/SubgraphVaultClient.js';
10
- import { getApiUrl } from '../const/api.js';
11
- import { abis } from '../const/deployments/abis.js';
12
- import { SteerResponse, VaultDetailsResponse } from '../types.js';
13
- import { SubgraphClient } from './SubgraphClient.js';
14
- import { VaultDepositClient } from './vault/deposit/index.js';
15
- import { PoolInstanceParams, VaultDepositParams } from './vault/deposit/types.js';
16
- import { SingleAssetDepositClient } from './vault/single-asset/index.js';
17
- import type {
18
- SingleAssetDepositParams,
19
- SingleAssetDepositPreview
20
- } from './vault/single-asset/types.js';
21
- import { VaultWithdrawClient } from './vault/withdraw/index.js';
22
- import { TokensFromLpResponse, VaultWithdrawParams } from './vault/withdraw/types.js';
23
- export * from "./vault/single-asset/index.js";
24
-
25
- const VAULT_ABI = abis.QuickSwapUniv3MultiPositionLiquidityManager;
26
-
27
- // Custom ABI for reward functions
28
- const REWARD_FUNCTIONS_ABI = [
29
- {
30
- "type": "function",
31
- "name": "calculatePendingRewards",
32
- "inputs": [
33
- {
34
- "name": "user",
35
- "type": "address",
36
- "internalType": "address"
37
- }
38
- ],
39
- "outputs": [
40
- {
41
- "name": "rewards",
42
- "type": "uint256",
43
- "internalType": "uint256"
44
- },
45
- {
46
- "name": "extraRewards",
47
- "type": "uint256",
48
- "internalType": "uint256"
49
- }
50
- ],
51
- "stateMutability": "view"
52
- },
53
- {
54
- "inputs": [],
55
- "name": "claimUserRewards",
56
- "outputs": [
57
- {
58
- "internalType": "uint256",
59
- "name": "",
60
- "type": "uint256"
61
- },
62
- {
63
- "internalType": "uint256",
64
- "name": "",
65
- "type": "uint256"
66
- }
67
- ],
68
- "stateMutability": "nonpayable",
69
- "type": "function"
70
- },
71
-
72
- ] as const;
73
-
74
- export interface VaultApproveParams {
75
- vaultAddress: Address;
76
- spender: Address;
77
- amount: bigint;
78
- }
79
-
80
- export interface VaultAllowanceParams {
81
- vaultAddress: Address;
82
- owner: Address;
83
- spender: Address;
84
- }
85
-
86
- export interface VaultBalanceParams {
87
- vaultAddress: Address;
88
- account: Address;
89
- }
90
-
91
- // Pagination interfaces matching API SDK types
92
- export interface ApiPageInfo {
93
- hasNextPage: boolean;
94
- endCursor: string | null;
95
- }
96
-
97
- export interface VaultNode {
98
- id: string;
99
- chainId: number;
100
- vaultAddress: string;
101
- protocol: string;
102
- beaconName: string;
103
- protocolBaseType: string;
104
- name: string;
105
- feeApr?: number;
106
- stakingApr?: number;
107
- merklApr?: number;
108
- /** Raw positions from the subgraph. Only available when sourced from subgraph. */
109
- positions?: {
110
- id: string;
111
- upperTick: number;
112
- lowerTick: number;
113
- relativeWeight: string;
114
- }[];
115
- /** Computed tick range across all current positions (min lower / max upper). Only available when sourced from subgraph. */
116
- tickRange?: {
117
- minLowerTick: number;
118
- maxUpperTick: number;
119
- };
120
- /** Cumulative fees collected by the vault. Only available when sourced from subgraph. */
121
- fees?: {
122
- fees0: string;
123
- fees1: string;
124
- };
125
- pool: {
126
- poolAddress: string;
127
- id: string;
128
- feeTier: string;
129
- tick?: string;
130
- liquidity?: string;
131
- volumeUSD?: string;
132
- totalValueLockedUSD?: string;
133
- };
134
- token0: {
135
- id: string;
136
- symbol: string;
137
- name: string;
138
- decimals: number;
139
- address: string;
140
- chainId: number;
141
- };
142
- token1: {
143
- id: string;
144
- symbol: string;
145
- name: string;
146
- decimals: number;
147
- address: string;
148
- chainId: number;
149
- };
150
- }
151
-
152
- export interface VaultEdge {
153
- cursor: string;
154
- node: VaultNode;
155
- }
156
-
157
- export interface VaultsConnection {
158
- edges: readonly VaultEdge[];
159
- pageInfo: ApiPageInfo;
160
- totalCount: number;
161
- }
162
-
163
- export interface TokenNode {
164
- id: string;
165
- symbol: string;
166
- name: string;
167
- decimals: number;
168
- chainId: number;
169
- address: string;
170
- }
171
-
172
- export interface TokenEdge {
173
- cursor: string;
174
- node: TokenNode;
175
- }
176
-
177
- export interface TokensConnection {
178
- edges: readonly TokenEdge[];
179
- pageInfo: ApiPageInfo;
180
- totalCount: number;
181
- }
182
-
183
- export interface PoolNode {
184
- id: string;
185
- chainId: number;
186
- feeTier: string;
187
- token0: {
188
- id: string;
189
- symbol: string;
190
- name: string;
191
- decimals: number;
192
- address: string;
193
- chainId: number;
194
- };
195
- token1: {
196
- id: string;
197
- symbol: string;
198
- name: string;
199
- decimals: number;
200
- address: string;
201
- chainId: number;
202
- };
203
- }
204
-
205
- export interface PoolEdge {
206
- cursor: string;
207
- node: PoolNode;
208
- }
209
-
210
- export interface PoolsConnection {
211
- edges: readonly PoolEdge[];
212
- pageInfo: ApiPageInfo;
213
- totalCount: number;
214
- }
215
-
216
- export interface VaultFilter {
217
- chainId?: number;
218
- protocol?: string;
219
- isActive?: boolean;
220
- beaconName?: string;
221
- poolAddress?: string;
222
- vaultAddress?: string;
223
- tokenAddress?: string;
224
- tokenAddresses?: string[];
225
- tokenSymbol?: string;
226
- tokenSymbols?: string[];
227
- }
228
-
229
- // API-specific filter that excludes protocol field
230
- export interface ApiVaultFilter {
231
- chainId?: number;
232
- isActive?: boolean;
233
- beaconName?: string;
234
- pool?: string;
235
- }
236
-
237
- export interface TokenFilter {
238
- chainId?: number;
239
- symbol?: string;
240
- }
241
-
242
- export interface PoolFilter {
243
- chainId?: number;
244
- protocol?: string;
245
- minLiquidity?: string;
246
- }
247
-
248
- export interface VaultApr {
249
- apr: {
250
- apr: number;
251
- message: string;
252
- };
253
- beaconName: string;
254
- vaultAddress: string;
255
- }
256
-
257
- export interface AprResponse {
258
- vaults: VaultApr[];
259
- }
260
-
261
- export interface AprFilter {
262
- chainId: number;
263
- protocol: string;
264
- }
265
-
266
- export interface PendingRewardsParams {
267
- vaultAddress: Address;
268
- user: Address;
269
- }
270
-
271
- export interface PendingRewardsResponse {
272
- rewards: bigint;
273
- extraRewards: bigint;
274
- }
275
-
276
- export interface ClaimRewardsParams {
277
- vaultAddress: Address;
278
- }
279
-
280
- export interface BlackholeAprDetailedParams {
281
- vaultAddress: Address;
282
- chainId: number;
283
- }
284
-
285
- export interface BlackholeSnapshotAnalysis {
286
- period: number;
287
- fromTimestamp: number;
288
- toTimestamp: number;
289
- fromDate: string;
290
- toDate: string;
291
- durationSeconds: number;
292
- durationHours: number;
293
- tvlUSD: number;
294
- feesUSD: number;
295
- apr: number;
296
- }
297
-
298
- export interface BlackholeAprDetailedResponse {
299
- vaultAddress: string;
300
- beaconName: string;
301
- apr: {
302
- apr: number;
303
- message: string;
304
- };
305
- snapshotAnalysis: BlackholeSnapshotAnalysis[];
306
- }
307
-
308
- /**
309
- * Client for interacting with Steer Protocol's Vault system.
310
- * This client provides functionality for vault operations, deposit/withdraw, and comprehensive data fetching.
311
- *
312
- * **Features:**
313
- * - Vault data includes associated pool information (pool address, fee tier) along with token details
314
- * - Full pagination support for all data fetching methods
315
- * - API client integration for efficient data retrieval
316
- * - Backward compatibility with subgraph queries
317
- *
318
- * **Available API Client Methods:**
319
- * - `getVaults()` - Get vaults with pagination and filtering
320
- * - `getTokens()` - Get tokens with pagination and filtering
321
- * - `getPools()` - Get pools with pagination and filtering
322
- * - `getAllVaults()` - Get all vaults (auto-pagination)
323
- * - `getAllTokens()` - Get all tokens (auto-pagination)
324
- * - `getAllPools()` - Get all pools (auto-pagination)
325
- *
326
- * @example
327
- * ```typescript
328
- * import { createPublicClient, createWalletClient, http } from 'viem';
329
- * import { mainnet } from 'viem/chains';
330
- * import { VaultClient } from '@steerprotocol/sdk';
331
- *
332
- * // Create viem clients
333
- * const publicClient = createPublicClient({
334
- * chain: mainnet,
335
- * transport: http()
336
- * });
337
- *
338
- * const walletClient = createWalletClient({
339
- * chain: mainnet,
340
- * transport: http()
341
- * });
342
- *
343
- * // Initialize the Vault client
344
- * const vaultClient = new VaultClient(publicClient, walletClient, 'production');
345
- *
346
- * // Get vaults with pagination - includes pool information
347
- * const vaults = await vaultClient.getVaults({ chainId: 1 }, 10, null);
348
- *
349
- * if (vaults.success && vaults.data) {
350
- * vaults.data.edges.forEach((edge) => {
351
- * const vault = edge.node;
352
- * console.log(`${vault.token0.symbol}/${vault.token1.symbol} vault`);
353
- * console.log(`Pool: ${vault.pool.id} (${vault.pool.feeTier} fee tier)`);
354
- * console.log(`Protocol: ${vault.protocol} (${vault.beaconName})`);
355
- * });
356
- * }
357
- *
358
- * // Get all tokens for a chain
359
- * const allTokens = await vaultClient.getAllTokens({ chainId: 1 });
360
- *
361
- * // Get pools with specific filters
362
- * const pools = await vaultClient.getPools({
363
- * chainId: 1,
364
- * protocol: 'uniswap-v3'
365
- * });
366
- *
367
- * // Traditional vault operations
368
- * const depositTx = await vaultClient.deposit(depositParams);
369
- * const withdrawTx = await vaultClient.withdraw(withdrawParams);
370
- * ```
371
- *
372
- * @group Client
373
- */
374
- export class VaultClient extends SubgraphClient {
375
- protected readonly apiClient: ReturnType<typeof createClient>;
376
- protected readonly publicClient: PublicClient;
377
- protected readonly walletClient: WalletClient;
378
- private readonly depositClient: VaultDepositClient;
379
- private readonly withdrawClient: VaultWithdrawClient;
380
- public readonly singleAssetDepositClient: SingleAssetDepositClient;
381
- private readonly subgraphVaultClient: SubgraphVaultClient;
382
- private readonly subgraphStudioKey: string;
383
-
384
- /**
385
- * Creates a new instance of VaultClient
386
- * @param publicClient - The public client for reading from the blockchain
387
- * @param walletClient - The wallet client for writing to the blockchain
388
- * @param environment - The environment to use ('production' or 'development')
389
- * @param version - Optional API version to use (defaults to 'v1')
390
- * @param subgraphStudioKey - Optional subgraph studio key for protocol data fetching
391
- */
392
- constructor(
393
- publicClient: PublicClient,
394
- walletClient: WalletClient,
395
- environment: 'production' | 'development',
396
- version: 'v1' = 'v1',
397
- subgraphStudioKey?: string
398
- ) {
399
- const combinedClient = publicClient as PublicClient & WalletClient;
400
- super(combinedClient);
401
-
402
- const apiUrl = getApiUrl(environment, version);
403
- this.apiClient = createClient(apiUrl);
404
- this.publicClient = publicClient;
405
- this.walletClient = walletClient;
406
- this.depositClient = new VaultDepositClient(publicClient, walletClient);
407
- this.withdrawClient = new VaultWithdrawClient(publicClient, walletClient);
408
- this.singleAssetDepositClient = new SingleAssetDepositClient(publicClient, walletClient);
409
- this.subgraphVaultClient = new SubgraphVaultClient();
410
- this.subgraphStudioKey = subgraphStudioKey || '';
411
- }
412
-
413
- private normalizeProtocolValue(value: string): string {
414
- return value.toLowerCase().replace(/[^a-z0-9]/g, '');
415
- }
416
-
417
- private resolveProtocolEnum(protocol?: string): Protocol | null {
418
- if (!protocol) {
419
- return null;
420
- }
421
-
422
- const normalizedProtocol = this.normalizeProtocolValue(protocol);
423
- const matchedProtocol = Object.values(Protocol).find(
424
- protocolValue => this.normalizeProtocolValue(protocolValue) === normalizedProtocol
425
- );
426
-
427
- return matchedProtocol || null;
428
- }
429
-
430
- private getProtocolBeaconNames(protocol?: string): string[] {
431
- const resolvedProtocol = this.resolveProtocolEnum(protocol);
432
- if (!resolvedProtocol) {
433
- return [];
434
- }
435
-
436
- const protocolConfig = getAmmConfig(this.subgraphStudioKey)[resolvedProtocol];
437
- const beaconNames: string[] = [];
438
-
439
- if (protocolConfig?.beaconContract) {
440
- beaconNames.push(protocolConfig.beaconContract);
441
- }
442
-
443
- if (protocolConfig?.beaconContractSushiManaged) {
444
- beaconNames.push(protocolConfig.beaconContractSushiManaged);
445
- }
446
-
447
- if (resolvedProtocol === Protocol.Blackhole) {
448
- beaconNames.push(MultiPositionManagers.MultiPositionBlackholeOld);
449
- }
450
-
451
- const beaconAlias = getBeaconNameByProtocol(resolvedProtocol);
452
- if (beaconAlias) {
453
- beaconNames.push(beaconAlias);
454
- }
455
-
456
- return [...new Set(beaconNames.filter(name => name.length > 0))];
457
- }
458
-
459
- private getPrimaryProtocolBeaconName(protocol?: string): string | null {
460
- const resolvedProtocol = this.resolveProtocolEnum(protocol);
461
- if (!resolvedProtocol) {
462
- return null;
463
- }
464
-
465
- const protocolConfig = getAmmConfig(this.subgraphStudioKey)[resolvedProtocol];
466
- return protocolConfig?.beaconContract || null;
467
- }
468
-
469
- private buildApiVaultFilter(filter?: VaultFilter): ApiVaultFilter | undefined {
470
- if (!filter) {
471
- return undefined;
472
- }
473
-
474
- const { protocol, poolAddress, chainId, isActive, beaconName } = filter;
475
- const apiFilter: ApiVaultFilter = {
476
- chainId,
477
- isActive,
478
- beaconName,
479
- };
480
-
481
- if (poolAddress) {
482
- apiFilter.pool = poolAddress;
483
- }
484
-
485
- if (!apiFilter.beaconName && protocol) {
486
- const primaryBeaconName = this.getPrimaryProtocolBeaconName(protocol);
487
- if (primaryBeaconName) {
488
- apiFilter.beaconName = primaryBeaconName;
489
- }
490
- }
491
-
492
- return apiFilter;
493
- }
494
-
495
- private vaultMatchesProtocolFilter(
496
- vault: VaultNode,
497
- protocolFilter: string,
498
- resolvedProtocol: Protocol | null
499
- ): boolean {
500
- const normalizedFilter = this.normalizeProtocolValue(protocolFilter);
501
- const normalizedBeaconName = this.normalizeProtocolValue(vault.beaconName);
502
- const resolvedVaultProtocol = getProtocolTypeByBeacon(vault.beaconName);
503
-
504
- const directCandidates = [vault.protocol, vault.protocolBaseType, resolvedVaultProtocol || ''];
505
- const hasDirectMatch = directCandidates.some(candidate => {
506
- if (!candidate) {
507
- return false;
508
- }
509
- return this.normalizeProtocolValue(candidate) === normalizedFilter;
510
- });
511
-
512
- if (hasDirectMatch) {
513
- return true;
514
- }
515
-
516
- const expectedBeacon = resolvedProtocol
517
- ? getBeaconNameByProtocol(resolvedProtocol)
518
- : protocolFilter;
519
- const normalizedExpectedBeacon = this.normalizeProtocolValue(expectedBeacon);
520
-
521
- return normalizedExpectedBeacon.length > 0 && normalizedBeaconName.includes(normalizedExpectedBeacon);
522
- }
523
-
524
- private applyProtocolFilter(vaultsConnection: VaultsConnection, protocol?: string): VaultsConnection {
525
- if (!protocol) {
526
- return vaultsConnection;
527
- }
528
-
529
- const resolvedProtocol = this.resolveProtocolEnum(protocol);
530
- const filteredEdges = vaultsConnection.edges.filter(edge =>
531
- this.vaultMatchesProtocolFilter(edge.node, protocol, resolvedProtocol)
532
- );
533
-
534
- return {
535
- ...vaultsConnection,
536
- edges: filteredEdges
537
- };
538
- }
539
-
540
- private normalizeAddress(value?: string): string {
541
- return value?.toLowerCase() || '';
542
- }
543
-
544
- private normalizeSymbol(value?: string): string {
545
- return value?.trim().toLowerCase() || '';
546
- }
547
-
548
- private matchesAnyAddress(candidates: Array<string | undefined>, filterValues: string[]): boolean {
549
- if (filterValues.length === 0) {
550
- return true;
551
- }
552
-
553
- const normalizedCandidates = new Set(
554
- candidates.map((candidate) => this.normalizeAddress(candidate)).filter(Boolean),
555
- );
556
-
557
- return filterValues.some((value) => normalizedCandidates.has(value));
558
- }
559
-
560
- private matchesAnySymbol(candidates: Array<string | undefined>, filterValues: string[]): boolean {
561
- if (filterValues.length === 0) {
562
- return true;
563
- }
564
-
565
- const normalizedCandidates = new Set(
566
- candidates.map((candidate) => this.normalizeSymbol(candidate)).filter(Boolean),
567
- );
568
-
569
- return filterValues.some((value) => normalizedCandidates.has(value));
570
- }
571
-
572
- private filterVaultNodes(vaults: VaultNode[], filter: VaultFilter): VaultNode[] {
573
- const vaultAddress = this.normalizeAddress(filter.vaultAddress);
574
- const poolAddress = this.normalizeAddress(filter.poolAddress);
575
- const tokenAddressFilters = [
576
- ...(filter.tokenAddress ? [filter.tokenAddress] : []),
577
- ...(filter.tokenAddresses || []),
578
- ]
579
- .map((address) => this.normalizeAddress(address))
580
- .filter(Boolean);
581
- const tokenSymbolFilters = [
582
- ...(filter.tokenSymbol ? [filter.tokenSymbol] : []),
583
- ...(filter.tokenSymbols || []),
584
- ]
585
- .map((symbol) => this.normalizeSymbol(symbol))
586
- .filter(Boolean);
587
-
588
- return vaults.filter((vault) => {
589
- if (vaultAddress && this.normalizeAddress(vault.vaultAddress) !== vaultAddress) {
590
- return false;
591
- }
592
-
593
- if (
594
- poolAddress &&
595
- !this.matchesAnyAddress([vault.pool.poolAddress, vault.pool.id], [poolAddress])
596
- ) {
597
- return false;
598
- }
599
-
600
- if (
601
- !this.matchesAnyAddress(
602
- [vault.token0.address, vault.token0.id, vault.token1.address, vault.token1.id],
603
- tokenAddressFilters,
604
- )
605
- ) {
606
- return false;
607
- }
608
-
609
- if (
610
- !this.matchesAnySymbol(
611
- [vault.token0.symbol, vault.token1.symbol],
612
- tokenSymbolFilters,
613
- )
614
- ) {
615
- return false;
616
- }
617
-
618
- return true;
619
- });
620
- }
621
-
622
- /**
623
- * Gets vaults with pagination support
624
- * Fetches ALL data from both API (database) and subgraph in parallel, merges without duplicates, then paginates
625
- * @param filter - Optional filter criteria
626
- * @param first - Number of items to fetch (default: 50)
627
- * @param after - Cursor for pagination (null for first page)
628
- * @returns Promise resolving to paginated vaults data
629
- *
630
- * @example
631
- * ```typescript
632
- * // Get first 20 vaults for Ethereum
633
- * const vaults = await vaultClient.getVaults({ chainId: 1 }, 20);
634
- *
635
- * if (vaults.success && vaults.data) {
636
- * vaults.data.edges.forEach((edge) => {
637
- * const vault = edge.node;
638
- * console.log(`Vault: ${vault.name}`);
639
- * console.log(`Pool: ${vault.pool.id}`);
640
- * console.log(`Pool Fee Tier: ${vault.pool.feeTier}`);
641
- * console.log(`Tokens: ${vault.token0.symbol}/${vault.token1.symbol}`);
642
- * });
643
- * }
644
- *
645
- * // Get next page using cursor
646
- * if (vaults.data?.pageInfo.hasNextPage) {
647
- * const nextPage = await vaultClient.getVaults(
648
- * { chainId: 1 },
649
- * 20,
650
- * vaults.data.pageInfo.endCursor
651
- * );
652
- * }
653
- *
654
- * // For additional pool details (liquidity, volume, etc.), use the PoolClient:
655
- * // const poolDetails = await poolClient.getPoolById(vault.pool.id, protocol, chainId);
656
- * ```
657
- */
658
- public async getVaults(
659
- filter?: VaultFilter,
660
- first: number = 50,
661
- after?: string | null
662
- ): Promise<SteerResponse<VaultsConnection>> {
663
- const apiFilter = this.buildApiVaultFilter(filter);
664
-
665
- // Fetch ALL vaults from both sources in parallel (no pagination at source level)
666
- const [apiResult, subgraphResult] = await Promise.allSettled([
667
- this.getAllVaultsFromApi(apiFilter),
668
- filter?.chainId !== ChainId.Avalanche ? this.getAllVaultsFromSubgraph(filter) : Promise.reject(new Error('Avalanche not supported'))
669
- ]);
670
-
671
- // Extract successful results
672
- const apiVaults: VaultEdge[] = apiResult.status === 'fulfilled' && apiResult.value.success && apiResult.value.data
673
- ? apiResult.value.data
674
- : [];
675
-
676
- const subgraphVaults: VaultEdge[] = subgraphResult.status === 'fulfilled' && subgraphResult.value.success && subgraphResult.value.data
677
- ? subgraphResult.value.data
678
- : [];
679
-
680
- // If both failed, return error
681
- if (apiVaults.length === 0 && subgraphVaults.length === 0) {
682
- const apiError = apiResult.status === 'rejected' ? apiResult.reason : null;
683
- const subgraphError = subgraphResult.status === 'rejected' ? subgraphResult.reason : null;
684
-
685
- return {
686
- data: null,
687
- status: 500,
688
- success: false,
689
- error: `Both API and subgraph failed. API: ${apiError?.message || 'Unknown error'}. Subgraph: ${subgraphError?.message || 'Unknown error'}`
690
- };
691
- }
692
-
693
- // Merge results and remove duplicates based on vaultAddress
694
- const mergedVaults = this.mergeVaultResults(apiVaults, subgraphVaults);
695
-
696
- // Apply protocol filter to merged results
697
- const filteredVaults = mergedVaults.filter(edge =>
698
- !filter?.protocol || this.vaultMatchesProtocolFilter(edge.node, filter.protocol, this.resolveProtocolEnum(filter.protocol))
699
- );
700
-
701
- // Apply pagination to the complete merged and filtered dataset
702
- const paginatedVaults = this.paginateVaults(filteredVaults, first, after);
703
-
704
- return {
705
- data: paginatedVaults,
706
- status: 200,
707
- success: true
708
- };
709
- }
710
-
711
- /**
712
- * Fetches ALL vaults from API (database) by auto-paginating
713
- * @private
714
- */
715
- private async getAllVaultsFromApi(
716
- apiFilter?: ApiVaultFilter
717
- ): Promise<SteerResponse<VaultEdge[]>> {
718
- try {
719
- const allVaults: VaultEdge[] = [];
720
- let hasNextPage = true;
721
- let cursor: string | null = null;
722
- const batchSize = 100; // Fetch in batches of 100
723
-
724
- while (hasNextPage) {
725
- const response = await this.getVaultsFromApi(apiFilter, batchSize, cursor);
726
-
727
- if (!response.success || !response.data) {
728
- // If we already have some vaults, return them; otherwise return error
729
- if (allVaults.length > 0) {
730
- break;
731
- }
732
- return {
733
- data: null,
734
- status: response.status,
735
- success: false,
736
- error: response.error || 'Failed to fetch vaults from API'
737
- };
738
- }
739
-
740
- allVaults.push(...response.data.edges);
741
- hasNextPage = response.data.pageInfo.hasNextPage;
742
- cursor = response.data.pageInfo.endCursor;
743
- }
744
-
745
- return {
746
- data: allVaults,
747
- status: 200,
748
- success: true
749
- };
750
- } catch (error) {
751
- console.warn('Failed to fetch all vaults from API:', error);
752
- return {
753
- data: null,
754
- status: 500,
755
- success: false,
756
- error: error instanceof Error ? error.message : 'Failed to fetch all vaults from API'
757
- };
758
- }
759
- }
760
-
761
- /**
762
- * Fetches vaults from API (database) with pagination
763
- * @private
764
- */
765
- private async getVaultsFromApi(
766
- apiFilter?: ApiVaultFilter,
767
- first: number = 50,
768
- after?: string | null
769
- ): Promise<SteerResponse<VaultsConnection>> {
770
- try {
771
- const response = await this.apiClient.vaults({
772
- filter: apiFilter,
773
- first,
774
- after
775
- });
776
-
777
- if (!response.data?.vaults) {
778
- return {
779
- data: null,
780
- status: response.status,
781
- success: false,
782
- error: 'No data returned from API'
783
- };
784
- }
785
-
786
- // Transform the response to match our interface
787
- const transformedData: VaultsConnection = {
788
- edges: response.data.vaults.edges.map(edge => ({
789
- cursor: edge.cursor,
790
- node: {
791
- id: edge.node.id,
792
- chainId: edge.node.chainId,
793
- vaultAddress: edge.node.vaultAddress,
794
- protocol: edge.node.protocol,
795
- beaconName: edge.node.beaconName,
796
- protocolBaseType: edge.node.protocolBaseType,
797
- name: edge.node.name || '',
798
- feeApr: edge.node.feeApr || undefined,
799
- stakingApr: edge.node.stakingApr || undefined,
800
- merklApr: edge.node.merklApr || undefined,
801
- pool: {
802
- id: edge.node.pool?.id || '',
803
- poolAddress: edge.node.pool?.poolAddress || '',
804
- feeTier: edge.node.pool?.feeTier || '',
805
- tick: undefined, // Not available in API response
806
- liquidity: undefined, // Not available in API response
807
- volumeUSD: undefined, // Not available in API response
808
- totalValueLockedUSD: undefined // Not available in API response
809
- },
810
- token0: {
811
- id: edge.node.token0?.id || '',
812
- symbol: edge.node.token0?.symbol || '',
813
- name: edge.node.token0?.name || '',
814
- decimals: edge.node.token0?.decimals || 0,
815
- address: edge.node.token0?.address || '',
816
- chainId: edge.node.token0?.chainId || 0
817
- },
818
- token1: {
819
- id: edge.node.token1?.id || '',
820
- symbol: edge.node.token1?.symbol || '',
821
- name: edge.node.token1?.name || '',
822
- decimals: edge.node.token1?.decimals || 0,
823
- address: edge.node.token1?.address || '',
824
- chainId: edge.node.token1?.chainId || 0
825
- }
826
- }
827
- })),
828
- pageInfo: {
829
- hasNextPage: response.data.vaults.pageInfo.hasNextPage,
830
- endCursor: response.data.vaults.pageInfo.endCursor ?? null
831
- },
832
- totalCount: response.data.vaults.totalCount
833
- };
834
-
835
- return {
836
- data: transformedData,
837
- status: response.status,
838
- success: true
839
- };
840
- } catch (error) {
841
- console.warn('API client failed:', error);
842
- return {
843
- data: null,
844
- status: 500,
845
- success: false,
846
- error: error instanceof Error ? error.message : 'API request failed'
847
- };
848
- }
849
- }
850
-
851
- /**
852
- * Merges vault results from API and subgraph, removing duplicates
853
- * Prioritizes API data when duplicates are found
854
- * Generates consistent cursors for the merged dataset
855
- * @private
856
- */
857
- private mergeVaultResults(apiVaults: VaultEdge[], subgraphVaults: VaultEdge[]): VaultEdge[] {
858
- const vaultMap = new Map<string, VaultEdge>();
859
-
860
- // Add API vaults first (they take priority)
861
- apiVaults.forEach(edge => {
862
- const key = edge.node.vaultAddress.toLowerCase();
863
- vaultMap.set(key, edge);
864
- });
865
-
866
- // Add subgraph vaults only if not already present
867
- subgraphVaults.forEach(edge => {
868
- const key = edge.node.vaultAddress.toLowerCase();
869
- if (!vaultMap.has(key)) {
870
- vaultMap.set(key, edge);
871
- } else {
872
- // Merge additional data from subgraph if available (like pool details)
873
- const existing = vaultMap.get(key)!;
874
- const merged: VaultEdge = {
875
- ...existing,
876
- node: {
877
- ...existing.node,
878
- // Merge pool data - prefer subgraph data for pool details if API doesn't have it
879
- pool: {
880
- id: existing.node.pool.id || edge.node.pool.id,
881
- poolAddress: existing.node.pool.poolAddress || edge.node.pool.poolAddress,
882
- feeTier: existing.node.pool.feeTier || edge.node.pool.feeTier,
883
- tick: existing.node.pool.tick || edge.node.pool.tick,
884
- liquidity: existing.node.pool.liquidity || edge.node.pool.liquidity,
885
- volumeUSD: existing.node.pool.volumeUSD || edge.node.pool.volumeUSD,
886
- totalValueLockedUSD: existing.node.pool.totalValueLockedUSD || edge.node.pool.totalValueLockedUSD
887
- },
888
- // Prefer API APR data, but use subgraph if API doesn't have it
889
- feeApr: existing.node.feeApr ?? edge.node.feeApr,
890
- stakingApr: existing.node.stakingApr ?? edge.node.stakingApr,
891
- merklApr: existing.node.merklApr ?? edge.node.merklApr,
892
- // Subgraph-only fields: always take from subgraph when available
893
- positions: existing.node.positions ?? edge.node.positions,
894
- tickRange: existing.node.tickRange ?? edge.node.tickRange,
895
- fees: existing.node.fees ?? edge.node.fees,
896
- }
897
- };
898
- vaultMap.set(key, merged);
899
- }
900
- });
901
-
902
- // Convert to array and regenerate cursors for consistent pagination
903
- const mergedArray = Array.from(vaultMap.values());
904
- return mergedArray.map((edge, index) => ({
905
- ...edge,
906
- cursor: `merged_${edge.node.chainId}_${index}_${edge.node.vaultAddress.toLowerCase()}`
907
- }));
908
- }
909
-
910
- /**
911
- * Applies pagination to vault results
912
- * @private
913
- */
914
- private paginateVaults(vaults: VaultEdge[], first: number, after?: string | null): VaultsConnection {
915
- let startIndex = 0;
916
-
917
- // If cursor is provided, find the starting position
918
- if (after) {
919
- const cursorIndex = vaults.findIndex(edge => edge.cursor === after);
920
- if (cursorIndex !== -1) {
921
- startIndex = cursorIndex + 1;
922
- }
923
- }
924
-
925
- // Get the slice of vaults for this page
926
- const paginatedEdges = vaults.slice(startIndex, startIndex + first);
927
- const hasNextPage = startIndex + first < vaults.length;
928
- const endCursor = paginatedEdges.length > 0 ? paginatedEdges[paginatedEdges.length - 1].cursor : null;
929
-
930
- return {
931
- edges: paginatedEdges,
932
- pageInfo: {
933
- hasNextPage,
934
- endCursor
935
- },
936
- totalCount: vaults.length
937
- };
938
- }
939
-
940
- /**
941
- * Fetches ALL vaults from subgraph (no pagination)
942
- * @param filter - Optional filter criteria
943
- * @returns Promise resolving to all vaults data from subgraph
944
- * @private
945
- */
946
- private async getAllVaultsFromSubgraph(
947
- filter?: VaultFilter
948
- ): Promise<SteerResponse<VaultEdge[]>> {
949
- try {
950
- // Extract chainId from filter
951
- const chainId = filter?.chainId;
952
- if (!chainId) {
953
- throw new Error('ChainId is required for subgraph');
954
- }
955
-
956
- // Get chain enum from chainId
957
- const chain = chainIdToName(chainId);
958
-
959
- if (!chain) {
960
- throw new Error(`Unsupported chainId: ${chainId}`);
961
- }
962
-
963
- // Get subgraph URL for this chain
964
- const subgraphUrl = steerSubgraphConfig[chain];
965
- if (!subgraphUrl) {
966
- throw new Error(`No subgraph configured for chain: ${chain}`);
967
- }
968
-
969
- const beaconNames = this.getProtocolBeaconNames(filter?.protocol);
970
-
971
- if (filter?.beaconName) {
972
- beaconNames.push(filter.beaconName);
973
- }
974
-
975
- const uniqueBeaconNames = [...new Set(beaconNames.filter(name => name.length > 0))];
976
-
977
- // Fetch all vaults from subgraph
978
- const subgraphVaults = await this.subgraphVaultClient.getAllVaultsFromSubgraph({
979
- subgraphUrl,
980
- chainId,
981
- showDeprecated: false,
982
- showCurrentProtocol: uniqueBeaconNames.length > 0,
983
- beaconNames: uniqueBeaconNames
984
- });
985
-
986
- // Get all supported protocols for this chain
987
- const supportedProtocols = getProtocolsForChainId(chainId, this.subgraphStudioKey);
988
-
989
- // Fetch APR data for all protocols in parallel
990
- const aprPromises = supportedProtocols.map(protocol =>
991
- this.getAprs({ chainId, protocol }).catch(error => {
992
- console.warn(`Failed to fetch APR for protocol ${protocol}:`, error);
993
- return { success: false, data: null };
994
- })
995
- );
996
-
997
- const aprResults = await Promise.all(aprPromises);
998
-
999
- // Create a map of vault address to APR for quick lookup
1000
- const aprMap = new Map<string, number>();
1001
- aprResults && aprResults.forEach(aprResult => {
1002
- if (aprResult.success && aprResult.data) {
1003
- aprResult?.data?.vaults && aprResult.data.vaults.forEach(vaultApr => {
1004
- aprMap.set(vaultApr.vaultAddress.toLowerCase(), vaultApr.apr.apr);
1005
- });
1006
- }
1007
- });
1008
-
1009
- // Transform to VaultEdge array with APR data
1010
- const vaultEdges: VaultEdge[] = subgraphVaults.map((vault, index) => {
1011
- // Parse positions and compute tick range
1012
- const positions = vault.positions?.map(pos => ({
1013
- id: pos.id,
1014
- upperTick: parseInt(pos.upperTick),
1015
- lowerTick: parseInt(pos.lowerTick),
1016
- relativeWeight: pos.relativeWeight
1017
- }));
1018
-
1019
- // Compute tick range from positions
1020
- let tickRange: { minLowerTick: number; maxUpperTick: number } | undefined;
1021
- if (positions && positions.length > 0) {
1022
- const lowerTicks = positions.map(p => p.lowerTick);
1023
- const upperTicks = positions.map(p => p.upperTick);
1024
- tickRange = {
1025
- minLowerTick: Math.min(...lowerTicks),
1026
- maxUpperTick: Math.max(...upperTicks)
1027
- };
1028
- }
1029
-
1030
- return {
1031
- cursor: `subgraph_${chainId}_${index}`,
1032
- node: {
1033
- id: vault.id,
1034
- chainId: chainId,
1035
- vaultAddress: vault.id,
1036
- protocol: vault.beaconName || '',
1037
- beaconName: vault.beaconName || '',
1038
- protocolBaseType: vault.beaconName || '',
1039
- name: `${vault.token0Symbol}/${vault.token1Symbol}`,
1040
- feeApr: aprMap.get(vault.id.toLowerCase()),
1041
- stakingApr: undefined,
1042
- merklApr: undefined,
1043
- positions,
1044
- tickRange,
1045
- fees: vault.fees0 && vault.fees1 ? {
1046
- fees0: vault.fees0,
1047
- fees1: vault.fees1
1048
- } : undefined,
1049
- pool: {
1050
- id: vault.pool || '',
1051
- poolAddress: vault.pool || '',
1052
- feeTier: vault.feeTier || '',
1053
- tick: undefined,
1054
- liquidity: undefined,
1055
- volumeUSD: undefined,
1056
- totalValueLockedUSD: undefined
1057
- },
1058
- token0: {
1059
- id: vault.token0,
1060
- symbol: vault.token0Symbol,
1061
- name: vault.token0Symbol, // Use symbol as name since subgraph doesn't provide name
1062
- decimals: parseInt(vault.token0Decimals) || 18,
1063
- address: vault.token0,
1064
- chainId: chainId
1065
- },
1066
- token1: {
1067
- id: vault.token1,
1068
- symbol: vault.token1Symbol,
1069
- name: vault.token1Symbol, // Use symbol as name since subgraph doesn't provide name
1070
- decimals: parseInt(vault.token1Decimals) || 18,
1071
- address: vault.token1,
1072
- chainId: chainId
1073
- }
1074
- }
1075
- };
1076
- });
1077
-
1078
- return {
1079
- data: vaultEdges,
1080
- status: 200,
1081
- success: true
1082
- };
1083
-
1084
- } catch (error) {
1085
- console.error('Subgraph vault fetch failed:', error);
1086
- return {
1087
- data: null,
1088
- status: 500,
1089
- success: false,
1090
- error: error instanceof Error ? error.message : 'Failed to fetch vaults from subgraph'
1091
- };
1092
- }
1093
- }
1094
-
1095
- /**
1096
- * Fallback method to fetch vaults from subgraph with pagination
1097
- * @param filter - Optional filter criteria
1098
- * @param first - Number of items to fetch (default: 50)
1099
- * @param after - Cursor for pagination (null for first page)
1100
- * @returns Promise resolving to paginated vaults data from subgraph
1101
- * @private
1102
- */
1103
- private async getVaultsFromSubgraph(
1104
- filter?: VaultFilter,
1105
- first: number = 50,
1106
- after?: string | null
1107
- ): Promise<SteerResponse<VaultsConnection>> {
1108
- try {
1109
- // Extract chainId from filter
1110
- const chainId = filter?.chainId;
1111
- if (!chainId) {
1112
- throw new Error('ChainId is required for subgraph fallback');
1113
- }
1114
-
1115
- // Get chain enum from chainId
1116
-
1117
- const chain = chainIdToName(chainId);
1118
-
1119
- if (!chain) {
1120
- throw new Error(`Unsupported chainId: ${chainId}`);
1121
- }
1122
-
1123
- // Get subgraph URL for this chain
1124
- const subgraphUrl = steerSubgraphConfig[chain];
1125
- if (!subgraphUrl) {
1126
- throw new Error(`No subgraph configured for chain: ${chain}`);
1127
- }
1128
-
1129
- const beaconNames = this.getProtocolBeaconNames(filter?.protocol);
1130
-
1131
- if (filter?.beaconName) {
1132
- beaconNames.push(filter.beaconName);
1133
- }
1134
-
1135
- const uniqueBeaconNames = [...new Set(beaconNames.filter(name => name.length > 0))];
1136
-
1137
- // Fetch all vaults from subgraph
1138
- const subgraphVaults = await this.subgraphVaultClient.getAllVaultsFromSubgraph({
1139
- subgraphUrl,
1140
- chainId,
1141
- showDeprecated: false,
1142
- showCurrentProtocol: uniqueBeaconNames.length > 0,
1143
- beaconNames: uniqueBeaconNames
1144
- });
1145
-
1146
- // Get all supported protocols for this chain
1147
- const supportedProtocols = getProtocolsForChainId(chainId, this.subgraphStudioKey);
1148
-
1149
- // Fetch APR data for all protocols in parallel
1150
- const aprPromises = supportedProtocols.map(protocol =>
1151
- this.getAprs({ chainId, protocol }).catch(error => {
1152
- console.warn(`Failed to fetch APR for protocol ${protocol}:`, error);
1153
- return { success: false, data: null };
1154
- })
1155
- );
1156
-
1157
- const aprResults = await Promise.all(aprPromises);
1158
-
1159
- // Create a map of vault address to APR for quick lookup
1160
- const aprMap = new Map<string, number>();
1161
- aprResults && aprResults.forEach(aprResult => {
1162
- if (aprResult.success && aprResult.data) {
1163
- aprResult?.data?.vaults && aprResult.data.vaults.forEach(vaultApr => {
1164
- aprMap.set(vaultApr.vaultAddress.toLowerCase(), vaultApr.apr.apr);
1165
- });
1166
- }
1167
- });
1168
-
1169
- // Transform to VaultsConnection format with pagination and populate APR data
1170
- const vaultsConnection = this.subgraphVaultClient.transformToVaultsConnection(
1171
- subgraphVaults,
1172
- chainId,
1173
- first,
1174
- aprMap,
1175
- after
1176
- );
1177
-
1178
- // Enhance vault data with APR information
1179
- if (vaultsConnection.edges) {
1180
- vaultsConnection.edges = vaultsConnection.edges.map(edge => ({
1181
- ...edge,
1182
- node: {
1183
- ...edge.node,
1184
- feeApr: aprMap.get(edge.node.vaultAddress.toLowerCase()) || edge.node.feeApr
1185
- }
1186
- }));
1187
- }
1188
-
1189
- const filteredVaultsConnection = this.applyProtocolFilter(vaultsConnection, filter?.protocol);
1190
-
1191
- return {
1192
- data: filteredVaultsConnection,
1193
- status: 200,
1194
- success: true
1195
- };
1196
-
1197
- } catch (error) {
1198
- console.error('Subgraph vault fetch failed:', error);
1199
- throw error;
1200
- }
1201
- }
1202
-
1203
- /**
1204
- * Gets tokens with pagination support
1205
- * @param filter - Optional filter criteria
1206
- * @param first - Number of items to fetch (default: 50)
1207
- * @param after - Cursor for pagination (null for first page)
1208
- * @returns Promise resolving to paginated tokens data
1209
- *
1210
- * @example
1211
- * ```typescript
1212
- * // Get first 100 tokens
1213
- * const tokens = await vaultClient.getTokens({ chainId: 1 }, 100);
1214
- *
1215
- * // Filter by symbol
1216
- * const usdcTokens = await vaultClient.getTokens({ symbol: 'USDC' });
1217
- * ```
1218
- */
1219
- public async getTokens(
1220
- filter?: TokenFilter,
1221
- first: number = 50,
1222
- after?: string | null
1223
- ): Promise<SteerResponse<TokensConnection>> {
1224
- try {
1225
- const response = await this.apiClient.tokens({
1226
- filter,
1227
- first,
1228
- after
1229
- });
1230
-
1231
- if (!response.data?.tokens) {
1232
- return {
1233
- data: null,
1234
- status: response.status,
1235
- success: true
1236
- };
1237
- }
1238
-
1239
- // Transform the response to match our interface
1240
- const transformedData: TokensConnection = {
1241
- edges: response.data.tokens.edges.map(edge => ({
1242
- cursor: edge.cursor,
1243
- node: {
1244
- id: edge.node.id,
1245
- symbol: edge.node.symbol,
1246
- name: edge.node.name,
1247
- decimals: edge.node.decimals,
1248
- chainId: edge.node.chainId,
1249
- address: edge.node.address
1250
- }
1251
- })),
1252
- pageInfo: {
1253
- hasNextPage: response.data.tokens.pageInfo.hasNextPage,
1254
- endCursor: response.data.tokens.pageInfo.endCursor ?? null
1255
- },
1256
- totalCount: response.data.tokens.totalCount
1257
- };
1258
-
1259
- return {
1260
- data: transformedData,
1261
- status: response.status,
1262
- success: true
1263
- };
1264
- } catch (error) {
1265
- return {
1266
- data: null,
1267
- status: 501,
1268
- success: false,
1269
- error: 'getTokens is not supported for this configuration'
1270
- };
1271
- }
1272
- }
1273
-
1274
- /**
1275
- * Gets pools with pagination support
1276
- * @param filter - Optional filter criteria
1277
- * @param first - Number of items to fetch (default: 50)
1278
- * @param after - Cursor for pagination (null for first page)
1279
- * @returns Promise resolving to paginated pools data
1280
- *
1281
- * @example
1282
- * ```typescript
1283
- * // Get first 50 pools for Ethereum
1284
- * const pools = await vaultClient.getPools({ chainId: 1 }, 50);
1285
- *
1286
- * // Filter by minimum liquidity
1287
- * const liquidPools = await vaultClient.getPools({
1288
- * chainId: 1,
1289
- * minLiquidity: '1000000'
1290
- * });
1291
- * ```
1292
- */
1293
- public async getPools(
1294
- filter?: PoolFilter,
1295
- first: number = 50,
1296
- after?: string | null
1297
- ): Promise<SteerResponse<PoolsConnection>> {
1298
- try {
1299
- const response = await this.apiClient.pools({
1300
- filter,
1301
- first,
1302
- after
1303
- });
1304
-
1305
- if (!response.data?.pools) {
1306
- return {
1307
- data: null,
1308
- status: response.status,
1309
- success: true
1310
- };
1311
- }
1312
-
1313
- // Transform the response to match our interface
1314
- const transformedData: PoolsConnection = {
1315
- edges: response.data.pools.edges.map(edge => ({
1316
- cursor: edge.cursor,
1317
- node: {
1318
- id: edge.node.id,
1319
- chainId: edge.node.chainId,
1320
- feeTier: edge.node.feeTier,
1321
- token0: {
1322
- id: edge.node.token0?.id || '',
1323
- symbol: edge.node.token0?.symbol || '',
1324
- name: edge.node.token0?.name || '',
1325
- decimals: edge.node.token0?.decimals || 0,
1326
- address: edge.node.token0?.address || '',
1327
- chainId: edge.node.token0?.chainId || 0
1328
- },
1329
- token1: {
1330
- id: edge.node.token1?.id || '',
1331
- symbol: edge.node.token1?.symbol || '',
1332
- name: edge.node.token1?.name || '',
1333
- decimals: edge.node.token1?.decimals || 0,
1334
- address: edge.node.token1?.address || '',
1335
- chainId: edge.node.token1?.chainId || 0
1336
- }
1337
- }
1338
- })),
1339
- pageInfo: {
1340
- hasNextPage: response.data.pools.pageInfo.hasNextPage,
1341
- endCursor: response.data.pools.pageInfo.endCursor ?? null
1342
- },
1343
- totalCount: response.data.pools.totalCount
1344
- };
1345
-
1346
- return {
1347
- data: transformedData,
1348
- status: response.status,
1349
- success: true
1350
- };
1351
- } catch (error) {
1352
- return {
1353
- data: null,
1354
- status: 501,
1355
- success: false,
1356
- error: 'getPools is not supported for this configuration'
1357
- };
1358
- }
1359
- }
1360
-
1361
- /**
1362
- * Gets all vaults by fetching all pages automatically
1363
- * @param filter - Optional filter criteria
1364
- * @param batchSize - Number of items to fetch per batch (default: 100)
1365
- * @returns Promise resolving to all vaults data (includes pool information)
1366
- *
1367
- * @example
1368
- * ```typescript
1369
- * // Get all vaults for a specific chain
1370
- * const allVaults = await vaultClient.getAllVaults({ chainId: 1 });
1371
- * console.log(`Found ${allVaults.data?.length} vaults`);
1372
- *
1373
- * // Access pool information for each vault
1374
- * allVaults.data?.forEach(vault => {
1375
- * console.log(`Vault ${vault.name}: Pool ${vault.pool.id} (${vault.pool.feeTier} fee)`);
1376
- * });
1377
- * ```
1378
- */
1379
- public async getAllVaults(
1380
- filter?: VaultFilter,
1381
- batchSize: number = 100
1382
- ): Promise<SteerResponse<VaultNode[]>> {
1383
- try {
1384
- const allVaults: VaultNode[] = [];
1385
- let hasNextPage = true;
1386
- let cursor: string | null = null;
1387
-
1388
- while (hasNextPage) {
1389
- const response = await this.getVaults(filter, batchSize, cursor);
1390
-
1391
- if (!response.success || !response.data) {
1392
- return {
1393
- data: null,
1394
- status: response.status,
1395
- success: false,
1396
- error: response.error || 'Failed to fetch vaults'
1397
- };
1398
- }
1399
-
1400
- allVaults.push(...response.data.edges.map(edge => edge.node));
1401
- hasNextPage = response.data.pageInfo.hasNextPage;
1402
- cursor = response.data.pageInfo.endCursor;
1403
- }
1404
-
1405
- return {
1406
- data: allVaults,
1407
- status: 200,
1408
- success: true
1409
- };
1410
- } catch (error) {
1411
- return {
1412
- data: null,
1413
- status: 500,
1414
- success: false,
1415
- error: error instanceof Error ? error.message : 'Unknown error occurred'
1416
- };
1417
- }
1418
- }
1419
-
1420
- /**
1421
- * Gets all tokens by fetching all pages automatically
1422
- * @param filter - Optional filter criteria
1423
- * @param batchSize - Number of items to fetch per batch (default: 100)
1424
- * @returns Promise resolving to all tokens data
1425
- */
1426
- public async getAllTokens(
1427
- filter?: TokenFilter,
1428
- batchSize: number = 100
1429
- ): Promise<SteerResponse<TokenNode[]>> {
1430
- try {
1431
- const allTokens: TokenNode[] = [];
1432
- let hasNextPage = true;
1433
- let cursor: string | null = null;
1434
-
1435
- while (hasNextPage) {
1436
- const response = await this.getTokens(filter, batchSize, cursor);
1437
-
1438
- if (!response.success || !response.data) {
1439
- return {
1440
- data: null,
1441
- status: response.status,
1442
- success: false,
1443
- error: response.error || 'Failed to fetch tokens'
1444
- };
1445
- }
1446
-
1447
- allTokens.push(...response.data.edges.map(edge => edge.node));
1448
- hasNextPage = response.data.pageInfo.hasNextPage;
1449
- cursor = response.data.pageInfo.endCursor;
1450
- }
1451
-
1452
- return {
1453
- data: allTokens,
1454
- status: 200,
1455
- success: true
1456
- };
1457
- } catch (error) {
1458
- return {
1459
- data: null,
1460
- status: 500,
1461
- success: false,
1462
- error: error instanceof Error ? error.message : 'Unknown error occurred'
1463
- };
1464
- }
1465
- }
1466
-
1467
- /**
1468
- * Gets all pools by fetching all pages automatically
1469
- * @param filter - Optional filter criteria
1470
- * @param batchSize - Number of items to fetch per batch (default: 100)
1471
- * @returns Promise resolving to all pools data
1472
- */
1473
- public async getAllPools(
1474
- filter?: PoolFilter,
1475
- batchSize: number = 100
1476
- ): Promise<SteerResponse<PoolNode[]>> {
1477
- try {
1478
- const allPools: PoolNode[] = [];
1479
- let hasNextPage = true;
1480
- let cursor: string | null = null;
1481
-
1482
- while (hasNextPage) {
1483
- const response = await this.getPools(filter, batchSize, cursor);
1484
-
1485
- if (!response.success || !response.data) {
1486
- return {
1487
- data: null,
1488
- status: response.status,
1489
- success: false,
1490
- error: response.error || 'Failed to fetch pools'
1491
- };
1492
- }
1493
-
1494
- allPools.push(...response.data.edges.map(edge => edge.node));
1495
- hasNextPage = response.data.pageInfo.hasNextPage;
1496
- cursor = response.data.pageInfo.endCursor;
1497
- }
1498
-
1499
- return {
1500
- data: allPools,
1501
- status: 200,
1502
- success: true
1503
- };
1504
- } catch (error) {
1505
- return {
1506
- data: null,
1507
- status: 501,
1508
- success: false,
1509
- error: 'getAllPools is not supported for this configuration'
1510
- };
1511
- }
1512
- }
1513
-
1514
- /**
1515
- * Searches vaults by combining verified API-supported filters with local
1516
- * filtering over the merged vault result set for unsupported server-side fields.
1517
- */
1518
- public async searchVaults(
1519
- filter?: VaultFilter,
1520
- ): Promise<SteerResponse<VaultNode[]>> {
1521
- const response = await this.getAllVaults(filter);
1522
-
1523
- if (!response.success || !response.data) {
1524
- return response;
1525
- }
1526
-
1527
- return {
1528
- data: this.filterVaultNodes(response.data, filter || {}),
1529
- status: 200,
1530
- success: true,
1531
- };
1532
- }
1533
-
1534
- public async getVaultByAddress(
1535
- vaultAddress: string,
1536
- filter?: VaultFilter,
1537
- ): Promise<SteerResponse<VaultNode | null>> {
1538
- const response = await this.searchVaults({
1539
- ...filter,
1540
- vaultAddress,
1541
- });
1542
-
1543
- if (!response.success || !response.data) {
1544
- return {
1545
- data: null,
1546
- status: response.status,
1547
- success: response.success,
1548
- error: response.error,
1549
- };
1550
- }
1551
-
1552
- return {
1553
- data: response.data[0] || null,
1554
- status: 200,
1555
- success: true,
1556
- };
1557
- }
1558
-
1559
- public async getVaultsForPool(
1560
- poolAddress: string,
1561
- filter?: VaultFilter,
1562
- ): Promise<SteerResponse<VaultNode[]>> {
1563
- return this.searchVaults({
1564
- ...filter,
1565
- poolAddress,
1566
- });
1567
- }
1568
-
1569
- public async getVaultsForToken(
1570
- tokenAddressOrSymbol: string,
1571
- filter?: VaultFilter,
1572
- ): Promise<SteerResponse<VaultNode[]>> {
1573
- const normalizedValue = tokenAddressOrSymbol.trim();
1574
- const isAddress = /^0x[a-fA-F0-9]{40}$/.test(normalizedValue);
1575
-
1576
- return this.searchVaults({
1577
- ...filter,
1578
- ...(isAddress
1579
- ? { tokenAddress: normalizedValue }
1580
- : { tokenSymbol: normalizedValue }),
1581
- });
1582
- }
1583
-
1584
- /**
1585
- * Gets APR data for vaults from the Steer Finance API
1586
- * @param filter - Filter containing chainId and protocol
1587
- * @returns Promise resolving to APR data for vaults
1588
- *
1589
- * @example
1590
- * ```typescript
1591
- * // Get APRs for Uniswap vaults on Nibiru (chainId: 6900)
1592
- * const aprs = await vaultClient.getAprs({ chainId: 6900, protocol: 'Uniswap' });
1593
- *
1594
- * if (aprs.success && aprs.data) {
1595
- * aprs.data.vaults.forEach(vault => {
1596
- * console.log(`Vault: ${vault.vaultAddress}`);
1597
- * console.log(`APR: ${vault.apr.apr}% (${vault.apr.message})`);
1598
- * console.log(`Beacon: ${vault.beaconName}`);
1599
- * });
1600
- * }
1601
- * ```
1602
- */
1603
- public async getAprs(filter: AprFilter): Promise<SteerResponse<AprResponse>> {
1604
- try {
1605
- const { chainId, protocol } = filter;
1606
-
1607
- // Build the API URL
1608
- const apiUrl = `https://api.steer.finance/getAprs?chainId=${chainId}&dexName=${protocol}`;
1609
-
1610
- const response = await fetch(apiUrl, {
1611
- method: 'GET',
1612
- headers: {
1613
- 'Content-Type': 'application/json',
1614
- },
1615
- });
1616
-
1617
- if (!response.ok) {
1618
- return {
1619
- data: null,
1620
- status: response.status,
1621
- success: false,
1622
- error: `API request failed: ${response.statusText}`
1623
- };
1624
- }
1625
-
1626
- const data: AprResponse = await response.json();
1627
-
1628
- return {
1629
- data,
1630
- status: response.status,
1631
- success: true
1632
- };
1633
-
1634
- } catch (error) {
1635
- return {
1636
- data: null,
1637
- status: 501,
1638
- success: false,
1639
- error: 'getAprs is not supported for this configuration'
1640
- };
1641
- }
1642
- }
1643
-
1644
- /**
1645
- * Gets detailed APR data for a specific Blackhole vault from the Steer Finance API
1646
- * This includes snapshot analysis with historical APR data over different time periods
1647
- *
1648
- * @param params - Parameters containing vault address and chain ID
1649
- * @returns Promise resolving to detailed APR data including snapshot analysis
1650
- *
1651
- * @example
1652
- * ```typescript
1653
- * // Get detailed APR for a Blackhole vault on Avalanche
1654
- * const aprDetails = await vaultClient.getBlackholeAprDetailed({
1655
- * vaultAddress: '0x5c1d454f08975c554f6b70a84fd8859fbdfcc069',
1656
- * chainId: 43114
1657
- * });
1658
- *
1659
- * if (aprDetails.success && aprDetails.data) {
1660
- * console.log(`Vault: ${aprDetails.data.vaultAddress}`);
1661
- * console.log(`Beacon: ${aprDetails.data.beaconName}`);
1662
- * console.log(`Current APR: ${aprDetails.data.apr.apr}% (${aprDetails.data.apr.message})`);
1663
- *
1664
- * // Access snapshot analysis
1665
- * aprDetails.data.snapshotAnalysis.forEach(snapshot => {
1666
- * console.log(`Period ${snapshot.period}:`);
1667
- * console.log(` Duration: ${snapshot.durationHours} hours`);
1668
- * console.log(` TVL: $${snapshot.tvlUSD}`);
1669
- * console.log(` Fees: $${snapshot.feesUSD}`);
1670
- * console.log(` APR: ${snapshot.apr}%`);
1671
- * });
1672
- * }
1673
- * ```
1674
- */
1675
- public async getBlackholeVaultApr(params: BlackholeAprDetailedParams): Promise<SteerResponse<BlackholeAprDetailedResponse>> {
1676
- try {
1677
- const { vaultAddress, chainId } = params;
1678
-
1679
- // Build the API URL
1680
- const apiUrl = `https://api.steer.finance/blackhole/apr-detailed?vaultAddress=${vaultAddress}&chainId=${chainId}`;
1681
-
1682
- const response = await fetch(apiUrl, {
1683
- method: 'GET',
1684
- headers: {
1685
- 'Content-Type': 'application/json',
1686
- },
1687
- });
1688
-
1689
- if (!response.ok) {
1690
- return {
1691
- data: null,
1692
- status: response.status,
1693
- success: false,
1694
- error: `API request failed: ${response.statusText}`
1695
- };
1696
- }
1697
-
1698
- const data: BlackholeAprDetailedResponse = await response.json();
1699
-
1700
- return {
1701
- data,
1702
- status: response.status,
1703
- success: true
1704
- };
1705
-
1706
- } catch (error) {
1707
- return {
1708
- data: null,
1709
- status: 500,
1710
- success: false,
1711
- error: error instanceof Error ? error.message : 'Failed to fetch Blackhole APR details'
1712
- };
1713
- }
1714
- }
1715
-
1716
- /**
1717
- * Gets the latest vaults from the subgraph
1718
- */
1719
- public async getLatestVaults<T>(): Promise<SteerResponse<T>> {
1720
- const query = `
1721
- query latestVaults{
1722
- vaults(first: 250, skip: 0, orderBy: createdAt, orderDirection: desc, where: {
1723
- gasUsed_gt: 0
1724
- } ) {
1725
- id
1726
- beaconName
1727
- createdAt
1728
- gasUsed
1729
- token1Symbol
1730
- token0Symbol
1731
- token0
1732
- token1
1733
- token0Name
1734
- token1Name
1735
- strategyToken {
1736
- id
1737
- name
1738
- creator {
1739
- id
1740
- }
1741
- }
1742
- }
1743
- }
1744
- `;
1745
-
1746
- return this.executeSubgraphQuery<T>(query);
1747
- }
1748
-
1749
- /**
1750
- * Deposits tokens into a vault
1751
- * @param params The deposit parameters
1752
- */
1753
- public async deposit(params: VaultDepositParams): Promise<SteerResponse<Hash>> {
1754
- return this.depositClient.deposit(params);
1755
- }
1756
-
1757
- /**
1758
- * Prepares the transaction data for depositing tokens into a vault without executing it
1759
- * @param params The deposit parameters
1760
- */
1761
- public async prepareDepositTx(params: VaultDepositParams): Promise<SteerResponse<{
1762
- address: Address;
1763
- abi: {
1764
- type: string;
1765
- inputs: {
1766
- name: string;
1767
- internalType: string;
1768
- type: string;
1769
- }[];
1770
- name: string;
1771
- outputs: {
1772
- internalType: string;
1773
- name: string;
1774
- type: string;
1775
- }[];
1776
- stateMutability: string;
1777
- }[];
1778
- functionName: string;
1779
- args: readonly [Address, bigint, bigint, bigint, bigint, Address] | readonly [bigint, bigint, bigint, bigint, Address];
1780
- }>> {
1781
- return this.depositClient.prepareDepositTx(params);
1782
- }
1783
-
1784
- /**
1785
- * Gets the deposit ratio for a vault
1786
- * @param vaultAddress The vault address
1787
- */
1788
- public async getDepositRatio(vaultAddress: Address, zeroForOne: boolean): Promise<SteerResponse<VaultDetailsResponse>> {
1789
- try {
1790
- const ratioResponse = await this.depositClient.getDepositRatio(vaultAddress, zeroForOne);
1791
- if (!ratioResponse.success || !ratioResponse.data) {
1792
- throw new Error(ratioResponse.error || 'Failed to get deposit ratio');
1793
- }
1794
-
1795
- return {
1796
- data: {
1797
- details: ratioResponse.data.vaultDetails,
1798
- ratio: ratioResponse.data.ratio,
1799
- },
1800
- status: 200,
1801
- success: true
1802
- };
1803
- } catch (error) {
1804
- return {
1805
- data: null,
1806
- status: 500,
1807
- success: false,
1808
- error: error instanceof Error ? error.message : 'Unknown error occurred'
1809
- };
1810
- }
1811
- }
1812
-
1813
- /**
1814
- * Withdraws tokens from a vault
1815
- * @param params The withdrawal parameters
1816
- */
1817
- public async withdraw(params: VaultWithdrawParams): Promise<SteerResponse<Hash>> {
1818
- return this.withdrawClient.withdraw(params);
1819
- }
1820
-
1821
- /**
1822
- * Prepares the transaction data for withdrawing tokens from a vault without executing it
1823
- * @param params The withdrawal parameters
1824
- */
1825
- public async prepareWithdrawTx(params: VaultWithdrawParams): Promise<SteerResponse<{
1826
- address: Address;
1827
- abi: {
1828
- type: string;
1829
- inputs: {
1830
- name: string;
1831
- internalType: string;
1832
- type: string;
1833
- }[];
1834
- name: string;
1835
- outputs: never[];
1836
- stateMutability: string;
1837
- }[];
1838
- functionName: string;
1839
- args: readonly [
1840
- bigint,
1841
- bigint,
1842
- bigint,
1843
- Address
1844
- ];
1845
- }>> {
1846
- return this.withdrawClient.prepareWithdrawTx(params);
1847
- }
1848
-
1849
- /**
1850
- * Calculates the amount of tokens that would be received for a given amount of LP tokens
1851
- * @param vaultAddress The vault address
1852
- * @param lpToken The amount of LP tokens to calculate for
1853
- */
1854
- public async getTokensFromLp(
1855
- vaultAddress: Address,
1856
- lpToken: bigint
1857
- ): Promise<SteerResponse<TokensFromLpResponse>> {
1858
- return this.withdrawClient.getTokensFromLp(vaultAddress, lpToken);
1859
- }
1860
-
1861
- /**
1862
- * Approves spending of tokens for a vault
1863
- * @param params The approval parameters
1864
- */
1865
- public async approve(params: VaultApproveParams): Promise<SteerResponse<Hash>> {
1866
- try {
1867
- const account = await this.walletClient.getAddresses();
1868
- if (!account[0]) throw new Error('No account found');
1869
-
1870
- const { request } = await this.publicClient.simulateContract({
1871
- address: params.vaultAddress,
1872
- abi: VAULT_ABI,
1873
- functionName: 'approve',
1874
- args: [params.spender, params.amount],
1875
- account: account[0],
1876
- });
1877
-
1878
- const hash = await this.walletClient.writeContract(request);
1879
-
1880
- return {
1881
- data: hash,
1882
- status: 200,
1883
- success: true,
1884
- };
1885
- } catch (error) {
1886
- return {
1887
- data: null,
1888
- status: 500,
1889
- success: false,
1890
- error: error instanceof Error ? error.message : 'Unknown error occurred',
1891
- };
1892
- }
1893
- }
1894
-
1895
- /**
1896
- * Gets the allowance for a vault token
1897
- * @param params The allowance parameters
1898
- */
1899
- public async allowance(params: VaultAllowanceParams): Promise<SteerResponse<bigint>> {
1900
- try {
1901
- const allowance = await this.publicClient.readContract({
1902
- address: params.vaultAddress,
1903
- abi: VAULT_ABI,
1904
- functionName: 'allowance',
1905
- args: [params.owner, params.spender],
1906
- });
1907
-
1908
- return {
1909
- data: allowance,
1910
- status: 200,
1911
- success: true,
1912
- };
1913
- } catch (error) {
1914
- return {
1915
- data: null,
1916
- status: 500,
1917
- success: false,
1918
- error: error instanceof Error ? error.message : 'Unknown error occurred',
1919
- };
1920
- }
1921
- }
1922
-
1923
- /**
1924
- * Gets the balance of a vault token for an account
1925
- * @param params The balance parameters
1926
- */
1927
- public async balanceOf(params: VaultBalanceParams): Promise<SteerResponse<bigint>> {
1928
- try {
1929
- const balance = await this.publicClient.readContract({
1930
- address: params.vaultAddress,
1931
- abi: VAULT_ABI,
1932
- functionName: 'balanceOf',
1933
- args: [params.account],
1934
- });
1935
-
1936
- return {
1937
- data: balance,
1938
- status: 200,
1939
- success: true,
1940
- };
1941
- } catch (error) {
1942
- return {
1943
- data: null,
1944
- status: 500,
1945
- success: false,
1946
- error: error instanceof Error ? error.message : 'Unknown error occurred',
1947
- };
1948
- }
1949
- }
1950
-
1951
- /**
1952
- * Gets the total supply of a vault token
1953
- * @param vaultAddress The vault address
1954
- */
1955
- public async totalSupply(vaultAddress: Address): Promise<SteerResponse<bigint>> {
1956
- try {
1957
- const totalSupply = await this.publicClient.readContract({
1958
- address: vaultAddress,
1959
- abi: VAULT_ABI,
1960
- functionName: 'totalSupply',
1961
- });
1962
-
1963
- return {
1964
- data: totalSupply,
1965
- status: 200,
1966
- success: true,
1967
- };
1968
- } catch (error) {
1969
- return {
1970
- data: null,
1971
- status: 500,
1972
- success: false,
1973
- error: error instanceof Error ? error.message : 'Unknown error occurred',
1974
- };
1975
- }
1976
- }
1977
-
1978
- /**
1979
- * Gets the decimals of a vault token
1980
- * @param vaultAddress The vault address
1981
- */
1982
- public async decimals(vaultAddress: Address): Promise<SteerResponse<number>> {
1983
- try {
1984
- const decimals = await this.publicClient.readContract({
1985
- address: vaultAddress,
1986
- abi: VAULT_ABI,
1987
- functionName: 'decimals',
1988
- });
1989
-
1990
- return {
1991
- data: decimals,
1992
- status: 200,
1993
- success: true,
1994
- };
1995
- } catch (error) {
1996
- return {
1997
- data: null,
1998
- status: 500,
1999
- success: false,
2000
- error: error instanceof Error ? error.message : 'Unknown error occurred',
2001
- };
2002
- }
2003
- }
2004
-
2005
- /**
2006
- * Gets the symbol of a vault token
2007
- * @param vaultAddress The vault address
2008
- */
2009
- public async symbol(vaultAddress: Address): Promise<SteerResponse<string>> {
2010
- try {
2011
- const result = await this.publicClient.readContract({
2012
- address: vaultAddress,
2013
- abi: VAULT_ABI,
2014
- functionName: 'symbol',
2015
- });
2016
-
2017
- return {
2018
- data: result,
2019
- status: 200,
2020
- success: true,
2021
- };
2022
- } catch (error) {
2023
- return {
2024
- data: null,
2025
- status: 500,
2026
- success: false,
2027
- error: error instanceof Error ? error.message : 'Unknown error occurred',
2028
- };
2029
- }
2030
- }
2031
-
2032
- /**
2033
- * Gets the name of a vault token
2034
- * @param vaultAddress The vault address
2035
- */
2036
- public async name(vaultAddress: Address): Promise<SteerResponse<string>> {
2037
- try {
2038
- const result = await this.publicClient.readContract({
2039
- address: vaultAddress,
2040
- abi: VAULT_ABI,
2041
- functionName: 'name',
2042
- });
2043
-
2044
- return {
2045
- data: result,
2046
- status: 200,
2047
- success: true,
2048
- };
2049
- } catch (error) {
2050
- return {
2051
- data: null,
2052
- status: 500,
2053
- success: false,
2054
- error: error instanceof Error ? error.message : 'Unknown error occurred',
2055
- };
2056
- }
2057
- }
2058
-
2059
- public async pool(vaultAddress: Address): Promise<SteerResponse<Address>> {
2060
- try {
2061
- const pool = await this.publicClient.readContract({
2062
- address: vaultAddress,
2063
- abi: VAULT_ABI,
2064
- functionName: 'pool',
2065
- });
2066
-
2067
- return {
2068
- data: pool,
2069
- status: 200,
2070
- success: true,
2071
- };
2072
- } catch (error) {
2073
- return {
2074
- data: null,
2075
- status: 500,
2076
- success: false,
2077
- error: error instanceof Error ? error.message : 'Unknown error occurred',
2078
- };
2079
- }
2080
- }
2081
-
2082
- /**
2083
- * Gets a pool instance for a vault
2084
- * @param params The pool instance parameters
2085
- */
2086
- public async getPoolInstance(params: PoolInstanceParams): Promise<SteerResponse<PoolV3>> {
2087
- return this.depositClient.getPoolInstance(params);
2088
- }
2089
-
2090
- /**
2091
- * Gets the corresponding token amount based on the provided token amount and ratio
2092
- * @param vaultAddress The vault address
2093
- * @param amount The amount of token to calculate the corresponding amount for
2094
- * @param zeroForOne If true, calculates token1 amount for given token0, if false calculates token0 amount for given token1
2095
- */
2096
- public async getCorrespondingTokenAmount(
2097
- vaultAddress: Address,
2098
- amount: bigint,
2099
- zeroForOne: boolean
2100
- ): Promise<SteerResponse<bigint>> {
2101
- return this.depositClient.getCorrespondingTokenAmount(vaultAddress, amount, zeroForOne);
2102
- }
2103
-
2104
- // Single-Asset Deposit Methods
2105
-
2106
- /**
2107
- * Previews a single-asset deposit by running all simulation steps
2108
- * This allows users to see the expected outcome before executing the transaction
2109
- *
2110
- * @param params - Single-asset deposit parameters
2111
- * @param poolAddress - Address of the pool (must be provided separately)
2112
- * @returns Promise resolving to the complete deposit preview
2113
- *
2114
- * @example
2115
- * ```typescript
2116
- * const preview = await vaultClient.previewSingleAssetDeposit({
2117
- * assets: parseEther('100'),
2118
- * receiver: userAddress,
2119
- * vault: vaultAddress,
2120
- * isToken0: true,
2121
- * depositSlippagePercent: 5n,
2122
- * swapSlippageBP: 500,
2123
- * ammType: AMMType.UniswapV3,
2124
- * singleAssetDepositContract: contractAddress
2125
- * }, poolAddress);
2126
- *
2127
- * if (preview.success) {
2128
- * console.log('Expected LP tokens:', preview.data.lpEstimation.lpTokens);
2129
- * console.log('Swap amount:', preview.data.swapAmount);
2130
- * }
2131
- * ```
2132
- */
2133
- public async previewSingleAssetDeposit(
2134
- params: SingleAssetDepositParams,
2135
- poolAddress: Address
2136
- ): Promise<SteerResponse<SingleAssetDepositPreview>> {
2137
- return this.singleAssetDepositClient.previewDeposit(params, poolAddress);
2138
- }
2139
-
2140
- /**
2141
- * Executes a single-asset deposit transaction
2142
- *
2143
- * @param params - Single-asset deposit parameters
2144
- * @returns Promise resolving to the transaction hash
2145
- *
2146
- * @example
2147
- * ```typescript
2148
- * const result = await vaultClient.singleAssetDeposit({
2149
- * assets: parseEther('100'),
2150
- * receiver: userAddress,
2151
- * vault: vaultAddress,
2152
- * isToken0: true,
2153
- * depositSlippagePercent: 5n,
2154
- * swapSlippageBP: 500,
2155
- * ammType: AMMType.UniswapV3,
2156
- * singleAssetDepositContract: contractAddress
2157
- * });
2158
- *
2159
- * if (result.success) {
2160
- * console.log('Transaction hash:', result.data);
2161
- * }
2162
- * ```
2163
- */
2164
- public async singleAssetDeposit(params: SingleAssetDepositParams): Promise<SteerResponse<Hash>> {
2165
- return this.singleAssetDepositClient.deposit(params);
2166
- }
2167
-
2168
- /**
2169
- * Prepares a single-asset deposit transaction without executing it
2170
- * Useful for batching transactions or custom execution logic
2171
- *
2172
- * @param params - Single-asset deposit parameters
2173
- * @returns Promise resolving to the prepared transaction data
2174
- */
2175
- public async prepareSingleAssetDepositTx(params: SingleAssetDepositParams) {
2176
- return this.singleAssetDepositClient.prepareDepositTx(params);
2177
- }
2178
-
2179
- /**
2180
- * Validates single-asset deposit parameters
2181
- *
2182
- * @param params - Parameters to validate
2183
- * @throws Error if parameters are invalid
2184
- */
2185
- public validateSingleAssetDepositParams(params: SingleAssetDepositParams): void {
2186
- return this.singleAssetDepositClient.validateDepositParams(params);
2187
- }
2188
-
2189
- // Reward Management Methods
2190
-
2191
- /**
2192
- * Calculates pending rewards for a user from a vault
2193
- * This is a view function that doesn't modify state
2194
- *
2195
- * @param params - Parameters containing vault address and user address
2196
- * @returns Promise resolving to pending rewards data or zero values if function reverts
2197
- *
2198
- * @example
2199
- * ```typescript
2200
- * const pendingRewards = await vaultClient.calculatePendingRewards({
2201
- * vaultAddress: '0x123...',
2202
- * user: '0xabc...'
2203
- * });
2204
- *
2205
- * if (pendingRewards.success && pendingRewards.data) {
2206
- * console.log('Rewards:', pendingRewards.data.rewards);
2207
- * console.log('Extra Rewards:', pendingRewards.data.extraRewards);
2208
- * }
2209
- * ```
2210
- */
2211
- public async calculatePendingRewards(params: PendingRewardsParams): Promise<SteerResponse<PendingRewardsResponse>> {
2212
- try {
2213
- const result = await this.publicClient.readContract({
2214
- address: params.vaultAddress,
2215
- abi: REWARD_FUNCTIONS_ABI,
2216
- functionName: 'calculatePendingRewards',
2217
- args: [params.user],
2218
- }) as [bigint, bigint];
2219
-
2220
- return {
2221
- data: {
2222
- rewards: result[0],
2223
- extraRewards: result[1]
2224
- },
2225
- status: 200,
2226
- success: true,
2227
- };
2228
- } catch (error) {
2229
- // If the function reverts or doesn't exist, return zero values
2230
- console.warn('calculatePendingRewards failed, returning zero values:', error);
2231
- return {
2232
- data: {
2233
- rewards: 0n,
2234
- extraRewards: 0n
2235
- },
2236
- status: 200,
2237
- success: true,
2238
- };
2239
- }
2240
- }
2241
-
2242
- /**
2243
- * Claims pending rewards from a vault using the claimBlackHolePendingRewards function
2244
- *
2245
- * @param params - Parameters containing vault address
2246
- * @returns Promise resolving to transaction hash or zero values if function reverts
2247
- *
2248
- * @example
2249
- * ```typescript
2250
- * const claimResult = await vaultClient.claimPendingRewards({
2251
- * vaultAddress: '0x123...'
2252
- * });
2253
- *
2254
- * if (claimResult.success && claimResult.data) {
2255
- * console.log('Claim transaction hash:', claimResult.data);
2256
- * }
2257
- * ```
2258
- */
2259
- public async claimBlackholePendingRewards(params: ClaimRewardsParams): Promise<SteerResponse<Hash | PendingRewardsResponse>> {
2260
- try {
2261
- const account = await this.walletClient.getAddresses();
2262
- if (!account[0]) throw new Error('No account found');
2263
-
2264
- const { request } = await this.publicClient.simulateContract({
2265
- address: params.vaultAddress,
2266
- abi: REWARD_FUNCTIONS_ABI,
2267
- functionName: 'claimUserRewards',
2268
- args: [],
2269
- account: account[0],
2270
- });
2271
-
2272
- const hash = await this.walletClient.writeContract(request);
2273
-
2274
- return {
2275
- data: hash,
2276
- status: 200,
2277
- success: true,
2278
- };
2279
- } catch (error) {
2280
- console.error('claimBlackHolePendingRewards failed, error:', error);
2281
- // If the function reverts or doesn't exist, return zero values instead of transaction hash
2282
- console.warn('claimBlackHolePendingRewards failed, returning zero values:', error);
2283
- return {
2284
- data: {
2285
- rewards: 0n,
2286
- extraRewards: 0n
2287
- },
2288
- status: 200,
2289
- success: true,
2290
- };
2291
- }
2292
- }
2293
-
2294
- }