@steerprotocol/sdk 0.1.3 → 1.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 (318) hide show
  1. package/dist/cjs/base/SmartRewards.js +465 -0
  2. package/dist/cjs/base/SmartRewards.js.map +1 -0
  3. package/dist/cjs/base/SubgraphClient.js.map +1 -1
  4. package/dist/cjs/base/VaultClient.js +87 -0
  5. package/dist/cjs/base/VaultClient.js.map +1 -1
  6. package/dist/cjs/client.js +37 -0
  7. package/dist/cjs/client.js.map +1 -1
  8. package/dist/cjs/const/abis/UniswapPool.js +5 -0
  9. package/dist/cjs/const/abis/UniswapPool.js.map +1 -0
  10. package/dist/cjs/const/deployments/abis.js +2215 -17113
  11. package/dist/cjs/const/deployments/abis.js.map +1 -1
  12. package/dist/cjs/const/deployments/apechain.js +1 -7
  13. package/dist/cjs/const/deployments/apechain.js.map +1 -1
  14. package/dist/cjs/const/deployments/arbitrum.js +1 -10
  15. package/dist/cjs/const/deployments/arbitrum.js.map +1 -1
  16. package/dist/cjs/const/deployments/arbitrumgoerli.js +1 -13
  17. package/dist/cjs/const/deployments/arbitrumgoerli.js.map +1 -1
  18. package/dist/cjs/const/deployments/astar.js +1 -7
  19. package/dist/cjs/const/deployments/astar.js.map +1 -1
  20. package/dist/cjs/const/deployments/astarzkevm.js +1 -7
  21. package/dist/cjs/const/deployments/astarzkevm.js.map +1 -1
  22. package/dist/cjs/const/deployments/avalanche.js +1 -10
  23. package/dist/cjs/const/deployments/avalanche.js.map +1 -1
  24. package/dist/cjs/const/deployments/bartiotest.js +1 -7
  25. package/dist/cjs/const/deployments/bartiotest.js.map +1 -1
  26. package/dist/cjs/const/deployments/base.js +1 -8
  27. package/dist/cjs/const/deployments/base.js.map +1 -1
  28. package/dist/cjs/const/deployments/blast.js +1 -8
  29. package/dist/cjs/const/deployments/blast.js.map +1 -1
  30. package/dist/cjs/const/deployments/bsc.js +1 -9
  31. package/dist/cjs/const/deployments/bsc.js.map +1 -1
  32. package/dist/cjs/const/deployments/bttc.js +1 -7
  33. package/dist/cjs/const/deployments/bttc.js.map +1 -1
  34. package/dist/cjs/const/deployments/celo.js +1 -9
  35. package/dist/cjs/const/deployments/celo.js.map +1 -1
  36. package/dist/cjs/const/deployments/evmos.js +1 -8
  37. package/dist/cjs/const/deployments/evmos.js.map +1 -1
  38. package/dist/cjs/const/deployments/fantom.js +1 -7
  39. package/dist/cjs/const/deployments/fantom.js.map +1 -1
  40. package/dist/cjs/const/deployments/filecoin.js +1 -7
  41. package/dist/cjs/const/deployments/filecoin.js.map +1 -1
  42. package/dist/cjs/const/deployments/flare.js +1 -7
  43. package/dist/cjs/const/deployments/flare.js.map +1 -1
  44. package/dist/cjs/const/deployments/goerli.js +1 -13
  45. package/dist/cjs/const/deployments/goerli.js.map +1 -1
  46. package/dist/cjs/const/deployments/kava.js +1 -7
  47. package/dist/cjs/const/deployments/kava.js.map +1 -1
  48. package/dist/cjs/const/deployments/linea.js +1 -8
  49. package/dist/cjs/const/deployments/linea.js.map +1 -1
  50. package/dist/cjs/const/deployments/localhost.js +1 -28
  51. package/dist/cjs/const/deployments/localhost.js.map +1 -1
  52. package/dist/cjs/const/deployments/mainnet.js +1 -4
  53. package/dist/cjs/const/deployments/mainnet.js.map +1 -1
  54. package/dist/cjs/const/deployments/manta.js +1 -7
  55. package/dist/cjs/const/deployments/manta.js.map +1 -1
  56. package/dist/cjs/const/deployments/mantle.js +1 -7
  57. package/dist/cjs/const/deployments/mantle.js.map +1 -1
  58. package/dist/cjs/const/deployments/metis.js +1 -8
  59. package/dist/cjs/const/deployments/metis.js.map +1 -1
  60. package/dist/cjs/const/deployments/mode.js +1 -8
  61. package/dist/cjs/const/deployments/mode.js.map +1 -1
  62. package/dist/cjs/const/deployments/moonbeam.js +1 -7
  63. package/dist/cjs/const/deployments/moonbeam.js.map +1 -1
  64. package/dist/cjs/const/deployments/mumbai.js +1 -14
  65. package/dist/cjs/const/deployments/mumbai.js.map +1 -1
  66. package/dist/cjs/const/deployments/okxtestnet.js +1 -7
  67. package/dist/cjs/const/deployments/okxtestnet.js.map +1 -1
  68. package/dist/cjs/const/deployments/opbnb.js +1 -7
  69. package/dist/cjs/const/deployments/opbnb.js.map +1 -1
  70. package/dist/cjs/const/deployments/optimism.js +1 -9
  71. package/dist/cjs/const/deployments/optimism.js.map +1 -1
  72. package/dist/cjs/const/deployments/optimismgoerli.js +1 -13
  73. package/dist/cjs/const/deployments/optimismgoerli.js.map +1 -1
  74. package/dist/cjs/const/deployments/polygon.js +1 -9
  75. package/dist/cjs/const/deployments/polygon.js.map +1 -1
  76. package/dist/cjs/const/deployments/polyzkevm.js +1 -9
  77. package/dist/cjs/const/deployments/polyzkevm.js.map +1 -1
  78. package/dist/cjs/const/deployments/rinkeby.js +0 -3
  79. package/dist/cjs/const/deployments/rinkeby.js.map +1 -1
  80. package/dist/cjs/const/deployments/rootstock.js +1 -7
  81. package/dist/cjs/const/deployments/rootstock.js.map +1 -1
  82. package/dist/cjs/const/deployments/ropsten.js +1 -6
  83. package/dist/cjs/const/deployments/ropsten.js.map +1 -1
  84. package/dist/cjs/const/deployments/scroll.js +1 -8
  85. package/dist/cjs/const/deployments/scroll.js.map +1 -1
  86. package/dist/cjs/const/deployments/sei.js +1 -7
  87. package/dist/cjs/const/deployments/sei.js.map +1 -1
  88. package/dist/cjs/const/deployments/sonic.js +1 -7
  89. package/dist/cjs/const/deployments/sonic.js.map +1 -1
  90. package/dist/cjs/const/deployments/taiko.js +1 -7
  91. package/dist/cjs/const/deployments/taiko.js.map +1 -1
  92. package/dist/cjs/const/deployments/telos.js +1 -8
  93. package/dist/cjs/const/deployments/telos.js.map +1 -1
  94. package/dist/cjs/const/deployments/thundercore.js +1 -8
  95. package/dist/cjs/const/deployments/thundercore.js.map +1 -1
  96. package/dist/cjs/const/deployments/unichainsepolia.js +1 -7
  97. package/dist/cjs/const/deployments/unichainsepolia.js.map +1 -1
  98. package/dist/cjs/const/deployments/xlayer.js +1 -7
  99. package/dist/cjs/const/deployments/xlayer.js.map +1 -1
  100. package/dist/cjs/const/deployments/zircuit.js +1 -7
  101. package/dist/cjs/const/deployments/zircuit.js.map +1 -1
  102. package/dist/cjs/const/subgraph.js.map +1 -1
  103. package/dist/cjs/index.js +59 -0
  104. package/dist/cjs/index.js.map +1 -1
  105. package/dist/cjs/scripts/processDeployments.js +43 -14
  106. package/dist/cjs/scripts/processDeployments.js.map +1 -1
  107. package/dist/esm/base/SmartRewards.js +461 -0
  108. package/dist/esm/base/SmartRewards.js.map +1 -0
  109. package/dist/esm/base/SubgraphClient.js.map +1 -1
  110. package/dist/esm/base/VaultClient.js +87 -0
  111. package/dist/esm/base/VaultClient.js.map +1 -1
  112. package/dist/esm/client.js +37 -0
  113. package/dist/esm/client.js.map +1 -1
  114. package/dist/esm/const/abis/UniswapPool.js +2 -0
  115. package/dist/esm/const/abis/UniswapPool.js.map +1 -0
  116. package/dist/esm/const/deployments/abis.js +2215 -17113
  117. package/dist/esm/const/deployments/abis.js.map +1 -1
  118. package/dist/esm/const/deployments/apechain.js +1 -7
  119. package/dist/esm/const/deployments/apechain.js.map +1 -1
  120. package/dist/esm/const/deployments/arbitrum.js +1 -10
  121. package/dist/esm/const/deployments/arbitrum.js.map +1 -1
  122. package/dist/esm/const/deployments/arbitrumgoerli.js +1 -13
  123. package/dist/esm/const/deployments/arbitrumgoerli.js.map +1 -1
  124. package/dist/esm/const/deployments/astar.js +1 -7
  125. package/dist/esm/const/deployments/astar.js.map +1 -1
  126. package/dist/esm/const/deployments/astarzkevm.js +1 -7
  127. package/dist/esm/const/deployments/astarzkevm.js.map +1 -1
  128. package/dist/esm/const/deployments/avalanche.js +1 -10
  129. package/dist/esm/const/deployments/avalanche.js.map +1 -1
  130. package/dist/esm/const/deployments/bartiotest.js +1 -7
  131. package/dist/esm/const/deployments/bartiotest.js.map +1 -1
  132. package/dist/esm/const/deployments/base.js +1 -8
  133. package/dist/esm/const/deployments/base.js.map +1 -1
  134. package/dist/esm/const/deployments/blast.js +1 -8
  135. package/dist/esm/const/deployments/blast.js.map +1 -1
  136. package/dist/esm/const/deployments/bsc.js +1 -9
  137. package/dist/esm/const/deployments/bsc.js.map +1 -1
  138. package/dist/esm/const/deployments/bttc.js +1 -7
  139. package/dist/esm/const/deployments/bttc.js.map +1 -1
  140. package/dist/esm/const/deployments/celo.js +1 -9
  141. package/dist/esm/const/deployments/celo.js.map +1 -1
  142. package/dist/esm/const/deployments/evmos.js +1 -8
  143. package/dist/esm/const/deployments/evmos.js.map +1 -1
  144. package/dist/esm/const/deployments/fantom.js +1 -7
  145. package/dist/esm/const/deployments/fantom.js.map +1 -1
  146. package/dist/esm/const/deployments/filecoin.js +1 -7
  147. package/dist/esm/const/deployments/filecoin.js.map +1 -1
  148. package/dist/esm/const/deployments/flare.js +1 -7
  149. package/dist/esm/const/deployments/flare.js.map +1 -1
  150. package/dist/esm/const/deployments/goerli.js +1 -13
  151. package/dist/esm/const/deployments/goerli.js.map +1 -1
  152. package/dist/esm/const/deployments/kava.js +1 -7
  153. package/dist/esm/const/deployments/kava.js.map +1 -1
  154. package/dist/esm/const/deployments/linea.js +1 -8
  155. package/dist/esm/const/deployments/linea.js.map +1 -1
  156. package/dist/esm/const/deployments/localhost.js +1 -28
  157. package/dist/esm/const/deployments/localhost.js.map +1 -1
  158. package/dist/esm/const/deployments/mainnet.js +1 -4
  159. package/dist/esm/const/deployments/mainnet.js.map +1 -1
  160. package/dist/esm/const/deployments/manta.js +1 -7
  161. package/dist/esm/const/deployments/manta.js.map +1 -1
  162. package/dist/esm/const/deployments/mantle.js +1 -7
  163. package/dist/esm/const/deployments/mantle.js.map +1 -1
  164. package/dist/esm/const/deployments/metis.js +1 -8
  165. package/dist/esm/const/deployments/metis.js.map +1 -1
  166. package/dist/esm/const/deployments/mode.js +1 -8
  167. package/dist/esm/const/deployments/mode.js.map +1 -1
  168. package/dist/esm/const/deployments/moonbeam.js +1 -7
  169. package/dist/esm/const/deployments/moonbeam.js.map +1 -1
  170. package/dist/esm/const/deployments/mumbai.js +1 -14
  171. package/dist/esm/const/deployments/mumbai.js.map +1 -1
  172. package/dist/esm/const/deployments/okxtestnet.js +1 -7
  173. package/dist/esm/const/deployments/okxtestnet.js.map +1 -1
  174. package/dist/esm/const/deployments/opbnb.js +1 -7
  175. package/dist/esm/const/deployments/opbnb.js.map +1 -1
  176. package/dist/esm/const/deployments/optimism.js +1 -9
  177. package/dist/esm/const/deployments/optimism.js.map +1 -1
  178. package/dist/esm/const/deployments/optimismgoerli.js +1 -13
  179. package/dist/esm/const/deployments/optimismgoerli.js.map +1 -1
  180. package/dist/esm/const/deployments/polygon.js +1 -9
  181. package/dist/esm/const/deployments/polygon.js.map +1 -1
  182. package/dist/esm/const/deployments/polyzkevm.js +1 -9
  183. package/dist/esm/const/deployments/polyzkevm.js.map +1 -1
  184. package/dist/esm/const/deployments/rinkeby.js +0 -3
  185. package/dist/esm/const/deployments/rinkeby.js.map +1 -1
  186. package/dist/esm/const/deployments/rootstock.js +1 -7
  187. package/dist/esm/const/deployments/rootstock.js.map +1 -1
  188. package/dist/esm/const/deployments/ropsten.js +1 -6
  189. package/dist/esm/const/deployments/ropsten.js.map +1 -1
  190. package/dist/esm/const/deployments/scroll.js +1 -8
  191. package/dist/esm/const/deployments/scroll.js.map +1 -1
  192. package/dist/esm/const/deployments/sei.js +1 -7
  193. package/dist/esm/const/deployments/sei.js.map +1 -1
  194. package/dist/esm/const/deployments/sonic.js +1 -7
  195. package/dist/esm/const/deployments/sonic.js.map +1 -1
  196. package/dist/esm/const/deployments/taiko.js +1 -7
  197. package/dist/esm/const/deployments/taiko.js.map +1 -1
  198. package/dist/esm/const/deployments/telos.js +1 -8
  199. package/dist/esm/const/deployments/telos.js.map +1 -1
  200. package/dist/esm/const/deployments/thundercore.js +1 -8
  201. package/dist/esm/const/deployments/thundercore.js.map +1 -1
  202. package/dist/esm/const/deployments/unichainsepolia.js +1 -7
  203. package/dist/esm/const/deployments/unichainsepolia.js.map +1 -1
  204. package/dist/esm/const/deployments/xlayer.js +1 -7
  205. package/dist/esm/const/deployments/xlayer.js.map +1 -1
  206. package/dist/esm/const/deployments/zircuit.js +1 -7
  207. package/dist/esm/const/deployments/zircuit.js.map +1 -1
  208. package/dist/esm/const/subgraph.js.map +1 -1
  209. package/dist/esm/index.js +59 -0
  210. package/dist/esm/index.js.map +1 -1
  211. package/dist/esm/scripts/processDeployments.js +43 -14
  212. package/dist/esm/scripts/processDeployments.js.map +1 -1
  213. package/dist/types/base/SmartRewards.d.ts +278 -0
  214. package/dist/types/base/SmartRewards.d.ts.map +1 -0
  215. package/dist/types/base/SubgraphClient.d.ts +1 -1
  216. package/dist/types/base/SubgraphClient.d.ts.map +1 -1
  217. package/dist/types/base/VaultClient.d.ts +2 -0
  218. package/dist/types/base/VaultClient.d.ts.map +1 -1
  219. package/dist/types/client.d.ts +39 -0
  220. package/dist/types/client.d.ts.map +1 -1
  221. package/dist/types/const/abis/UniswapPool.d.ts +36 -0
  222. package/dist/types/const/abis/UniswapPool.d.ts.map +1 -0
  223. package/dist/types/const/deployments/abis.d.ts +1896 -13406
  224. package/dist/types/const/deployments/abis.d.ts.map +1 -1
  225. package/dist/types/const/deployments/apechain.d.ts +0 -6
  226. package/dist/types/const/deployments/apechain.d.ts.map +1 -1
  227. package/dist/types/const/deployments/arbitrum.d.ts +0 -9
  228. package/dist/types/const/deployments/arbitrum.d.ts.map +1 -1
  229. package/dist/types/const/deployments/arbitrumgoerli.d.ts +0 -12
  230. package/dist/types/const/deployments/arbitrumgoerli.d.ts.map +1 -1
  231. package/dist/types/const/deployments/astar.d.ts +0 -6
  232. package/dist/types/const/deployments/astar.d.ts.map +1 -1
  233. package/dist/types/const/deployments/astarzkevm.d.ts +0 -6
  234. package/dist/types/const/deployments/astarzkevm.d.ts.map +1 -1
  235. package/dist/types/const/deployments/avalanche.d.ts +0 -9
  236. package/dist/types/const/deployments/avalanche.d.ts.map +1 -1
  237. package/dist/types/const/deployments/bartiotest.d.ts +0 -6
  238. package/dist/types/const/deployments/bartiotest.d.ts.map +1 -1
  239. package/dist/types/const/deployments/base.d.ts +0 -7
  240. package/dist/types/const/deployments/base.d.ts.map +1 -1
  241. package/dist/types/const/deployments/blast.d.ts +0 -7
  242. package/dist/types/const/deployments/blast.d.ts.map +1 -1
  243. package/dist/types/const/deployments/bsc.d.ts +0 -8
  244. package/dist/types/const/deployments/bsc.d.ts.map +1 -1
  245. package/dist/types/const/deployments/bttc.d.ts +0 -6
  246. package/dist/types/const/deployments/bttc.d.ts.map +1 -1
  247. package/dist/types/const/deployments/celo.d.ts +0 -8
  248. package/dist/types/const/deployments/celo.d.ts.map +1 -1
  249. package/dist/types/const/deployments/evmos.d.ts +0 -7
  250. package/dist/types/const/deployments/evmos.d.ts.map +1 -1
  251. package/dist/types/const/deployments/fantom.d.ts +0 -6
  252. package/dist/types/const/deployments/fantom.d.ts.map +1 -1
  253. package/dist/types/const/deployments/filecoin.d.ts +0 -6
  254. package/dist/types/const/deployments/filecoin.d.ts.map +1 -1
  255. package/dist/types/const/deployments/flare.d.ts +0 -6
  256. package/dist/types/const/deployments/flare.d.ts.map +1 -1
  257. package/dist/types/const/deployments/goerli.d.ts +0 -12
  258. package/dist/types/const/deployments/goerli.d.ts.map +1 -1
  259. package/dist/types/const/deployments/kava.d.ts +0 -6
  260. package/dist/types/const/deployments/kava.d.ts.map +1 -1
  261. package/dist/types/const/deployments/linea.d.ts +0 -7
  262. package/dist/types/const/deployments/linea.d.ts.map +1 -1
  263. package/dist/types/const/deployments/localhost.d.ts +0 -27
  264. package/dist/types/const/deployments/localhost.d.ts.map +1 -1
  265. package/dist/types/const/deployments/mainnet.d.ts +1 -4
  266. package/dist/types/const/deployments/mainnet.d.ts.map +1 -1
  267. package/dist/types/const/deployments/manta.d.ts +0 -6
  268. package/dist/types/const/deployments/manta.d.ts.map +1 -1
  269. package/dist/types/const/deployments/mantle.d.ts +0 -6
  270. package/dist/types/const/deployments/mantle.d.ts.map +1 -1
  271. package/dist/types/const/deployments/metis.d.ts +0 -7
  272. package/dist/types/const/deployments/metis.d.ts.map +1 -1
  273. package/dist/types/const/deployments/mode.d.ts +0 -7
  274. package/dist/types/const/deployments/mode.d.ts.map +1 -1
  275. package/dist/types/const/deployments/moonbeam.d.ts +0 -6
  276. package/dist/types/const/deployments/moonbeam.d.ts.map +1 -1
  277. package/dist/types/const/deployments/mumbai.d.ts +0 -13
  278. package/dist/types/const/deployments/mumbai.d.ts.map +1 -1
  279. package/dist/types/const/deployments/okxtestnet.d.ts +0 -6
  280. package/dist/types/const/deployments/okxtestnet.d.ts.map +1 -1
  281. package/dist/types/const/deployments/opbnb.d.ts +0 -6
  282. package/dist/types/const/deployments/opbnb.d.ts.map +1 -1
  283. package/dist/types/const/deployments/optimism.d.ts +0 -8
  284. package/dist/types/const/deployments/optimism.d.ts.map +1 -1
  285. package/dist/types/const/deployments/optimismgoerli.d.ts +0 -12
  286. package/dist/types/const/deployments/optimismgoerli.d.ts.map +1 -1
  287. package/dist/types/const/deployments/polygon.d.ts +0 -8
  288. package/dist/types/const/deployments/polygon.d.ts.map +1 -1
  289. package/dist/types/const/deployments/polyzkevm.d.ts +0 -8
  290. package/dist/types/const/deployments/polyzkevm.d.ts.map +1 -1
  291. package/dist/types/const/deployments/rinkeby.d.ts +0 -3
  292. package/dist/types/const/deployments/rinkeby.d.ts.map +1 -1
  293. package/dist/types/const/deployments/rootstock.d.ts +0 -6
  294. package/dist/types/const/deployments/rootstock.d.ts.map +1 -1
  295. package/dist/types/const/deployments/ropsten.d.ts +0 -5
  296. package/dist/types/const/deployments/ropsten.d.ts.map +1 -1
  297. package/dist/types/const/deployments/scroll.d.ts +0 -7
  298. package/dist/types/const/deployments/scroll.d.ts.map +1 -1
  299. package/dist/types/const/deployments/sei.d.ts +0 -6
  300. package/dist/types/const/deployments/sei.d.ts.map +1 -1
  301. package/dist/types/const/deployments/sonic.d.ts +0 -6
  302. package/dist/types/const/deployments/sonic.d.ts.map +1 -1
  303. package/dist/types/const/deployments/taiko.d.ts +0 -6
  304. package/dist/types/const/deployments/taiko.d.ts.map +1 -1
  305. package/dist/types/const/deployments/telos.d.ts +0 -7
  306. package/dist/types/const/deployments/telos.d.ts.map +1 -1
  307. package/dist/types/const/deployments/thundercore.d.ts +0 -7
  308. package/dist/types/const/deployments/thundercore.d.ts.map +1 -1
  309. package/dist/types/const/deployments/unichainsepolia.d.ts +0 -6
  310. package/dist/types/const/deployments/unichainsepolia.d.ts.map +1 -1
  311. package/dist/types/const/deployments/xlayer.d.ts +0 -6
  312. package/dist/types/const/deployments/xlayer.d.ts.map +1 -1
  313. package/dist/types/const/deployments/zircuit.d.ts +0 -6
  314. package/dist/types/const/deployments/zircuit.d.ts.map +1 -1
  315. package/dist/types/const/subgraph.d.ts.map +1 -1
  316. package/dist/types/index.d.ts +59 -0
  317. package/dist/types/index.d.ts.map +1 -1
  318. package/package.json +23 -3
@@ -0,0 +1,465 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SmartRewards = void 0;
4
+ const subgraph_1 = require("../const/subgraph");
5
+ const viem_1 = require("viem");
6
+ class SmartRewards {
7
+ constructor(client, publicClient, walletClient) {
8
+ this.client = client;
9
+ this.publicClient = publicClient;
10
+ this.walletClient = walletClient;
11
+ }
12
+ async getCampaigns(chainId) {
13
+ const campaigns = await this.client.campaigns({
14
+ filter: {
15
+ chainId,
16
+ },
17
+ });
18
+ return {
19
+ data: (campaigns.data?.campaigns.edges.map((edge) => ({
20
+ ...edge.node,
21
+ vaults: edge.node.vaults?.map(vault => ({
22
+ ...vault,
23
+ beaconName: vault.beaconName || '',
24
+ name: vault.name || '',
25
+ protocol: vault.protocol || '',
26
+ protocolBaseType: vault.protocolBaseType || '',
27
+ targetProtocol: vault.targetProtocol || ''
28
+ })) || []
29
+ })) || []),
30
+ status: campaigns.status,
31
+ success: true,
32
+ };
33
+ }
34
+ /**
35
+ * Retrieves claim proofs for a user that can be used to claim rewards
36
+ * @param user - Address of the user to get proofs for
37
+ * @param chainId - Chain ID where the claims exist
38
+ * @param campaignId - Optional campaign ID to filter claims
39
+ * @returns Promise resolving to claim proof data with pagination support
40
+ */
41
+ async getClaimProofs(user, chainId, campaignId) {
42
+ try {
43
+ const response = await this.client.claimProofs({
44
+ user,
45
+ filter: {
46
+ chainId,
47
+ campaignId
48
+ }
49
+ });
50
+ if (!response.data?.claimProofs) {
51
+ return {
52
+ data: null,
53
+ status: response.status,
54
+ success: true
55
+ };
56
+ }
57
+ const transformedResponse = {
58
+ totalCount: response.data.claimProofs.totalCount,
59
+ pageInfo: {
60
+ hasNextPage: response.data.claimProofs.pageInfo.hasNextPage,
61
+ endCursor: response.data.claimProofs.pageInfo.endCursor || undefined
62
+ },
63
+ edges: response.data.claimProofs.edges.map(edge => ({
64
+ cursor: edge.cursor,
65
+ node: {
66
+ ...edge.node,
67
+ proof: edge.node.proof?.filter((p) => p !== null) || []
68
+ }
69
+ }))
70
+ };
71
+ return {
72
+ data: transformedResponse,
73
+ status: response.status,
74
+ success: true
75
+ };
76
+ }
77
+ catch (error) {
78
+ return {
79
+ data: null,
80
+ status: 500,
81
+ success: false,
82
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
83
+ };
84
+ }
85
+ }
86
+ /**
87
+ * Retrieves historical claim data for a specific pool
88
+ * @param chainId - Chain ID where the pool exists
89
+ * @param pool - Address or identifier of the pool
90
+ * @param user - Optional user address to filter claims
91
+ * @returns Promise resolving to paginated claim history data
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * // Get all claims for a pool
96
+ * const allClaims = await smartRewards.getClaimRewardsByPool(1, poolAddress);
97
+ *
98
+ * // Get claims for a specific user in a pool
99
+ * const userClaims = await smartRewards.getClaimRewardsByPool(1, poolAddress, userAddress);
100
+ * ```
101
+ */
102
+ async getClaimRewardsByPool(chainId, pool, user) {
103
+ try {
104
+ const response = await this.client.claimRewards({
105
+ poolId: pool,
106
+ chainId,
107
+ filter: user ? { user } : undefined
108
+ });
109
+ if (!response.data?.claimRewards) {
110
+ return {
111
+ data: null,
112
+ status: response.status,
113
+ success: true
114
+ };
115
+ }
116
+ const transformedResponse = {
117
+ totalCount: response.data.claimRewards.totalCount,
118
+ pageInfo: {
119
+ hasNextPage: response.data.claimRewards.pageInfo.hasNextPage,
120
+ endCursor: response.data.claimRewards.pageInfo.endCursor
121
+ },
122
+ edges: response.data.claimRewards.edges.map(edge => ({
123
+ cursor: edge.cursor,
124
+ node: {
125
+ ...edge.node,
126
+ timestamp: Number(edge.node.timestamp)
127
+ }
128
+ }))
129
+ };
130
+ return {
131
+ data: transformedResponse,
132
+ status: response.status,
133
+ success: true
134
+ };
135
+ }
136
+ catch (error) {
137
+ return {
138
+ data: null,
139
+ status: 500,
140
+ success: false,
141
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
142
+ };
143
+ }
144
+ }
145
+ /**
146
+ * Gets a comprehensive summary of a user's reward status
147
+ * @param user - Address of the user
148
+ * @param chainId - Chain ID to check rewards on
149
+ * @param campaignId - Optional campaign ID to filter rewards
150
+ * @param decimals - Number of decimals for formatting (default: 18)
151
+ * @returns Promise resolving to reward summary with both native and formatted values
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * const summary = await smartRewards.getRewardSummary(userAddress, chainId);
156
+ * console.log('Total earned:', summary.data.totalEarned.formatted);
157
+ * console.log('Available to claim:', summary.data.claimable.formatted);
158
+ * ```
159
+ */
160
+ async getRewardSummary(user, chainId, campaignId, decimals = 18) {
161
+ try {
162
+ // Get claimable rewards
163
+ const claimProofs = await this.getClaimProofs(user, chainId, campaignId);
164
+ const claimableAmount = claimProofs.data?.edges.reduce((sum, edge) => sum + BigInt(edge.node.amount.split('.')[0]), 0n) || 0n;
165
+ // Get claimed rewards
166
+ const claimedRewards = await this.getClaimRewardsByPool(chainId, campaignId?.toString() || '', user);
167
+ const claimedAmount = claimedRewards.data?.edges.reduce((sum, edge) => sum + BigInt(edge.node.amount.split('.')[0]), 0n) || 0n;
168
+ // Calculate totals
169
+ const totalEarned = claimableAmount + claimedAmount;
170
+ const summary = {
171
+ totalEarned: {
172
+ native: totalEarned,
173
+ formatted: (0, viem_1.formatUnits)(totalEarned, decimals)
174
+ },
175
+ totalClaimed: {
176
+ native: claimedAmount,
177
+ formatted: (0, viem_1.formatUnits)(claimedAmount, decimals)
178
+ },
179
+ claimable: {
180
+ native: claimableAmount,
181
+ formatted: (0, viem_1.formatUnits)(claimableAmount, decimals)
182
+ }
183
+ };
184
+ return {
185
+ data: summary,
186
+ status: 200,
187
+ success: true
188
+ };
189
+ }
190
+ catch (error) {
191
+ return {
192
+ data: null,
193
+ status: 500,
194
+ success: false,
195
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
196
+ };
197
+ }
198
+ }
199
+ async getSmartRewarderContracts() {
200
+ try {
201
+ const response = await this.client.smartRewarderContracts();
202
+ return {
203
+ data: response.data?.smartRewarderContracts || [],
204
+ status: response.status,
205
+ success: true
206
+ };
207
+ }
208
+ catch (error) {
209
+ return {
210
+ data: null,
211
+ status: 500,
212
+ success: false,
213
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
214
+ };
215
+ }
216
+ }
217
+ /**
218
+ * Claims rewards from the smart rewarder contract
219
+ * @param params - Parameters required for claiming rewards
220
+ * @returns Promise resolving to transaction hash if successful
221
+ *
222
+ * @remarks
223
+ * This method handles the low-level interaction with the smart contract.
224
+ * For a higher-level interface, consider using {@link claimCampaignRewards} instead.
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * // Get claim proofs
229
+ * const claimProofs = await smartRewards.getClaimProofs(userAddress, chainId, campaignId);
230
+ *
231
+ * // Get smart rewarder contract
232
+ * const rewarders = await smartRewards.getSmartRewarderContracts();
233
+ * const rewarder = rewarders.data?.find(r => r.chainId === chainId);
234
+ *
235
+ * if (claimProofs.data && rewarder) {
236
+ * // Prepare claim data
237
+ * const claimData = smartRewards.prepareClaimData(claimProofs.data);
238
+ * claimData.rewarderAddress = rewarder.address as Address;
239
+ *
240
+ * // Claim rewards
241
+ * const tx = await smartRewards.claimReward(claimData);
242
+ * }
243
+ * ```
244
+ *
245
+ * @throws Will throw an error if no wallet account is found
246
+ * @throws Will throw an error if contract simulation fails
247
+ */
248
+ async claimReward(params) {
249
+ try {
250
+ const account = await this.walletClient.getAddresses();
251
+ if (!account[0])
252
+ throw new Error('No account found');
253
+ const { request } = await this.publicClient.simulateContract({
254
+ address: params.rewarderAddress,
255
+ abi: [{
256
+ type: 'function',
257
+ inputs: [
258
+ { name: 'users', internalType: 'address[]', type: 'address[]' },
259
+ { name: 'campaignIds', internalType: 'uint256[]', type: 'uint256[]' },
260
+ { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },
261
+ { name: 'proofs', internalType: 'bytes32[][]', type: 'bytes32[][]' }
262
+ ],
263
+ name: 'claim',
264
+ outputs: [],
265
+ stateMutability: 'nonpayable'
266
+ }],
267
+ functionName: 'claim',
268
+ args: [
269
+ params.users,
270
+ params.campaignIds,
271
+ params.amounts,
272
+ params.proofs
273
+ ],
274
+ account: account[0]
275
+ });
276
+ const hash = await this.walletClient.writeContract(request);
277
+ return {
278
+ data: hash,
279
+ status: 200,
280
+ success: true
281
+ };
282
+ }
283
+ catch (error) {
284
+ return {
285
+ data: null,
286
+ status: 500,
287
+ success: false,
288
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
289
+ };
290
+ }
291
+ }
292
+ /**
293
+ * Helper function to prepare claim data from claim proofs
294
+ * @param proofs - The claim proofs response from getClaimProofs
295
+ * @returns ClaimRewardParams object ready for use with claimReward
296
+ *
297
+ * @remarks
298
+ * This helper function transforms the claim proofs into the format required by the smart contract.
299
+ * Note that the returned object's rewarderAddress is empty and must be set before using with claimReward.
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * // Get claim proofs and rewarder contract
304
+ * const proofs = await smartRewards.getClaimProofs(userAddress, chainId);
305
+ * const rewarders = await smartRewards.getSmartRewarderContracts();
306
+ * const rewarder = rewarders.data?.find(r => r.chainId === chainId);
307
+ *
308
+ * if (proofs.data && rewarder) {
309
+ * // Prepare the claim data
310
+ * const claimData = smartRewards.prepareClaimData(proofs.data);
311
+ *
312
+ * // Set the rewarder address (required)
313
+ * claimData.rewarderAddress = rewarder.address as Address;
314
+ *
315
+ * // Now the data is ready for claiming
316
+ * const tx = await smartRewards.claimReward(claimData);
317
+ * }
318
+ * ```
319
+ */
320
+ prepareClaimData(proofs) {
321
+ return {
322
+ users: proofs.edges.map(edge => edge.node.user),
323
+ campaignIds: proofs.edges.map(edge => BigInt(edge.node.campaignId)),
324
+ amounts: proofs.edges.map(edge => BigInt(edge.node.amount.split('.')[0])),
325
+ proofs: proofs.edges.map(edge => edge.node.proof),
326
+ rewarderAddress: '' // This needs to be set by the caller
327
+ };
328
+ }
329
+ /**
330
+ * Convenience function to handle the entire claim process
331
+ * @param userAddress The address of the user claiming rewards
332
+ * @param chainId The chain ID where the campaign exists
333
+ * @param campaignId Optional campaign ID to filter claims
334
+ * @returns Transaction hash if successful, or error details if failed
335
+ */
336
+ async claimCampaignRewards(userAddress, chainId, campaignId) {
337
+ try {
338
+ // Get claim proofs
339
+ const claimProofsResponse = await this.getClaimProofs(userAddress, chainId, campaignId);
340
+ if (!claimProofsResponse.data || claimProofsResponse.data.edges.length === 0) {
341
+ return {
342
+ data: null,
343
+ status: 400,
344
+ success: false,
345
+ error: 'No claim proofs found'
346
+ };
347
+ }
348
+ // Get smart rewarder contract
349
+ const rewarderResponse = await this.getSmartRewarderContracts();
350
+ const rewarder = rewarderResponse.data?.find(r => r.chainId === chainId);
351
+ if (!rewarder) {
352
+ return {
353
+ data: null,
354
+ status: 400,
355
+ success: false,
356
+ error: `No smart rewarder contract found for chain ${chainId}`
357
+ };
358
+ }
359
+ // Prepare claim data
360
+ const claimData = this.prepareClaimData(claimProofsResponse.data);
361
+ claimData.rewarderAddress = rewarder.address;
362
+ // Execute claim
363
+ return await this.claimReward(claimData);
364
+ }
365
+ catch (error) {
366
+ return {
367
+ data: null,
368
+ status: 500,
369
+ success: false,
370
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
371
+ };
372
+ }
373
+ }
374
+ /**
375
+ * Prepares the claim rewards campaign object with all necessary data for contract interaction
376
+ * @param userAddress The address of the user claiming rewards
377
+ * @param chainId The chain ID where the campaign exists
378
+ * @param campaignId Optional campaign ID to filter claims
379
+ * @returns Promise resolving to an object containing all necessary data for claiming rewards
380
+ *
381
+ * @example
382
+ * ```typescript
383
+ * // Get the prepared claim data
384
+ * const claimData = await smartRewards.prepareClaimRewardsCampaign(userAddress, chainId, campaignId);
385
+ *
386
+ * if (claimData.success) {
387
+ * // Use the data with your own contract interaction methods
388
+ * const { address, abi, functionName, args } = claimData.data;
389
+ * // Execute the contract call using your preferred method
390
+ * }
391
+ * ```
392
+ */
393
+ async prepareClaimRewardsCampaign(userAddress, chainId, campaignId) {
394
+ try {
395
+ // Get claim proofs
396
+ const claimProofsResponse = await this.getClaimProofs(userAddress, chainId, campaignId);
397
+ if (!claimProofsResponse.data || claimProofsResponse.data.edges.length === 0) {
398
+ return {
399
+ data: null,
400
+ status: 400,
401
+ success: false,
402
+ error: 'No claim proofs found'
403
+ };
404
+ }
405
+ // Get smart rewarder contract
406
+ const rewarderResponse = await this.getSmartRewarderContracts();
407
+ const rewarder = rewarderResponse.data?.find(r => r.chainId === chainId);
408
+ if (!rewarder) {
409
+ return {
410
+ data: null,
411
+ status: 400,
412
+ success: false,
413
+ error: `No smart rewarder contract found for chain ${chainId}`
414
+ };
415
+ }
416
+ // Prepare claim data
417
+ const claimData = this.prepareClaimData(claimProofsResponse.data);
418
+ // Prepare the complete contract interaction data
419
+ return {
420
+ data: {
421
+ address: rewarder.address,
422
+ abi: [{
423
+ type: 'function',
424
+ inputs: [
425
+ { name: 'users', internalType: 'address[]', type: 'address[]' },
426
+ { name: 'campaignIds', internalType: 'uint256[]', type: 'uint256[]' },
427
+ { name: 'amounts', internalType: 'uint256[]', type: 'uint256[]' },
428
+ { name: 'proofs', internalType: 'bytes32[][]', type: 'bytes32[][]' }
429
+ ],
430
+ name: 'claim',
431
+ outputs: [],
432
+ stateMutability: 'nonpayable'
433
+ }],
434
+ functionName: 'claim',
435
+ args: [
436
+ claimData.users,
437
+ claimData.campaignIds,
438
+ claimData.amounts,
439
+ claimData.proofs
440
+ ]
441
+ },
442
+ status: 200,
443
+ success: true
444
+ };
445
+ }
446
+ catch (error) {
447
+ return {
448
+ data: null,
449
+ status: 500,
450
+ success: false,
451
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
452
+ };
453
+ }
454
+ }
455
+ /**
456
+ * Checks if a chain is supported by checking if it has a subgraph URL
457
+ * @param chainId The chain ID to check
458
+ * @returns boolean indicating if the chain is supported
459
+ */
460
+ supportsChain(chainId) {
461
+ return Object.keys(subgraph_1.subgraphs).includes(chainId.toString());
462
+ }
463
+ }
464
+ exports.SmartRewards = SmartRewards;
465
+ //# sourceMappingURL=SmartRewards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmartRewards.js","sourceRoot":"","sources":["../../../src/base/SmartRewards.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SubgraphClient.js","sourceRoot":"","sources":["../../../src/base/SubgraphClient.ts"],"names":[],"mappings":";;;AAEA,gDAA8C;AAE9C,MAAsB,cAAc;IAGlC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,oBAAoB,CAClC,KAAa,EACb,SAA+B;QAE/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK;oBACL,SAAS;iBACV,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAS;gBACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAS;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,cAAc,CAAC,OAAe;QACtC,OAAO,oBAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAe;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,oBAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAlFD,wCAkFC"}
1
+ {"version":3,"file":"SubgraphClient.js","sourceRoot":"","sources":["../../../src/base/SubgraphClient.ts"],"names":[],"mappings":";;;AAEA,gDAA8C;AAE9C,MAAsB,cAAc;IAGlC,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,oBAAoB,CAClC,KAAa,EACb,SAAmC;QAEnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAE5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK;oBACL,SAAS;iBACV,CAAC;aACH,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAErC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAS;gBACtB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,IAAI,EAAE,IAAS;gBACf,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACO,cAAc,CAAC,OAAe;QACtC,OAAO,oBAAS,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAe;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,oBAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAlFD,wCAkFC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VaultClient = void 0;
4
4
  const SubgraphClient_1 = require("./SubgraphClient");
5
5
  const abis_1 = require("../const/deployments/abis");
6
+ const UniswapPool_1 = require("../const/abis/UniswapPool");
6
7
  const VAULT_ABI = abis_1.abis.QuickSwapUniv3MultiPositionLiquidityManager;
7
8
  const PERIPHERY_ABI = abis_1.abis.SteerPeriphery;
8
9
  class VaultClient extends SubgraphClient_1.SubgraphClient {
@@ -84,6 +85,70 @@ class VaultClient extends SubgraphClient_1.SubgraphClient {
84
85
  };
85
86
  }
86
87
  }
88
+ async getDepositRatio(vaultAddress) {
89
+ try {
90
+ // Get vault details to check balances and decimals
91
+ const vaultDetails = await this.publicClient.readContract({
92
+ address: vaultAddress,
93
+ abi: PERIPHERY_ABI,
94
+ functionName: 'vaultDetailsByAddress',
95
+ args: [vaultAddress]
96
+ });
97
+ const token0Balance = vaultDetails.token0Balance;
98
+ const token1Balance = vaultDetails.token1Balance;
99
+ const token0Decimals = vaultDetails.token0Decimals;
100
+ const token1Decimals = vaultDetails.token1Decimals;
101
+ // Case 1: No liquidity in the vault
102
+ if (token0Balance === 0n && token1Balance === 0n) {
103
+ // Get the pool contract to fetch current price
104
+ const pool = await this.pool(vaultAddress);
105
+ if (!pool.data)
106
+ throw new Error('Failed to retrieve pool for ratio calculation');
107
+ // Get current sqrtPriceX96
108
+ const [sqrtPriceX96] = await this.publicClient.readContract({
109
+ address: pool.data,
110
+ abi: UniswapPool_1.UniswapV3PoolABI,
111
+ functionName: 'slot0'
112
+ });
113
+ // Calculate price = (sqrtPriceX96^2) / 2^192
114
+ const price = (sqrtPriceX96 * sqrtPriceX96) / (2n ** 192n);
115
+ // Adjust for decimal differences
116
+ const decimalAdjustment = 10n ** BigInt(token1Decimals - token0Decimals);
117
+ const nativeTokenRatio = price / decimalAdjustment;
118
+ return {
119
+ data: nativeTokenRatio,
120
+ status: 200,
121
+ success: true
122
+ };
123
+ }
124
+ // Case 2: Vault has liquidity
125
+ // If token1Balance is 0, return token0Balance
126
+ if (token1Balance === 0n) {
127
+ return {
128
+ data: token0Balance,
129
+ status: 200,
130
+ success: true
131
+ };
132
+ }
133
+ // Calculate ratio = token0Balance / token1Balance
134
+ // Adjust for decimal precision
135
+ const decimalAdjustment = 10n ** BigInt(token1Decimals - token0Decimals);
136
+ const ratio = (token0Balance * decimalAdjustment) / token1Balance;
137
+ return {
138
+ data: ratio,
139
+ status: 200,
140
+ success: true
141
+ };
142
+ }
143
+ catch (error) {
144
+ return {
145
+ data: null,
146
+ status: 500,
147
+ success: false,
148
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
149
+ };
150
+ }
151
+ }
87
152
  /**
88
153
  * Withdraws tokens from a vault
89
154
  * @param params The withdrawal parameters
@@ -311,6 +376,28 @@ class VaultClient extends SubgraphClient_1.SubgraphClient {
311
376
  };
312
377
  }
313
378
  }
379
+ async pool(vaultAddress) {
380
+ try {
381
+ const pool = await this.publicClient.readContract({
382
+ address: vaultAddress,
383
+ abi: VAULT_ABI,
384
+ functionName: 'pool',
385
+ });
386
+ return {
387
+ data: pool,
388
+ status: 200,
389
+ success: true,
390
+ };
391
+ }
392
+ catch (error) {
393
+ return {
394
+ data: null,
395
+ status: 500,
396
+ success: false,
397
+ error: error instanceof Error ? error.message : 'Unknown error occurred',
398
+ };
399
+ }
400
+ }
314
401
  }
315
402
  exports.VaultClient = VaultClient;
316
403
  //# sourceMappingURL=VaultClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VaultClient.js","sourceRoot":"","sources":["../../../src/base/VaultClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VaultClient.js","sourceRoot":"","sources":["../../../src/base/VaultClient.ts"],"names":[],"mappings":"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"}