@alphafi/alphafi-sdk 0.0.107 → 1.0.1

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 (1203) hide show
  1. package/README.md +378 -130
  2. package/dist/cjs/core/index.d.ts +159 -0
  3. package/dist/cjs/core/index.d.ts.map +1 -0
  4. package/dist/cjs/core/index.js +253 -0
  5. package/dist/cjs/core/index.js.map +1 -0
  6. package/dist/cjs/core/types.d.ts +135 -0
  7. package/dist/cjs/core/types.d.ts.map +1 -0
  8. package/dist/cjs/core/types.js +7 -0
  9. package/dist/cjs/core/types.js.map +1 -0
  10. package/dist/cjs/index.d.ts +7 -46
  11. package/dist/cjs/index.d.ts.map +1 -1
  12. package/dist/cjs/index.js +8 -166
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/models/blockchain.d.ts +45 -0
  15. package/dist/cjs/models/blockchain.d.ts.map +1 -0
  16. package/dist/cjs/models/blockchain.js +237 -0
  17. package/dist/cjs/models/blockchain.js.map +1 -0
  18. package/dist/cjs/models/coinInfoProvider.d.ts +23 -0
  19. package/dist/cjs/models/coinInfoProvider.d.ts.map +1 -0
  20. package/dist/cjs/models/coinInfoProvider.js +87 -0
  21. package/dist/cjs/models/coinInfoProvider.js.map +1 -0
  22. package/dist/cjs/models/index.d.ts +3 -0
  23. package/dist/cjs/models/index.d.ts.map +1 -0
  24. package/dist/cjs/models/index.js +8 -0
  25. package/dist/cjs/models/index.js.map +1 -0
  26. package/dist/cjs/models/portfolio.d.ts +21 -0
  27. package/dist/cjs/models/portfolio.d.ts.map +1 -0
  28. package/dist/cjs/models/portfolio.js +173 -0
  29. package/dist/cjs/models/portfolio.js.map +1 -0
  30. package/dist/cjs/models/protocol.d.ts +25 -0
  31. package/dist/cjs/models/protocol.d.ts.map +1 -0
  32. package/dist/cjs/models/protocol.js +141 -0
  33. package/dist/cjs/models/protocol.js.map +1 -0
  34. package/dist/cjs/models/strategyContext.d.ts +150 -0
  35. package/dist/cjs/models/strategyContext.d.ts.map +1 -0
  36. package/dist/cjs/models/strategyContext.js +829 -0
  37. package/dist/cjs/models/strategyContext.js.map +1 -0
  38. package/dist/cjs/models/swap.d.ts +11 -0
  39. package/dist/cjs/models/swap.d.ts.map +1 -0
  40. package/dist/cjs/models/swap.js +60 -0
  41. package/dist/cjs/models/swap.js.map +1 -0
  42. package/dist/cjs/models/types.d.ts +145 -0
  43. package/dist/cjs/models/types.d.ts.map +1 -0
  44. package/dist/cjs/models/types.js.map +1 -0
  45. package/dist/cjs/strategies/alphaVault.d.ts +279 -0
  46. package/dist/cjs/strategies/alphaVault.d.ts.map +1 -0
  47. package/dist/cjs/strategies/alphaVault.js +891 -0
  48. package/dist/cjs/strategies/alphaVault.js.map +1 -0
  49. package/dist/cjs/strategies/autobalanceLp.d.ts +197 -0
  50. package/dist/cjs/strategies/autobalanceLp.d.ts.map +1 -0
  51. package/dist/cjs/strategies/autobalanceLp.js +567 -0
  52. package/dist/cjs/strategies/autobalanceLp.js.map +1 -0
  53. package/dist/cjs/strategies/fungibleLending.d.ts +98 -0
  54. package/dist/cjs/strategies/fungibleLending.d.ts.map +1 -0
  55. package/dist/cjs/strategies/fungibleLending.js +204 -0
  56. package/dist/cjs/strategies/fungibleLending.js.map +1 -0
  57. package/dist/cjs/strategies/fungibleLp.d.ts +165 -0
  58. package/dist/cjs/strategies/fungibleLp.d.ts.map +1 -0
  59. package/dist/cjs/strategies/fungibleLp.js +398 -0
  60. package/dist/cjs/strategies/fungibleLp.js.map +1 -0
  61. package/dist/cjs/strategies/index.d.ts +26 -0
  62. package/dist/cjs/strategies/index.d.ts.map +1 -0
  63. package/dist/cjs/strategies/index.js +24 -0
  64. package/dist/cjs/strategies/index.js.map +1 -0
  65. package/dist/cjs/strategies/lending.d.ts +155 -0
  66. package/dist/cjs/strategies/lending.d.ts.map +1 -0
  67. package/dist/cjs/strategies/lending.js +828 -0
  68. package/dist/cjs/strategies/lending.js.map +1 -0
  69. package/dist/cjs/strategies/looping.d.ts +176 -0
  70. package/dist/cjs/strategies/looping.d.ts.map +1 -0
  71. package/dist/cjs/strategies/looping.js +978 -0
  72. package/dist/cjs/strategies/looping.js.map +1 -0
  73. package/dist/cjs/strategies/lp.d.ts +207 -0
  74. package/dist/cjs/strategies/lp.d.ts.map +1 -0
  75. package/dist/cjs/strategies/lp.js +1452 -0
  76. package/dist/cjs/strategies/lp.js.map +1 -0
  77. package/dist/cjs/strategies/lyf.d.ts +207 -0
  78. package/dist/cjs/strategies/lyf.d.ts.map +1 -0
  79. package/dist/cjs/strategies/lyf.js +649 -0
  80. package/dist/cjs/strategies/lyf.js.map +1 -0
  81. package/dist/cjs/strategies/singleAssetLooping.d.ts +152 -0
  82. package/dist/cjs/strategies/singleAssetLooping.d.ts.map +1 -0
  83. package/dist/cjs/strategies/singleAssetLooping.js +631 -0
  84. package/dist/cjs/strategies/singleAssetLooping.js.map +1 -0
  85. package/dist/cjs/strategies/slushLending.d.ts +131 -0
  86. package/dist/cjs/strategies/slushLending.d.ts.map +1 -0
  87. package/dist/cjs/strategies/slushLending.js +392 -0
  88. package/dist/cjs/strategies/slushLending.js.map +1 -0
  89. package/dist/cjs/strategies/strategy.d.ts +198 -0
  90. package/dist/cjs/strategies/strategy.d.ts.map +1 -0
  91. package/dist/cjs/strategies/strategy.js +196 -0
  92. package/dist/cjs/strategies/strategy.js.map +1 -0
  93. package/dist/cjs/utils/cache.d.ts +98 -0
  94. package/dist/cjs/utils/cache.d.ts.map +1 -0
  95. package/dist/cjs/utils/cache.js +203 -0
  96. package/dist/cjs/utils/cache.js.map +1 -0
  97. package/dist/cjs/utils/constants.d.ts +236 -2
  98. package/dist/cjs/utils/constants.d.ts.map +1 -1
  99. package/dist/cjs/utils/constants.js +244 -107
  100. package/dist/cjs/utils/constants.js.map +1 -1
  101. package/dist/cjs/utils/poolMap.d.ts +20 -0
  102. package/dist/cjs/utils/poolMap.d.ts.map +1 -0
  103. package/dist/cjs/utils/poolMap.js +237 -0
  104. package/dist/cjs/utils/poolMap.js.map +1 -0
  105. package/dist/cjs/utils/testing-pools.d.ts +3 -0
  106. package/dist/cjs/utils/testing-pools.d.ts.map +1 -0
  107. package/dist/cjs/utils/testing-pools.js +27 -0
  108. package/dist/cjs/utils/testing-pools.js.map +1 -0
  109. package/dist/esm/core/index.d.ts +159 -0
  110. package/dist/esm/core/index.d.ts.map +1 -0
  111. package/dist/esm/core/index.js +249 -0
  112. package/dist/esm/core/index.js.map +1 -0
  113. package/dist/esm/core/types.d.ts +135 -0
  114. package/dist/esm/core/types.d.ts.map +1 -0
  115. package/dist/esm/core/types.js +6 -0
  116. package/dist/esm/core/types.js.map +1 -0
  117. package/dist/esm/index.d.ts +7 -46
  118. package/dist/esm/index.d.ts.map +1 -1
  119. package/dist/esm/index.js +8 -49
  120. package/dist/esm/index.js.map +1 -1
  121. package/dist/esm/models/blockchain.d.ts +45 -0
  122. package/dist/esm/models/blockchain.d.ts.map +1 -0
  123. package/dist/esm/models/blockchain.js +233 -0
  124. package/dist/esm/models/blockchain.js.map +1 -0
  125. package/dist/esm/models/coinInfoProvider.d.ts +23 -0
  126. package/dist/esm/models/coinInfoProvider.d.ts.map +1 -0
  127. package/dist/esm/models/coinInfoProvider.js +83 -0
  128. package/dist/esm/models/coinInfoProvider.js.map +1 -0
  129. package/dist/esm/models/index.d.ts +3 -0
  130. package/dist/esm/models/index.d.ts.map +1 -0
  131. package/dist/esm/models/index.js +3 -0
  132. package/dist/esm/models/index.js.map +1 -0
  133. package/dist/esm/models/portfolio.d.ts +21 -0
  134. package/dist/esm/models/portfolio.d.ts.map +1 -0
  135. package/dist/esm/models/portfolio.js +169 -0
  136. package/dist/esm/models/portfolio.js.map +1 -0
  137. package/dist/esm/models/protocol.d.ts +25 -0
  138. package/dist/esm/models/protocol.d.ts.map +1 -0
  139. package/dist/esm/models/protocol.js +137 -0
  140. package/dist/esm/models/protocol.js.map +1 -0
  141. package/dist/esm/models/strategyContext.d.ts +150 -0
  142. package/dist/esm/models/strategyContext.d.ts.map +1 -0
  143. package/dist/esm/models/strategyContext.js +825 -0
  144. package/dist/esm/models/strategyContext.js.map +1 -0
  145. package/dist/esm/models/swap.d.ts +11 -0
  146. package/dist/esm/models/swap.d.ts.map +1 -0
  147. package/dist/esm/models/swap.js +58 -0
  148. package/dist/esm/models/swap.js.map +1 -0
  149. package/dist/esm/models/types.d.ts +145 -0
  150. package/dist/esm/models/types.d.ts.map +1 -0
  151. package/dist/esm/models/types.js.map +1 -0
  152. package/dist/esm/strategies/alphaVault.d.ts +279 -0
  153. package/dist/esm/strategies/alphaVault.d.ts.map +1 -0
  154. package/dist/esm/strategies/alphaVault.js +887 -0
  155. package/dist/esm/strategies/alphaVault.js.map +1 -0
  156. package/dist/esm/strategies/autobalanceLp.d.ts +197 -0
  157. package/dist/esm/strategies/autobalanceLp.d.ts.map +1 -0
  158. package/dist/esm/strategies/autobalanceLp.js +562 -0
  159. package/dist/esm/strategies/autobalanceLp.js.map +1 -0
  160. package/dist/esm/strategies/fungibleLending.d.ts +98 -0
  161. package/dist/esm/strategies/fungibleLending.d.ts.map +1 -0
  162. package/dist/esm/strategies/fungibleLending.js +200 -0
  163. package/dist/esm/strategies/fungibleLending.js.map +1 -0
  164. package/dist/esm/strategies/fungibleLp.d.ts +165 -0
  165. package/dist/esm/strategies/fungibleLp.d.ts.map +1 -0
  166. package/dist/esm/strategies/fungibleLp.js +393 -0
  167. package/dist/esm/strategies/fungibleLp.js.map +1 -0
  168. package/dist/esm/strategies/index.d.ts +26 -0
  169. package/dist/esm/strategies/index.d.ts.map +1 -0
  170. package/dist/esm/strategies/index.js +18 -0
  171. package/dist/esm/strategies/index.js.map +1 -0
  172. package/dist/esm/strategies/lending.d.ts +155 -0
  173. package/dist/esm/strategies/lending.d.ts.map +1 -0
  174. package/dist/esm/strategies/lending.js +824 -0
  175. package/dist/esm/strategies/lending.js.map +1 -0
  176. package/dist/esm/strategies/looping.d.ts +176 -0
  177. package/dist/esm/strategies/looping.d.ts.map +1 -0
  178. package/dist/esm/strategies/looping.js +974 -0
  179. package/dist/esm/strategies/looping.js.map +1 -0
  180. package/dist/esm/strategies/lp.d.ts +207 -0
  181. package/dist/esm/strategies/lp.d.ts.map +1 -0
  182. package/dist/esm/strategies/lp.js +1447 -0
  183. package/dist/esm/strategies/lp.js.map +1 -0
  184. package/dist/esm/strategies/lyf.d.ts +207 -0
  185. package/dist/esm/strategies/lyf.d.ts.map +1 -0
  186. package/dist/esm/strategies/lyf.js +644 -0
  187. package/dist/esm/strategies/lyf.js.map +1 -0
  188. package/dist/esm/strategies/singleAssetLooping.d.ts +152 -0
  189. package/dist/esm/strategies/singleAssetLooping.d.ts.map +1 -0
  190. package/dist/esm/strategies/singleAssetLooping.js +627 -0
  191. package/dist/esm/strategies/singleAssetLooping.js.map +1 -0
  192. package/dist/esm/strategies/slushLending.d.ts +131 -0
  193. package/dist/esm/strategies/slushLending.d.ts.map +1 -0
  194. package/dist/esm/strategies/slushLending.js +388 -0
  195. package/dist/esm/strategies/slushLending.js.map +1 -0
  196. package/dist/esm/strategies/strategy.d.ts +198 -0
  197. package/dist/esm/strategies/strategy.d.ts.map +1 -0
  198. package/dist/esm/strategies/strategy.js +192 -0
  199. package/dist/esm/strategies/strategy.js.map +1 -0
  200. package/dist/esm/utils/cache.d.ts +98 -0
  201. package/dist/esm/utils/cache.d.ts.map +1 -0
  202. package/dist/esm/utils/cache.js +198 -0
  203. package/dist/esm/utils/cache.js.map +1 -0
  204. package/dist/esm/utils/constants.d.ts +236 -2
  205. package/dist/esm/utils/constants.d.ts.map +1 -1
  206. package/dist/esm/utils/constants.js +243 -106
  207. package/dist/esm/utils/constants.js.map +1 -1
  208. package/dist/esm/utils/poolMap.d.ts +20 -0
  209. package/dist/esm/utils/poolMap.d.ts.map +1 -0
  210. package/dist/esm/utils/poolMap.js +233 -0
  211. package/dist/esm/utils/poolMap.js.map +1 -0
  212. package/dist/esm/utils/testing-pools.d.ts +3 -0
  213. package/dist/esm/utils/testing-pools.d.ts.map +1 -0
  214. package/dist/esm/utils/testing-pools.js +24 -0
  215. package/dist/esm/utils/testing-pools.js.map +1 -0
  216. package/package.json +45 -72
  217. package/dist/cjs/adminFunctions.d.ts +0 -33
  218. package/dist/cjs/adminFunctions.d.ts.map +0 -1
  219. package/dist/cjs/adminFunctions.js +0 -306
  220. package/dist/cjs/adminFunctions.js.map +0 -1
  221. package/dist/cjs/common/alphaTypes.d.ts +0 -110
  222. package/dist/cjs/common/alphaTypes.d.ts.map +0 -1
  223. package/dist/cjs/common/alphaTypes.js +0 -3
  224. package/dist/cjs/common/alphaTypes.js.map +0 -1
  225. package/dist/cjs/common/cetus_mainnet_config.d.ts +0 -3
  226. package/dist/cjs/common/cetus_mainnet_config.d.ts.map +0 -1
  227. package/dist/cjs/common/cetus_mainnet_config.js +0 -50
  228. package/dist/cjs/common/cetus_mainnet_config.js.map +0 -1
  229. package/dist/cjs/common/coins.d.ts +0 -6
  230. package/dist/cjs/common/coins.d.ts.map +0 -1
  231. package/dist/cjs/common/coins.js +0 -313
  232. package/dist/cjs/common/coins.js.map +0 -1
  233. package/dist/cjs/common/constants.d.ts +0 -3187
  234. package/dist/cjs/common/constants.d.ts.map +0 -1
  235. package/dist/cjs/common/constants.js +0 -2564
  236. package/dist/cjs/common/constants.js.map +0 -1
  237. package/dist/cjs/common/maps.d.ts +0 -120
  238. package/dist/cjs/common/maps.d.ts.map +0 -1
  239. package/dist/cjs/common/maps.js +0 -2527
  240. package/dist/cjs/common/maps.js.map +0 -1
  241. package/dist/cjs/common/pyth.d.ts +0 -7
  242. package/dist/cjs/common/pyth.d.ts.map +0 -1
  243. package/dist/cjs/common/pyth.js +0 -3
  244. package/dist/cjs/common/pyth.js.map +0 -1
  245. package/dist/cjs/common/types.d.ts +0 -736
  246. package/dist/cjs/common/types.d.ts.map +0 -1
  247. package/dist/cjs/common/types.js.map +0 -1
  248. package/dist/cjs/example.d.ts +0 -3
  249. package/dist/cjs/example.d.ts.map +0 -1
  250. package/dist/cjs/example.js +0 -42
  251. package/dist/cjs/example.js.map +0 -1
  252. package/dist/cjs/getAirdropShare.d.ts +0 -3
  253. package/dist/cjs/getAirdropShare.d.ts.map +0 -1
  254. package/dist/cjs/getAirdropShare.js +0 -10
  255. package/dist/cjs/getAirdropShare.js.map +0 -1
  256. package/dist/cjs/getAllVaults.d.ts +0 -7
  257. package/dist/cjs/getAllVaults.d.ts.map +0 -1
  258. package/dist/cjs/getAllVaults.js +0 -39
  259. package/dist/cjs/getAllVaults.js.map +0 -1
  260. package/dist/cjs/getAlphaUnlocks.d.ts +0 -15
  261. package/dist/cjs/getAlphaUnlocks.d.ts.map +0 -1
  262. package/dist/cjs/getAlphaUnlocks.js +0 -21
  263. package/dist/cjs/getAlphaUnlocks.js.map +0 -1
  264. package/dist/cjs/getAprs.d.ts +0 -14
  265. package/dist/cjs/getAprs.d.ts.map +0 -1
  266. package/dist/cjs/getAprs.js +0 -306
  267. package/dist/cjs/getAprs.js.map +0 -1
  268. package/dist/cjs/getLastAutoCompoundTime.d.ts +0 -4
  269. package/dist/cjs/getLastAutoCompoundTime.d.ts.map +0 -1
  270. package/dist/cjs/getLastAutoCompoundTime.js +0 -18
  271. package/dist/cjs/getLastAutoCompoundTime.js.map +0 -1
  272. package/dist/cjs/getRebalanceHistory.d.ts +0 -6
  273. package/dist/cjs/getRebalanceHistory.d.ts.map +0 -1
  274. package/dist/cjs/getRebalanceHistory.js +0 -26
  275. package/dist/cjs/getRebalanceHistory.js.map +0 -1
  276. package/dist/cjs/getTvls.d.ts +0 -10
  277. package/dist/cjs/getTvls.d.ts.map +0 -1
  278. package/dist/cjs/getTvls.js +0 -137
  279. package/dist/cjs/getTvls.js.map +0 -1
  280. package/dist/cjs/getVaultBalances.d.ts +0 -13
  281. package/dist/cjs/getVaultBalances.d.ts.map +0 -1
  282. package/dist/cjs/getVaultBalances.js +0 -103
  283. package/dist/cjs/getVaultBalances.js.map +0 -1
  284. package/dist/cjs/getVaults.d.ts +0 -8
  285. package/dist/cjs/getVaults.d.ts.map +0 -1
  286. package/dist/cjs/getVaults.js +0 -34
  287. package/dist/cjs/getVaults.js.map +0 -1
  288. package/dist/cjs/graphql/client.d.ts +0 -4
  289. package/dist/cjs/graphql/client.d.ts.map +0 -1
  290. package/dist/cjs/graphql/client.js +0 -14
  291. package/dist/cjs/graphql/client.js.map +0 -1
  292. package/dist/cjs/graphql/executeMutations.d.ts +0 -19
  293. package/dist/cjs/graphql/executeMutations.d.ts.map +0 -1
  294. package/dist/cjs/graphql/executeMutations.js +0 -40
  295. package/dist/cjs/graphql/executeMutations.js.map +0 -1
  296. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.d.ts +0 -28
  297. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.d.ts.map +0 -1
  298. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js +0 -120
  299. package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js.map +0 -1
  300. package/dist/cjs/graphql/fetchData.d.ts +0 -35
  301. package/dist/cjs/graphql/fetchData.d.ts.map +0 -1
  302. package/dist/cjs/graphql/fetchData.js +0 -103
  303. package/dist/cjs/graphql/fetchData.js.map +0 -1
  304. package/dist/cjs/graphql/fetchNftHolders.d.ts +0 -4
  305. package/dist/cjs/graphql/fetchNftHolders.d.ts.map +0 -1
  306. package/dist/cjs/graphql/fetchNftHolders.js +0 -37
  307. package/dist/cjs/graphql/fetchNftHolders.js.map +0 -1
  308. package/dist/cjs/graphql/fetchReceipts.d.ts +0 -4
  309. package/dist/cjs/graphql/fetchReceipts.d.ts.map +0 -1
  310. package/dist/cjs/graphql/fetchReceipts.js +0 -38
  311. package/dist/cjs/graphql/fetchReceipts.js.map +0 -1
  312. package/dist/cjs/graphql/getMultiReceipts.d.ts +0 -4
  313. package/dist/cjs/graphql/getMultiReceipts.d.ts.map +0 -1
  314. package/dist/cjs/graphql/getMultiReceipts.js +0 -117
  315. package/dist/cjs/graphql/getMultiReceipts.js.map +0 -1
  316. package/dist/cjs/graphql/mutations.d.ts +0 -4
  317. package/dist/cjs/graphql/mutations.d.ts.map +0 -1
  318. package/dist/cjs/graphql/mutations.js +0 -33
  319. package/dist/cjs/graphql/mutations.js.map +0 -1
  320. package/dist/cjs/graphql/parseData.d.ts +0 -3
  321. package/dist/cjs/graphql/parseData.d.ts.map +0 -1
  322. package/dist/cjs/graphql/parseData.js +0 -10
  323. package/dist/cjs/graphql/parseData.js.map +0 -1
  324. package/dist/cjs/graphql/parseLockedTableId.d.ts +0 -8
  325. package/dist/cjs/graphql/parseLockedTableId.d.ts.map +0 -1
  326. package/dist/cjs/graphql/parseLockedTableId.js +0 -16
  327. package/dist/cjs/graphql/parseLockedTableId.js.map +0 -1
  328. package/dist/cjs/graphql/queries/autoCompoundEvents.d.ts +0 -2
  329. package/dist/cjs/graphql/queries/autoCompoundEvents.d.ts.map +0 -1
  330. package/dist/cjs/graphql/queries/autoCompoundEvents.js +0 -19
  331. package/dist/cjs/graphql/queries/autoCompoundEvents.js.map +0 -1
  332. package/dist/cjs/graphql/queries/cetusPools.d.ts +0 -2
  333. package/dist/cjs/graphql/queries/cetusPools.d.ts.map +0 -1
  334. package/dist/cjs/graphql/queries/cetusPools.js +0 -39
  335. package/dist/cjs/graphql/queries/cetusPools.js.map +0 -1
  336. package/dist/cjs/graphql/queries/getMultiReceipts.d.ts +0 -3
  337. package/dist/cjs/graphql/queries/getMultiReceipts.d.ts.map +0 -1
  338. package/dist/cjs/graphql/queries/getMultiReceipts.js +0 -59
  339. package/dist/cjs/graphql/queries/getMultiReceipts.js.map +0 -1
  340. package/dist/cjs/graphql/queries/investors.d.ts +0 -2
  341. package/dist/cjs/graphql/queries/investors.d.ts.map +0 -1
  342. package/dist/cjs/graphql/queries/investors.js +0 -39
  343. package/dist/cjs/graphql/queries/investors.js.map +0 -1
  344. package/dist/cjs/graphql/queries/lockedTableData.d.ts +0 -2
  345. package/dist/cjs/graphql/queries/lockedTableData.d.ts.map +0 -1
  346. package/dist/cjs/graphql/queries/lockedTableData.js +0 -30
  347. package/dist/cjs/graphql/queries/lockedTableData.js.map +0 -1
  348. package/dist/cjs/graphql/queries/lockedTableDataFragment.d.ts +0 -2
  349. package/dist/cjs/graphql/queries/lockedTableDataFragment.d.ts.map +0 -1
  350. package/dist/cjs/graphql/queries/lockedTableDataFragment.js +0 -24
  351. package/dist/cjs/graphql/queries/lockedTableDataFragment.js.map +0 -1
  352. package/dist/cjs/graphql/queries/nftHolders.d.ts +0 -2
  353. package/dist/cjs/graphql/queries/nftHolders.d.ts.map +0 -1
  354. package/dist/cjs/graphql/queries/nftHolders.js +0 -23
  355. package/dist/cjs/graphql/queries/nftHolders.js.map +0 -1
  356. package/dist/cjs/graphql/queries/pools.d.ts +0 -2
  357. package/dist/cjs/graphql/queries/pools.d.ts.map +0 -1
  358. package/dist/cjs/graphql/queries/pools.js +0 -57
  359. package/dist/cjs/graphql/queries/pools.js.map +0 -1
  360. package/dist/cjs/graphql/queries/receiptData.d.ts +0 -2
  361. package/dist/cjs/graphql/queries/receiptData.d.ts.map +0 -1
  362. package/dist/cjs/graphql/queries/receiptData.js +0 -21
  363. package/dist/cjs/graphql/queries/receiptData.js.map +0 -1
  364. package/dist/cjs/graphql/queries/userVaultBalances.d.ts +0 -2
  365. package/dist/cjs/graphql/queries/userVaultBalances.d.ts.map +0 -1
  366. package/dist/cjs/graphql/queries/userVaultBalances.js +0 -62
  367. package/dist/cjs/graphql/queries/userVaultBalances.js.map +0 -1
  368. package/dist/cjs/graphql/queries/userVaults.d.ts +0 -2
  369. package/dist/cjs/graphql/queries/userVaults.d.ts.map +0 -1
  370. package/dist/cjs/graphql/queries/userVaults.js +0 -62
  371. package/dist/cjs/graphql/queries/userVaults.js.map +0 -1
  372. package/dist/cjs/graphql/queries.d.ts +0 -15
  373. package/dist/cjs/graphql/queries.d.ts.map +0 -1
  374. package/dist/cjs/graphql/queries.js +0 -86
  375. package/dist/cjs/graphql/queries.js.map +0 -1
  376. package/dist/cjs/graphql/types.d.ts +0 -112
  377. package/dist/cjs/graphql/types.d.ts.map +0 -1
  378. package/dist/cjs/graphql/types.js +0 -3
  379. package/dist/cjs/graphql/types.js.map +0 -1
  380. package/dist/cjs/sui-sdk/client.d.ts +0 -44
  381. package/dist/cjs/sui-sdk/client.d.ts.map +0 -1
  382. package/dist/cjs/sui-sdk/client.js +0 -90
  383. package/dist/cjs/sui-sdk/client.js.map +0 -1
  384. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.d.ts +0 -10
  385. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +0 -1
  386. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js +0 -128
  387. package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js.map +0 -1
  388. package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.d.ts +0 -4
  389. package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.d.ts.map +0 -1
  390. package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.js +0 -20
  391. package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.js.map +0 -1
  392. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +0 -9
  393. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +0 -1
  394. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +0 -406
  395. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +0 -1
  396. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts +0 -4
  397. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +0 -1
  398. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js +0 -47
  399. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js.map +0 -1
  400. package/dist/cjs/sui-sdk/events/fetchEvents.d.ts +0 -4
  401. package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +0 -1
  402. package/dist/cjs/sui-sdk/events/fetchEvents.js +0 -453
  403. package/dist/cjs/sui-sdk/events/fetchEvents.js.map +0 -1
  404. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +0 -4
  405. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +0 -1
  406. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js +0 -45
  407. package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js.map +0 -1
  408. package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.d.ts +0 -9
  409. package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.d.ts.map +0 -1
  410. package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.js +0 -41
  411. package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.js.map +0 -1
  412. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts +0 -7
  413. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts.map +0 -1
  414. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js +0 -91
  415. package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js.map +0 -1
  416. package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.d.ts +0 -4
  417. package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.d.ts.map +0 -1
  418. package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.js +0 -28
  419. package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.js.map +0 -1
  420. package/dist/cjs/sui-sdk/events/parseData.d.ts +0 -6
  421. package/dist/cjs/sui-sdk/events/parseData.d.ts.map +0 -1
  422. package/dist/cjs/sui-sdk/events/parseData.js +0 -33
  423. package/dist/cjs/sui-sdk/events/parseData.js.map +0 -1
  424. package/dist/cjs/sui-sdk/events/types.d.ts +0 -238
  425. package/dist/cjs/sui-sdk/events/types.d.ts.map +0 -1
  426. package/dist/cjs/sui-sdk/events/types.js +0 -9
  427. package/dist/cjs/sui-sdk/events/types.js.map +0 -1
  428. package/dist/cjs/sui-sdk/functions/fetchTableData.d.ts +0 -50
  429. package/dist/cjs/sui-sdk/functions/fetchTableData.d.ts.map +0 -1
  430. package/dist/cjs/sui-sdk/functions/fetchTableData.js +0 -77
  431. package/dist/cjs/sui-sdk/functions/fetchTableData.js.map +0 -1
  432. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts +0 -3
  433. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +0 -1
  434. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js +0 -73
  435. package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js.map +0 -1
  436. package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts +0 -3
  437. package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts.map +0 -1
  438. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js +0 -50
  439. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js.map +0 -1
  440. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts +0 -19
  441. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +0 -1
  442. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +0 -314
  443. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +0 -1
  444. package/dist/cjs/sui-sdk/functions/getPositionRange.d.ts +0 -12
  445. package/dist/cjs/sui-sdk/functions/getPositionRange.d.ts.map +0 -1
  446. package/dist/cjs/sui-sdk/functions/getPositionRange.js +0 -88
  447. package/dist/cjs/sui-sdk/functions/getPositionRange.js.map +0 -1
  448. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +0 -69
  449. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +0 -1
  450. package/dist/cjs/sui-sdk/functions/getReceipts.js +0 -768
  451. package/dist/cjs/sui-sdk/functions/getReceipts.js.map +0 -1
  452. package/dist/cjs/sui-sdk/transactions/constants.d.ts +0 -4
  453. package/dist/cjs/sui-sdk/transactions/constants.d.ts.map +0 -1
  454. package/dist/cjs/sui-sdk/transactions/constants.js +0 -90
  455. package/dist/cjs/sui-sdk/transactions/constants.js.map +0 -1
  456. package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts +0 -5
  457. package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts.map +0 -1
  458. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js +0 -65
  459. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js.map +0 -1
  460. package/dist/cjs/sui-sdk/transactions/types.d.ts +0 -9
  461. package/dist/cjs/sui-sdk/transactions/types.d.ts.map +0 -1
  462. package/dist/cjs/sui-sdk/transactions/types.js +0 -3
  463. package/dist/cjs/sui-sdk/transactions/types.js.map +0 -1
  464. package/dist/cjs/transactions/7k.d.ts +0 -8
  465. package/dist/cjs/transactions/7k.d.ts.map +0 -1
  466. package/dist/cjs/transactions/7k.js +0 -34
  467. package/dist/cjs/transactions/7k.js.map +0 -1
  468. package/dist/cjs/transactions/alpha.d.ts +0 -6
  469. package/dist/cjs/transactions/alpha.d.ts.map +0 -1
  470. package/dist/cjs/transactions/alpha.js +0 -110
  471. package/dist/cjs/transactions/alpha.js.map +0 -1
  472. package/dist/cjs/transactions/alphaVault.d.ts +0 -33
  473. package/dist/cjs/transactions/alphaVault.d.ts.map +0 -1
  474. package/dist/cjs/transactions/alphaVault.js +0 -449
  475. package/dist/cjs/transactions/alphaVault.js.map +0 -1
  476. package/dist/cjs/transactions/alphalend.d.ts +0 -30
  477. package/dist/cjs/transactions/alphalend.d.ts.map +0 -1
  478. package/dist/cjs/transactions/alphalend.js +0 -286
  479. package/dist/cjs/transactions/alphalend.js.map +0 -1
  480. package/dist/cjs/transactions/blueRewards.d.ts +0 -15
  481. package/dist/cjs/transactions/blueRewards.d.ts.map +0 -1
  482. package/dist/cjs/transactions/blueRewards.js +0 -395
  483. package/dist/cjs/transactions/blueRewards.js.map +0 -1
  484. package/dist/cjs/transactions/bluefin.d.ts +0 -60
  485. package/dist/cjs/transactions/bluefin.d.ts.map +0 -1
  486. package/dist/cjs/transactions/bluefin.js +0 -3078
  487. package/dist/cjs/transactions/bluefin.js.map +0 -1
  488. package/dist/cjs/transactions/bucket.d.ts +0 -8
  489. package/dist/cjs/transactions/bucket.d.ts.map +0 -1
  490. package/dist/cjs/transactions/bucket.js +0 -144
  491. package/dist/cjs/transactions/bucket.js.map +0 -1
  492. package/dist/cjs/transactions/cetus.d.ts +0 -27
  493. package/dist/cjs/transactions/cetus.d.ts.map +0 -1
  494. package/dist/cjs/transactions/cetus.js +0 -466
  495. package/dist/cjs/transactions/cetus.js.map +0 -1
  496. package/dist/cjs/transactions/cetusSwap.d.ts +0 -15
  497. package/dist/cjs/transactions/cetusSwap.d.ts.map +0 -1
  498. package/dist/cjs/transactions/cetusSwap.js +0 -74
  499. package/dist/cjs/transactions/cetusSwap.js.map +0 -1
  500. package/dist/cjs/transactions/collect_rewards.d.ts +0 -11
  501. package/dist/cjs/transactions/collect_rewards.d.ts.map +0 -1
  502. package/dist/cjs/transactions/collect_rewards.js +0 -1292
  503. package/dist/cjs/transactions/collect_rewards.js.map +0 -1
  504. package/dist/cjs/transactions/deposit.d.ts +0 -15
  505. package/dist/cjs/transactions/deposit.d.ts.map +0 -1
  506. package/dist/cjs/transactions/deposit.js +0 -194
  507. package/dist/cjs/transactions/deposit.js.map +0 -1
  508. package/dist/cjs/transactions/get_navi_rewards.d.ts +0 -11
  509. package/dist/cjs/transactions/get_navi_rewards.d.ts.map +0 -1
  510. package/dist/cjs/transactions/get_navi_rewards.js +0 -39
  511. package/dist/cjs/transactions/get_navi_rewards.js.map +0 -1
  512. package/dist/cjs/transactions/navi-looping.d.ts +0 -55
  513. package/dist/cjs/transactions/navi-looping.d.ts.map +0 -1
  514. package/dist/cjs/transactions/navi-looping.js +0 -1718
  515. package/dist/cjs/transactions/navi-looping.js.map +0 -1
  516. package/dist/cjs/transactions/navi.d.ts +0 -9
  517. package/dist/cjs/transactions/navi.d.ts.map +0 -1
  518. package/dist/cjs/transactions/navi.js +0 -2541
  519. package/dist/cjs/transactions/navi.js.map +0 -1
  520. package/dist/cjs/transactions/naviOracle.d.ts +0 -5
  521. package/dist/cjs/transactions/naviOracle.d.ts.map +0 -1
  522. package/dist/cjs/transactions/naviOracle.js +0 -28
  523. package/dist/cjs/transactions/naviOracle.js.map +0 -1
  524. package/dist/cjs/transactions/newZapDeposit.d.ts +0 -19
  525. package/dist/cjs/transactions/newZapDeposit.d.ts.map +0 -1
  526. package/dist/cjs/transactions/newZapDeposit.js +0 -1622
  527. package/dist/cjs/transactions/newZapDeposit.js.map +0 -1
  528. package/dist/cjs/transactions/slush.d.ts +0 -16
  529. package/dist/cjs/transactions/slush.d.ts.map +0 -1
  530. package/dist/cjs/transactions/slush.js +0 -219
  531. package/dist/cjs/transactions/slush.js.map +0 -1
  532. package/dist/cjs/transactions/types.d.ts +0 -17
  533. package/dist/cjs/transactions/types.d.ts.map +0 -1
  534. package/dist/cjs/transactions/types.js +0 -3
  535. package/dist/cjs/transactions/types.js.map +0 -1
  536. package/dist/cjs/transactions/withdraw.d.ts +0 -9
  537. package/dist/cjs/transactions/withdraw.d.ts.map +0 -1
  538. package/dist/cjs/transactions/withdraw.js +0 -132
  539. package/dist/cjs/transactions/withdraw.js.map +0 -1
  540. package/dist/cjs/transactions/zapDeposit.d.ts +0 -6
  541. package/dist/cjs/transactions/zapDeposit.d.ts.map +0 -1
  542. package/dist/cjs/transactions/zapDeposit.js +0 -1731
  543. package/dist/cjs/transactions/zapDeposit.js.map +0 -1
  544. package/dist/cjs/types.d.ts +0 -201
  545. package/dist/cjs/types.d.ts.map +0 -1
  546. package/dist/cjs/types.js +0 -3
  547. package/dist/cjs/types.js.map +0 -1
  548. package/dist/cjs/utils/clmm/prices.d.ts +0 -20
  549. package/dist/cjs/utils/clmm/prices.d.ts.map +0 -1
  550. package/dist/cjs/utils/clmm/prices.js +0 -321
  551. package/dist/cjs/utils/clmm/prices.js.map +0 -1
  552. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.d.ts +0 -15
  553. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.d.ts.map +0 -1
  554. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js +0 -200
  555. package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js.map +0 -1
  556. package/dist/cjs/utils/clmm/types.d.ts +0 -25
  557. package/dist/cjs/utils/clmm/types.d.ts.map +0 -1
  558. package/dist/cjs/utils/clmm/types.js +0 -3
  559. package/dist/cjs/utils/clmm/types.js.map +0 -1
  560. package/dist/cjs/utils/getReceipts.d.ts +0 -4
  561. package/dist/cjs/utils/getReceipts.d.ts.map +0 -1
  562. package/dist/cjs/utils/getReceipts.js +0 -47
  563. package/dist/cjs/utils/getReceipts.js.map +0 -1
  564. package/dist/cjs/utils/hop.d.ts +0 -16
  565. package/dist/cjs/utils/hop.d.ts.map +0 -1
  566. package/dist/cjs/utils/hop.js +0 -130
  567. package/dist/cjs/utils/hop.js.map +0 -1
  568. package/dist/cjs/utils/prices.d.ts +0 -15
  569. package/dist/cjs/utils/prices.d.ts.map +0 -1
  570. package/dist/cjs/utils/prices.js +0 -168
  571. package/dist/cjs/utils/prices.js.map +0 -1
  572. package/dist/cjs/utils/simpleCache.d.ts +0 -14
  573. package/dist/cjs/utils/simpleCache.d.ts.map +0 -1
  574. package/dist/cjs/utils/simpleCache.js +0 -92
  575. package/dist/cjs/utils/simpleCache.js.map +0 -1
  576. package/dist/cjs/utils/types.d.ts +0 -5
  577. package/dist/cjs/utils/types.d.ts.map +0 -1
  578. package/dist/cjs/utils/types.js +0 -3
  579. package/dist/cjs/utils/types.js.map +0 -1
  580. package/dist/cjs/utils/userHoldings.d.ts +0 -10
  581. package/dist/cjs/utils/userHoldings.d.ts.map +0 -1
  582. package/dist/cjs/utils/userHoldings.js +0 -229
  583. package/dist/cjs/utils/userHoldings.js.map +0 -1
  584. package/dist/cjs/vaultFunctions.d.ts +0 -8
  585. package/dist/cjs/vaultFunctions.d.ts.map +0 -1
  586. package/dist/cjs/vaultFunctions.js +0 -36
  587. package/dist/cjs/vaultFunctions.js.map +0 -1
  588. package/dist/esm/adminFunctions.d.ts +0 -33
  589. package/dist/esm/adminFunctions.d.ts.map +0 -1
  590. package/dist/esm/adminFunctions.js +0 -290
  591. package/dist/esm/adminFunctions.js.map +0 -1
  592. package/dist/esm/common/alphaTypes.d.ts +0 -110
  593. package/dist/esm/common/alphaTypes.d.ts.map +0 -1
  594. package/dist/esm/common/alphaTypes.js +0 -2
  595. package/dist/esm/common/alphaTypes.js.map +0 -1
  596. package/dist/esm/common/cetus_mainnet_config.d.ts +0 -3
  597. package/dist/esm/common/cetus_mainnet_config.d.ts.map +0 -1
  598. package/dist/esm/common/cetus_mainnet_config.js +0 -47
  599. package/dist/esm/common/cetus_mainnet_config.js.map +0 -1
  600. package/dist/esm/common/coins.d.ts +0 -6
  601. package/dist/esm/common/coins.d.ts.map +0 -1
  602. package/dist/esm/common/coins.js +0 -310
  603. package/dist/esm/common/coins.js.map +0 -1
  604. package/dist/esm/common/constants.d.ts +0 -3187
  605. package/dist/esm/common/constants.d.ts.map +0 -1
  606. package/dist/esm/common/constants.js +0 -2560
  607. package/dist/esm/common/constants.js.map +0 -1
  608. package/dist/esm/common/maps.d.ts +0 -120
  609. package/dist/esm/common/maps.d.ts.map +0 -1
  610. package/dist/esm/common/maps.js +0 -2516
  611. package/dist/esm/common/maps.js.map +0 -1
  612. package/dist/esm/common/pyth.d.ts +0 -7
  613. package/dist/esm/common/pyth.d.ts.map +0 -1
  614. package/dist/esm/common/pyth.js +0 -2
  615. package/dist/esm/common/pyth.js.map +0 -1
  616. package/dist/esm/common/types.d.ts +0 -736
  617. package/dist/esm/common/types.d.ts.map +0 -1
  618. package/dist/esm/common/types.js.map +0 -1
  619. package/dist/esm/example.d.ts +0 -3
  620. package/dist/esm/example.d.ts.map +0 -1
  621. package/dist/esm/example.js +0 -38
  622. package/dist/esm/example.js.map +0 -1
  623. package/dist/esm/getAirdropShare.d.ts +0 -3
  624. package/dist/esm/getAirdropShare.d.ts.map +0 -1
  625. package/dist/esm/getAirdropShare.js +0 -7
  626. package/dist/esm/getAirdropShare.js.map +0 -1
  627. package/dist/esm/getAllVaults.d.ts +0 -7
  628. package/dist/esm/getAllVaults.d.ts.map +0 -1
  629. package/dist/esm/getAllVaults.js +0 -34
  630. package/dist/esm/getAllVaults.js.map +0 -1
  631. package/dist/esm/getAlphaUnlocks.d.ts +0 -15
  632. package/dist/esm/getAlphaUnlocks.d.ts.map +0 -1
  633. package/dist/esm/getAlphaUnlocks.js +0 -18
  634. package/dist/esm/getAlphaUnlocks.js.map +0 -1
  635. package/dist/esm/getAprs.d.ts +0 -14
  636. package/dist/esm/getAprs.d.ts.map +0 -1
  637. package/dist/esm/getAprs.js +0 -297
  638. package/dist/esm/getAprs.js.map +0 -1
  639. package/dist/esm/getLastAutoCompoundTime.d.ts +0 -4
  640. package/dist/esm/getLastAutoCompoundTime.d.ts.map +0 -1
  641. package/dist/esm/getLastAutoCompoundTime.js +0 -15
  642. package/dist/esm/getLastAutoCompoundTime.js.map +0 -1
  643. package/dist/esm/getRebalanceHistory.d.ts +0 -6
  644. package/dist/esm/getRebalanceHistory.d.ts.map +0 -1
  645. package/dist/esm/getRebalanceHistory.js +0 -22
  646. package/dist/esm/getRebalanceHistory.js.map +0 -1
  647. package/dist/esm/getTvls.d.ts +0 -10
  648. package/dist/esm/getTvls.d.ts.map +0 -1
  649. package/dist/esm/getTvls.js +0 -130
  650. package/dist/esm/getTvls.js.map +0 -1
  651. package/dist/esm/getVaultBalances.d.ts +0 -13
  652. package/dist/esm/getVaultBalances.d.ts.map +0 -1
  653. package/dist/esm/getVaultBalances.js +0 -96
  654. package/dist/esm/getVaultBalances.js.map +0 -1
  655. package/dist/esm/getVaults.d.ts +0 -8
  656. package/dist/esm/getVaults.d.ts.map +0 -1
  657. package/dist/esm/getVaults.js +0 -29
  658. package/dist/esm/getVaults.js.map +0 -1
  659. package/dist/esm/graphql/client.d.ts +0 -4
  660. package/dist/esm/graphql/client.d.ts.map +0 -1
  661. package/dist/esm/graphql/client.js +0 -12
  662. package/dist/esm/graphql/client.js.map +0 -1
  663. package/dist/esm/graphql/executeMutations.d.ts +0 -19
  664. package/dist/esm/graphql/executeMutations.d.ts.map +0 -1
  665. package/dist/esm/graphql/executeMutations.js +0 -34
  666. package/dist/esm/graphql/executeMutations.js.map +0 -1
  667. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.d.ts +0 -28
  668. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.d.ts.map +0 -1
  669. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js +0 -117
  670. package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js.map +0 -1
  671. package/dist/esm/graphql/fetchData.d.ts +0 -35
  672. package/dist/esm/graphql/fetchData.d.ts.map +0 -1
  673. package/dist/esm/graphql/fetchData.js +0 -89
  674. package/dist/esm/graphql/fetchData.js.map +0 -1
  675. package/dist/esm/graphql/fetchNftHolders.d.ts +0 -4
  676. package/dist/esm/graphql/fetchNftHolders.d.ts.map +0 -1
  677. package/dist/esm/graphql/fetchNftHolders.js +0 -33
  678. package/dist/esm/graphql/fetchNftHolders.js.map +0 -1
  679. package/dist/esm/graphql/fetchReceipts.d.ts +0 -4
  680. package/dist/esm/graphql/fetchReceipts.d.ts.map +0 -1
  681. package/dist/esm/graphql/fetchReceipts.js +0 -34
  682. package/dist/esm/graphql/fetchReceipts.js.map +0 -1
  683. package/dist/esm/graphql/getMultiReceipts.d.ts +0 -4
  684. package/dist/esm/graphql/getMultiReceipts.d.ts.map +0 -1
  685. package/dist/esm/graphql/getMultiReceipts.js +0 -114
  686. package/dist/esm/graphql/getMultiReceipts.js.map +0 -1
  687. package/dist/esm/graphql/mutations.d.ts +0 -4
  688. package/dist/esm/graphql/mutations.d.ts.map +0 -1
  689. package/dist/esm/graphql/mutations.js +0 -30
  690. package/dist/esm/graphql/mutations.js.map +0 -1
  691. package/dist/esm/graphql/parseData.d.ts +0 -3
  692. package/dist/esm/graphql/parseData.d.ts.map +0 -1
  693. package/dist/esm/graphql/parseData.js +0 -7
  694. package/dist/esm/graphql/parseData.js.map +0 -1
  695. package/dist/esm/graphql/parseLockedTableId.d.ts +0 -8
  696. package/dist/esm/graphql/parseLockedTableId.d.ts.map +0 -1
  697. package/dist/esm/graphql/parseLockedTableId.js +0 -13
  698. package/dist/esm/graphql/parseLockedTableId.js.map +0 -1
  699. package/dist/esm/graphql/queries/autoCompoundEvents.d.ts +0 -2
  700. package/dist/esm/graphql/queries/autoCompoundEvents.d.ts.map +0 -1
  701. package/dist/esm/graphql/queries/autoCompoundEvents.js +0 -16
  702. package/dist/esm/graphql/queries/autoCompoundEvents.js.map +0 -1
  703. package/dist/esm/graphql/queries/cetusPools.d.ts +0 -2
  704. package/dist/esm/graphql/queries/cetusPools.d.ts.map +0 -1
  705. package/dist/esm/graphql/queries/cetusPools.js +0 -36
  706. package/dist/esm/graphql/queries/cetusPools.js.map +0 -1
  707. package/dist/esm/graphql/queries/getMultiReceipts.d.ts +0 -3
  708. package/dist/esm/graphql/queries/getMultiReceipts.d.ts.map +0 -1
  709. package/dist/esm/graphql/queries/getMultiReceipts.js +0 -56
  710. package/dist/esm/graphql/queries/getMultiReceipts.js.map +0 -1
  711. package/dist/esm/graphql/queries/investors.d.ts +0 -2
  712. package/dist/esm/graphql/queries/investors.d.ts.map +0 -1
  713. package/dist/esm/graphql/queries/investors.js +0 -36
  714. package/dist/esm/graphql/queries/investors.js.map +0 -1
  715. package/dist/esm/graphql/queries/lockedTableData.d.ts +0 -2
  716. package/dist/esm/graphql/queries/lockedTableData.d.ts.map +0 -1
  717. package/dist/esm/graphql/queries/lockedTableData.js +0 -27
  718. package/dist/esm/graphql/queries/lockedTableData.js.map +0 -1
  719. package/dist/esm/graphql/queries/lockedTableDataFragment.d.ts +0 -2
  720. package/dist/esm/graphql/queries/lockedTableDataFragment.d.ts.map +0 -1
  721. package/dist/esm/graphql/queries/lockedTableDataFragment.js +0 -21
  722. package/dist/esm/graphql/queries/lockedTableDataFragment.js.map +0 -1
  723. package/dist/esm/graphql/queries/nftHolders.d.ts +0 -2
  724. package/dist/esm/graphql/queries/nftHolders.d.ts.map +0 -1
  725. package/dist/esm/graphql/queries/nftHolders.js +0 -20
  726. package/dist/esm/graphql/queries/nftHolders.js.map +0 -1
  727. package/dist/esm/graphql/queries/pools.d.ts +0 -2
  728. package/dist/esm/graphql/queries/pools.d.ts.map +0 -1
  729. package/dist/esm/graphql/queries/pools.js +0 -54
  730. package/dist/esm/graphql/queries/pools.js.map +0 -1
  731. package/dist/esm/graphql/queries/receiptData.d.ts +0 -2
  732. package/dist/esm/graphql/queries/receiptData.d.ts.map +0 -1
  733. package/dist/esm/graphql/queries/receiptData.js +0 -18
  734. package/dist/esm/graphql/queries/receiptData.js.map +0 -1
  735. package/dist/esm/graphql/queries/userVaultBalances.d.ts +0 -2
  736. package/dist/esm/graphql/queries/userVaultBalances.d.ts.map +0 -1
  737. package/dist/esm/graphql/queries/userVaultBalances.js +0 -59
  738. package/dist/esm/graphql/queries/userVaultBalances.js.map +0 -1
  739. package/dist/esm/graphql/queries/userVaults.d.ts +0 -2
  740. package/dist/esm/graphql/queries/userVaults.d.ts.map +0 -1
  741. package/dist/esm/graphql/queries/userVaults.js +0 -59
  742. package/dist/esm/graphql/queries/userVaults.js.map +0 -1
  743. package/dist/esm/graphql/queries.d.ts +0 -15
  744. package/dist/esm/graphql/queries.d.ts.map +0 -1
  745. package/dist/esm/graphql/queries.js +0 -83
  746. package/dist/esm/graphql/queries.js.map +0 -1
  747. package/dist/esm/graphql/types.d.ts +0 -112
  748. package/dist/esm/graphql/types.d.ts.map +0 -1
  749. package/dist/esm/graphql/types.js +0 -2
  750. package/dist/esm/graphql/types.js.map +0 -1
  751. package/dist/esm/sui-sdk/client.d.ts +0 -44
  752. package/dist/esm/sui-sdk/client.d.ts.map +0 -1
  753. package/dist/esm/sui-sdk/client.js +0 -82
  754. package/dist/esm/sui-sdk/client.js.map +0 -1
  755. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.d.ts +0 -10
  756. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +0 -1
  757. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js +0 -125
  758. package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js.map +0 -1
  759. package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.d.ts +0 -4
  760. package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.d.ts.map +0 -1
  761. package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.js +0 -17
  762. package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.js.map +0 -1
  763. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +0 -9
  764. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +0 -1
  765. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +0 -401
  766. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +0 -1
  767. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts +0 -4
  768. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +0 -1
  769. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js +0 -44
  770. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js.map +0 -1
  771. package/dist/esm/sui-sdk/events/fetchEvents.d.ts +0 -4
  772. package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +0 -1
  773. package/dist/esm/sui-sdk/events/fetchEvents.js +0 -450
  774. package/dist/esm/sui-sdk/events/fetchEvents.js.map +0 -1
  775. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +0 -4
  776. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +0 -1
  777. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js +0 -42
  778. package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js.map +0 -1
  779. package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.d.ts +0 -9
  780. package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.d.ts.map +0 -1
  781. package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.js +0 -38
  782. package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.js.map +0 -1
  783. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts +0 -7
  784. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts.map +0 -1
  785. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js +0 -86
  786. package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js.map +0 -1
  787. package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.d.ts +0 -4
  788. package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.d.ts.map +0 -1
  789. package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.js +0 -25
  790. package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.js.map +0 -1
  791. package/dist/esm/sui-sdk/events/parseData.d.ts +0 -6
  792. package/dist/esm/sui-sdk/events/parseData.d.ts.map +0 -1
  793. package/dist/esm/sui-sdk/events/parseData.js +0 -29
  794. package/dist/esm/sui-sdk/events/parseData.js.map +0 -1
  795. package/dist/esm/sui-sdk/events/types.d.ts +0 -238
  796. package/dist/esm/sui-sdk/events/types.d.ts.map +0 -1
  797. package/dist/esm/sui-sdk/events/types.js +0 -6
  798. package/dist/esm/sui-sdk/events/types.js.map +0 -1
  799. package/dist/esm/sui-sdk/functions/fetchTableData.d.ts +0 -50
  800. package/dist/esm/sui-sdk/functions/fetchTableData.d.ts.map +0 -1
  801. package/dist/esm/sui-sdk/functions/fetchTableData.js +0 -73
  802. package/dist/esm/sui-sdk/functions/fetchTableData.js.map +0 -1
  803. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts +0 -3
  804. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +0 -1
  805. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js +0 -70
  806. package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js.map +0 -1
  807. package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts +0 -3
  808. package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts.map +0 -1
  809. package/dist/esm/sui-sdk/functions/fetchUserVaults.js +0 -47
  810. package/dist/esm/sui-sdk/functions/fetchUserVaults.js.map +0 -1
  811. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts +0 -19
  812. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +0 -1
  813. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +0 -303
  814. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +0 -1
  815. package/dist/esm/sui-sdk/functions/getPositionRange.d.ts +0 -12
  816. package/dist/esm/sui-sdk/functions/getPositionRange.d.ts.map +0 -1
  817. package/dist/esm/sui-sdk/functions/getPositionRange.js +0 -84
  818. package/dist/esm/sui-sdk/functions/getPositionRange.js.map +0 -1
  819. package/dist/esm/sui-sdk/functions/getReceipts.d.ts +0 -69
  820. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +0 -1
  821. package/dist/esm/sui-sdk/functions/getReceipts.js +0 -751
  822. package/dist/esm/sui-sdk/functions/getReceipts.js.map +0 -1
  823. package/dist/esm/sui-sdk/transactions/constants.d.ts +0 -4
  824. package/dist/esm/sui-sdk/transactions/constants.d.ts.map +0 -1
  825. package/dist/esm/sui-sdk/transactions/constants.js +0 -87
  826. package/dist/esm/sui-sdk/transactions/constants.js.map +0 -1
  827. package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts +0 -5
  828. package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts.map +0 -1
  829. package/dist/esm/sui-sdk/transactions/fetchTransactions.js +0 -62
  830. package/dist/esm/sui-sdk/transactions/fetchTransactions.js.map +0 -1
  831. package/dist/esm/sui-sdk/transactions/types.d.ts +0 -9
  832. package/dist/esm/sui-sdk/transactions/types.d.ts.map +0 -1
  833. package/dist/esm/sui-sdk/transactions/types.js +0 -2
  834. package/dist/esm/sui-sdk/transactions/types.js.map +0 -1
  835. package/dist/esm/transactions/7k.d.ts +0 -8
  836. package/dist/esm/transactions/7k.d.ts.map +0 -1
  837. package/dist/esm/transactions/7k.js +0 -30
  838. package/dist/esm/transactions/7k.js.map +0 -1
  839. package/dist/esm/transactions/alpha.d.ts +0 -6
  840. package/dist/esm/transactions/alpha.d.ts.map +0 -1
  841. package/dist/esm/transactions/alpha.js +0 -105
  842. package/dist/esm/transactions/alpha.js.map +0 -1
  843. package/dist/esm/transactions/alphaVault.d.ts +0 -33
  844. package/dist/esm/transactions/alphaVault.d.ts.map +0 -1
  845. package/dist/esm/transactions/alphaVault.js +0 -441
  846. package/dist/esm/transactions/alphaVault.js.map +0 -1
  847. package/dist/esm/transactions/alphalend.d.ts +0 -30
  848. package/dist/esm/transactions/alphalend.d.ts.map +0 -1
  849. package/dist/esm/transactions/alphalend.js +0 -277
  850. package/dist/esm/transactions/alphalend.js.map +0 -1
  851. package/dist/esm/transactions/blueRewards.d.ts +0 -15
  852. package/dist/esm/transactions/blueRewards.d.ts.map +0 -1
  853. package/dist/esm/transactions/blueRewards.js +0 -357
  854. package/dist/esm/transactions/blueRewards.js.map +0 -1
  855. package/dist/esm/transactions/bluefin.d.ts +0 -60
  856. package/dist/esm/transactions/bluefin.d.ts.map +0 -1
  857. package/dist/esm/transactions/bluefin.js +0 -3060
  858. package/dist/esm/transactions/bluefin.js.map +0 -1
  859. package/dist/esm/transactions/bucket.d.ts +0 -8
  860. package/dist/esm/transactions/bucket.d.ts.map +0 -1
  861. package/dist/esm/transactions/bucket.js +0 -140
  862. package/dist/esm/transactions/bucket.js.map +0 -1
  863. package/dist/esm/transactions/cetus.d.ts +0 -27
  864. package/dist/esm/transactions/cetus.d.ts.map +0 -1
  865. package/dist/esm/transactions/cetus.js +0 -457
  866. package/dist/esm/transactions/cetus.js.map +0 -1
  867. package/dist/esm/transactions/cetusSwap.d.ts +0 -15
  868. package/dist/esm/transactions/cetusSwap.d.ts.map +0 -1
  869. package/dist/esm/transactions/cetusSwap.js +0 -72
  870. package/dist/esm/transactions/cetusSwap.js.map +0 -1
  871. package/dist/esm/transactions/collect_rewards.d.ts +0 -11
  872. package/dist/esm/transactions/collect_rewards.d.ts.map +0 -1
  873. package/dist/esm/transactions/collect_rewards.js +0 -1286
  874. package/dist/esm/transactions/collect_rewards.js.map +0 -1
  875. package/dist/esm/transactions/deposit.d.ts +0 -15
  876. package/dist/esm/transactions/deposit.d.ts.map +0 -1
  877. package/dist/esm/transactions/deposit.js +0 -185
  878. package/dist/esm/transactions/deposit.js.map +0 -1
  879. package/dist/esm/transactions/get_navi_rewards.d.ts +0 -11
  880. package/dist/esm/transactions/get_navi_rewards.d.ts.map +0 -1
  881. package/dist/esm/transactions/get_navi_rewards.js +0 -36
  882. package/dist/esm/transactions/get_navi_rewards.js.map +0 -1
  883. package/dist/esm/transactions/navi-looping.d.ts +0 -55
  884. package/dist/esm/transactions/navi-looping.d.ts.map +0 -1
  885. package/dist/esm/transactions/navi-looping.js +0 -1703
  886. package/dist/esm/transactions/navi-looping.js.map +0 -1
  887. package/dist/esm/transactions/navi.d.ts +0 -9
  888. package/dist/esm/transactions/navi.d.ts.map +0 -1
  889. package/dist/esm/transactions/navi.js +0 -2537
  890. package/dist/esm/transactions/navi.js.map +0 -1
  891. package/dist/esm/transactions/naviOracle.d.ts +0 -5
  892. package/dist/esm/transactions/naviOracle.d.ts.map +0 -1
  893. package/dist/esm/transactions/naviOracle.js +0 -25
  894. package/dist/esm/transactions/naviOracle.js.map +0 -1
  895. package/dist/esm/transactions/newZapDeposit.d.ts +0 -19
  896. package/dist/esm/transactions/newZapDeposit.d.ts.map +0 -1
  897. package/dist/esm/transactions/newZapDeposit.js +0 -1617
  898. package/dist/esm/transactions/newZapDeposit.js.map +0 -1
  899. package/dist/esm/transactions/slush.d.ts +0 -16
  900. package/dist/esm/transactions/slush.d.ts.map +0 -1
  901. package/dist/esm/transactions/slush.js +0 -213
  902. package/dist/esm/transactions/slush.js.map +0 -1
  903. package/dist/esm/transactions/types.d.ts +0 -17
  904. package/dist/esm/transactions/types.d.ts.map +0 -1
  905. package/dist/esm/transactions/types.js +0 -2
  906. package/dist/esm/transactions/types.js.map +0 -1
  907. package/dist/esm/transactions/withdraw.d.ts +0 -9
  908. package/dist/esm/transactions/withdraw.d.ts.map +0 -1
  909. package/dist/esm/transactions/withdraw.js +0 -127
  910. package/dist/esm/transactions/withdraw.js.map +0 -1
  911. package/dist/esm/transactions/zapDeposit.d.ts +0 -6
  912. package/dist/esm/transactions/zapDeposit.d.ts.map +0 -1
  913. package/dist/esm/transactions/zapDeposit.js +0 -1727
  914. package/dist/esm/transactions/zapDeposit.js.map +0 -1
  915. package/dist/esm/types.d.ts +0 -201
  916. package/dist/esm/types.d.ts.map +0 -1
  917. package/dist/esm/types.js +0 -2
  918. package/dist/esm/types.js.map +0 -1
  919. package/dist/esm/utils/clmm/prices.d.ts +0 -20
  920. package/dist/esm/utils/clmm/prices.d.ts.map +0 -1
  921. package/dist/esm/utils/clmm/prices.js +0 -313
  922. package/dist/esm/utils/clmm/prices.js.map +0 -1
  923. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.d.ts +0 -15
  924. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.d.ts.map +0 -1
  925. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js +0 -192
  926. package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js.map +0 -1
  927. package/dist/esm/utils/clmm/types.d.ts +0 -25
  928. package/dist/esm/utils/clmm/types.d.ts.map +0 -1
  929. package/dist/esm/utils/clmm/types.js +0 -2
  930. package/dist/esm/utils/clmm/types.js.map +0 -1
  931. package/dist/esm/utils/getReceipts.d.ts +0 -4
  932. package/dist/esm/utils/getReceipts.d.ts.map +0 -1
  933. package/dist/esm/utils/getReceipts.js +0 -44
  934. package/dist/esm/utils/getReceipts.js.map +0 -1
  935. package/dist/esm/utils/hop.d.ts +0 -16
  936. package/dist/esm/utils/hop.d.ts.map +0 -1
  937. package/dist/esm/utils/hop.js +0 -122
  938. package/dist/esm/utils/hop.js.map +0 -1
  939. package/dist/esm/utils/prices.d.ts +0 -15
  940. package/dist/esm/utils/prices.d.ts.map +0 -1
  941. package/dist/esm/utils/prices.js +0 -161
  942. package/dist/esm/utils/prices.js.map +0 -1
  943. package/dist/esm/utils/simpleCache.d.ts +0 -14
  944. package/dist/esm/utils/simpleCache.d.ts.map +0 -1
  945. package/dist/esm/utils/simpleCache.js +0 -88
  946. package/dist/esm/utils/simpleCache.js.map +0 -1
  947. package/dist/esm/utils/types.d.ts +0 -5
  948. package/dist/esm/utils/types.d.ts.map +0 -1
  949. package/dist/esm/utils/types.js +0 -2
  950. package/dist/esm/utils/types.js.map +0 -1
  951. package/dist/esm/utils/userHoldings.d.ts +0 -10
  952. package/dist/esm/utils/userHoldings.d.ts.map +0 -1
  953. package/dist/esm/utils/userHoldings.js +0 -223
  954. package/dist/esm/utils/userHoldings.js.map +0 -1
  955. package/dist/esm/vaultFunctions.d.ts +0 -8
  956. package/dist/esm/vaultFunctions.d.ts.map +0 -1
  957. package/dist/esm/vaultFunctions.js +0 -31
  958. package/dist/esm/vaultFunctions.js.map +0 -1
  959. package/docs/assets/hierarchy.js +0 -1
  960. package/docs/assets/highlight.css +0 -78
  961. package/docs/assets/icons.js +0 -18
  962. package/docs/assets/icons.svg +0 -1
  963. package/docs/assets/main.js +0 -60
  964. package/docs/assets/navigation.js +0 -1
  965. package/docs/assets/search.js +0 -1
  966. package/docs/assets/style.css +0 -1633
  967. package/docs/functions/addAirdropCoin.html +0 -1
  968. package/docs/functions/alphaLpBreakdown.html +0 -1
  969. package/docs/functions/cetusLpBreakdown.html +0 -1
  970. package/docs/functions/claimAirdropTx.html +0 -1
  971. package/docs/functions/claimRewardTxb.html +0 -1
  972. package/docs/functions/claimRewardsTxb.html +0 -1
  973. package/docs/functions/claimWithdrawAlphaTx.html +0 -1
  974. package/docs/functions/coinAmountToXTokensDoubleAsset.html +0 -1
  975. package/docs/functions/coinAmountToXTokensSingleAsset.html +0 -1
  976. package/docs/functions/coinsInPool.html +0 -1
  977. package/docs/functions/collectAndSwapRewardsLyf.html +0 -1
  978. package/docs/functions/collectAndSwapRewardsSingleLoop.html +0 -1
  979. package/docs/functions/collectRewardTxb.html +0 -1
  980. package/docs/functions/collectRewards.html +0 -1
  981. package/docs/functions/collectRewardsAndSwapSlush.html +0 -1
  982. package/docs/functions/collectUnsuppliedBalance.html +0 -1
  983. package/docs/functions/deposit.html +0 -1
  984. package/docs/functions/depositAlphaTx.html +0 -1
  985. package/docs/functions/depositDoubleAssetTxb.html +0 -1
  986. package/docs/functions/depositSingleAssetTxb.html +0 -1
  987. package/docs/functions/fetchAfterTransactionEvents.html +0 -1
  988. package/docs/functions/fetchAirdropClaimEvents.html +0 -1
  989. package/docs/functions/fetchAutoCompoundingEvents.html +0 -1
  990. package/docs/functions/fetchAutoCompoundingEventsGql.html +0 -1
  991. package/docs/functions/fetchCetusPools.html +0 -1
  992. package/docs/functions/fetchChainIdentifier.html +0 -1
  993. package/docs/functions/fetchCheckRatioEvents.html +0 -1
  994. package/docs/functions/fetchEvents.html +0 -1
  995. package/docs/functions/fetchLiquidityChangeEvents.html +0 -1
  996. package/docs/functions/fetchMultiCategoryEvents.html +0 -1
  997. package/docs/functions/fetchMultiReceipts.html +0 -1
  998. package/docs/functions/fetchNftHolders.html +0 -1
  999. package/docs/functions/fetchPools.html +0 -1
  1000. package/docs/functions/fetchPortfolioData.html +0 -1
  1001. package/docs/functions/fetchProtocolData.html +0 -1
  1002. package/docs/functions/fetchRequiredPrices.html +0 -1
  1003. package/docs/functions/fetchTVL.html +0 -1
  1004. package/docs/functions/fetchTransactions.html +0 -1
  1005. package/docs/functions/fetchUserVaultBalances.html +0 -1
  1006. package/docs/functions/fetchUserVaults.html +0 -1
  1007. package/docs/functions/fetchUserWalletData.html +0 -1
  1008. package/docs/functions/fetchVoloExchangeRate.html +0 -1
  1009. package/docs/functions/fetchWithdrawV2Events.html +0 -1
  1010. package/docs/functions/getAirdropShare.html +0 -1
  1011. package/docs/functions/getAllDoubleAssetVaults.html +0 -1
  1012. package/docs/functions/getAllSingleAssetVaults.html +0 -1
  1013. package/docs/functions/getAllVaultBalances.html +0 -1
  1014. package/docs/functions/getAllVaults.html +0 -1
  1015. package/docs/functions/getAlphaUnlocks.html +0 -1
  1016. package/docs/functions/getAlphaVaultBalance.html +0 -1
  1017. package/docs/functions/getAmounts.html +0 -1
  1018. package/docs/functions/getApr.html +0 -1
  1019. package/docs/functions/getAprs.html +0 -1
  1020. package/docs/functions/getApy.html +0 -1
  1021. package/docs/functions/getApys.html +0 -1
  1022. package/docs/functions/getCetusInvestorTicksMap.html +0 -1
  1023. package/docs/functions/getCetusPool.html +0 -1
  1024. package/docs/functions/getCetusSqrtPriceMap.html +0 -1
  1025. package/docs/functions/getCoinAmountsFromLiquidity.html +0 -1
  1026. package/docs/functions/getConf.html +0 -1
  1027. package/docs/functions/getCurrentTick.html +0 -1
  1028. package/docs/functions/getDistributor.html +0 -1
  1029. package/docs/functions/getDoubleAssetVaultBalance.html +0 -1
  1030. package/docs/functions/getDoubleAssetVaults.html +0 -1
  1031. package/docs/functions/getInvestor.html +0 -1
  1032. package/docs/functions/getInvestorPoolMap.html +0 -1
  1033. package/docs/functions/getLastAutoCompoundTime.html +0 -1
  1034. package/docs/functions/getLatestPrices.html +0 -1
  1035. package/docs/functions/getLiquidity.html +0 -1
  1036. package/docs/functions/getMultiCetusPool.html +0 -1
  1037. package/docs/functions/getMultiInvestor.html +0 -1
  1038. package/docs/functions/getMultiLatestPrices.html +0 -1
  1039. package/docs/functions/getMultiParentPool.html +0 -1
  1040. package/docs/functions/getMultiPool.html +0 -1
  1041. package/docs/functions/getMultiReceipts.html +0 -1
  1042. package/docs/functions/getParentPool.html +0 -1
  1043. package/docs/functions/getPool.html +0 -1
  1044. package/docs/functions/getPoolExchangeRate.html +0 -1
  1045. package/docs/functions/getPoolExchangeRateMap.html +0 -1
  1046. package/docs/functions/getPoolsWeightDistribution.html +0 -1
  1047. package/docs/functions/getPositionRange.html +0 -1
  1048. package/docs/functions/getPositionRanges.html +0 -1
  1049. package/docs/functions/getPositionTicks.html +0 -1
  1050. package/docs/functions/getPriceToTick.html +0 -1
  1051. package/docs/functions/getRebalanceCap.html +0 -1
  1052. package/docs/functions/getRebalanceHistories.html +0 -1
  1053. package/docs/functions/getRebalanceHistory.html +0 -1
  1054. package/docs/functions/getReceipts.html +0 -1
  1055. package/docs/functions/getSingleAssetVaultBalance.html +0 -1
  1056. package/docs/functions/getSingleAssetVaults.html +0 -1
  1057. package/docs/functions/getSlushUserTotalXtokens.html +0 -1
  1058. package/docs/functions/getSuiClient.html +0 -3
  1059. package/docs/functions/getSuiNodeUrl.html +0 -3
  1060. package/docs/functions/getTVLs-1.html +0 -1
  1061. package/docs/functions/getTickSpacing.html +0 -1
  1062. package/docs/functions/getTickToPrice.html +0 -1
  1063. package/docs/functions/getTvls.html +0 -1
  1064. package/docs/functions/getVaultBalance.html +0 -1
  1065. package/docs/functions/getVaults.html +0 -1
  1066. package/docs/functions/getWithdrawRequestsAndUnsuppliedAmount.html +0 -1
  1067. package/docs/functions/initiateWithdrawAlpha.html +0 -1
  1068. package/docs/functions/lastAutocompoundTime.html +0 -1
  1069. package/docs/functions/liquidityToTokens.html +0 -1
  1070. package/docs/functions/migrateBoostedToLoop.html +0 -1
  1071. package/docs/functions/multiLiquidityToTokens.html +0 -1
  1072. package/docs/functions/multiTokensToUsd.html +0 -1
  1073. package/docs/functions/multiXTokensToLiquidity.html +0 -1
  1074. package/docs/functions/parseUserWalletData.html +0 -1
  1075. package/docs/functions/pendingRewardAmount.html +0 -1
  1076. package/docs/functions/processWithdrawRequestsManual.html +0 -1
  1077. package/docs/functions/setCustomSuiClient.html +0 -5
  1078. package/docs/functions/setSuiClient.html +0 -7
  1079. package/docs/functions/setSuiNodeUrl.html +0 -5
  1080. package/docs/functions/setWeights.html +0 -1
  1081. package/docs/functions/slushDeposit.html +0 -1
  1082. package/docs/functions/slushWithdraw.html +0 -1
  1083. package/docs/functions/updateSingleTokenPrice.html +0 -1
  1084. package/docs/functions/withdraw.html +0 -1
  1085. package/docs/functions/withdrawAlphaTxb.html +0 -1
  1086. package/docs/functions/withdrawTxb.html +0 -1
  1087. package/docs/functions/zapDepositQuoteTxb.html +0 -1
  1088. package/docs/functions/zapDepositTxb.html +0 -1
  1089. package/docs/hierarchy.html +0 -1
  1090. package/docs/index.html +0 -82
  1091. package/docs/interfaces/Coin.html +0 -12
  1092. package/docs/interfaces/CoinPair.html +0 -3
  1093. package/docs/interfaces/CommonEventAttributes.html +0 -7
  1094. package/docs/interfaces/NaviVoloData.html +0 -3
  1095. package/docs/interfaces/PoolData.html +0 -8
  1096. package/docs/interfaces/PoolWeightDistribution.html +0 -4
  1097. package/docs/interfaces/RebalanceHistoryType.html +0 -9
  1098. package/docs/modules.html +0 -1
  1099. package/docs/types/AfterTransactionEventNode.html +0 -1
  1100. package/docs/types/AirdropClaimEventNode.html +0 -1
  1101. package/docs/types/Allocator.html +0 -3
  1102. package/docs/types/AlphaFiDoubleAssetVault.html +0 -9
  1103. package/docs/types/AlphaFiMultiVaultBalance.html +0 -1
  1104. package/docs/types/AlphaFiSingleAssetVault.html +0 -7
  1105. package/docs/types/AlphaFiVault.html +0 -1
  1106. package/docs/types/AlphaFiVaultBalance.html +0 -1
  1107. package/docs/types/AlphaLendInvestor.html +0 -1
  1108. package/docs/types/AlphaPoolType.html +0 -5
  1109. package/docs/types/AlphaReceipt.html +0 -4
  1110. package/docs/types/AlphaReceiptFields.html +0 -11
  1111. package/docs/types/AlphaVaultBalance.html +0 -7
  1112. package/docs/types/AutoBalancePoolNames.html +0 -1
  1113. package/docs/types/AutoCompoundingEventNode.html +0 -1
  1114. package/docs/types/Bag.html +0 -3
  1115. package/docs/types/BluefinInvestor.html +0 -1
  1116. package/docs/types/BluefinLyfInvestor.html +0 -1
  1117. package/docs/types/BluefinPoolType.html +0 -5
  1118. package/docs/types/BucketInvestor.html +0 -2
  1119. package/docs/types/CetusInvestor.html +0 -2
  1120. package/docs/types/CetusPoolType.html +0 -5
  1121. package/docs/types/CetusSwapOptions.html +0 -1
  1122. package/docs/types/CoinAmounts.html +0 -3
  1123. package/docs/types/CoinName.html +0 -1
  1124. package/docs/types/CoinType.html +0 -1
  1125. package/docs/types/CommonInvestorFields.html +0 -6
  1126. package/docs/types/CreatePoolOptions.html +0 -8
  1127. package/docs/types/Distributor.html +0 -6
  1128. package/docs/types/DoubleAssetMultiVaultBalance.html +0 -6
  1129. package/docs/types/DoubleAssetPoolNames.html +0 -1
  1130. package/docs/types/DoubleAssetTokenHoldings.html +0 -5
  1131. package/docs/types/DoubleAssetVaultBalance.html +0 -4
  1132. package/docs/types/EventCategory.html +0 -1
  1133. package/docs/types/EventNode.html +0 -1
  1134. package/docs/types/GetHoldersParams.html +0 -4
  1135. package/docs/types/GetTokenHoldingsParams.html +0 -4
  1136. package/docs/types/GetUserTokensFromTransactionsParams.html +0 -5
  1137. package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +0 -6
  1138. package/docs/types/GetVaultBalanceParams.html +0 -1
  1139. package/docs/types/HoldingsObj.html +0 -4
  1140. package/docs/types/Icon.html +0 -1
  1141. package/docs/types/Investor.html +0 -1
  1142. package/docs/types/LiquidityChangeEventNode.html +0 -1
  1143. package/docs/types/LiquidityToTokensParams.html +0 -3
  1144. package/docs/types/LiquidityToUsdParams.html +0 -6
  1145. package/docs/types/LoopingDebt.html +0 -5
  1146. package/docs/types/LoopingPoolNames.html +0 -1
  1147. package/docs/types/LpBreakdownType.html +0 -6
  1148. package/docs/types/MemberPoolDataType.html +0 -3
  1149. package/docs/types/MemberType.html +0 -3
  1150. package/docs/types/MultiGetVaultBalancesParams.html +0 -4
  1151. package/docs/types/NaviInvestor.html +0 -2
  1152. package/docs/types/ObjectTable.html +0 -1
  1153. package/docs/types/OtherReceiptFields.html +0 -9
  1154. package/docs/types/PoolName.html +0 -1
  1155. package/docs/types/PoolReceipt.html +0 -1
  1156. package/docs/types/PoolType.html +0 -5
  1157. package/docs/types/Receipt.html +0 -5
  1158. package/docs/types/ReceiptGQL.html +0 -6
  1159. package/docs/types/SingleAssetMultiVaultBalance.html +0 -5
  1160. package/docs/types/SingleAssetPoolNames.html +0 -1
  1161. package/docs/types/SingleAssetTokenHoldings.html +0 -4
  1162. package/docs/types/SingleAssetVaultBalance.html +0 -3
  1163. package/docs/types/SingleGetVaultBalancesParams.html +0 -3
  1164. package/docs/types/StrategyType.html +0 -1
  1165. package/docs/types/SuiNetwork.html +0 -1
  1166. package/docs/types/SwapOptions.html +0 -1
  1167. package/docs/types/TickSpacing.html +0 -1
  1168. package/docs/types/TotalWeightType.html +0 -3
  1169. package/docs/types/TransactionBlockType.html +0 -6
  1170. package/docs/types/UserPoolLiquidity.html +0 -4
  1171. package/docs/types/UserPoolTokenHoldings.html +0 -1
  1172. package/docs/types/UserUsdHoldings.html +0 -4
  1173. package/docs/types/VaultBalance.html +0 -1
  1174. package/docs/types/VecMap.html +0 -3
  1175. package/docs/types/VoteCastEvent.html +0 -1
  1176. package/docs/types/WithdrawV2EventNode.html +0 -1
  1177. package/docs/variables/AUTOBALANCE_SUI_FIRST_POOLS.html +0 -1
  1178. package/docs/variables/AUTOBALANCE_SUI_SECOND_POOLS.html +0 -1
  1179. package/docs/variables/AUTOBALANCE_TYPE_1_POOLS.html +0 -1
  1180. package/docs/variables/alphalendMarketIdMap.html +0 -1
  1181. package/docs/variables/bluefinPoolMap.html +0 -1
  1182. package/docs/variables/cetusPoolMap.html +0 -1
  1183. package/docs/variables/coinsList.html +0 -1
  1184. package/docs/variables/defunctPoolsSet.html +0 -1
  1185. package/docs/variables/doubleAssetPoolCoinMap.html +0 -1
  1186. package/docs/variables/eventCategories.html +0 -1
  1187. package/docs/variables/ignoredWalletsForDailyRevenue.html +0 -1
  1188. package/docs/variables/loopingAccountAddresses.html +0 -1
  1189. package/docs/variables/loopingPoolCoinMap.html +0 -1
  1190. package/docs/variables/naviAssetMap.html +0 -1
  1191. package/docs/variables/naviPriceFeedMap.html +0 -1
  1192. package/docs/variables/poolIdPoolNameMap.html +0 -1
  1193. package/docs/variables/poolInfo.html +0 -1
  1194. package/docs/variables/singleAssetPoolCoinMap.html +0 -1
  1195. package/docs/variables/stableCoins.html +0 -1
  1196. package/eslint.config.js +0 -53
  1197. package/prettier.config.js +0 -3
  1198. package/scripts/package-lock.json +0 -2506
  1199. package/scripts/package.json +0 -30
  1200. package/scripts/testRun.ts +0 -117
  1201. package/scripts/utils.ts +0 -108
  1202. /package/dist/cjs/{common → models}/types.js +0 -0
  1203. /package/dist/esm/{common → models}/types.js +0 -0
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Provides coin metadata and pricing data from AlphaLend API with automatic caching.
3
+ */
4
+ import { Decimal } from 'decimal.js';
5
+ import { CoinInfo } from './types.js';
6
+ export declare class CoinInfoProvider {
7
+ private readonly apiUrl;
8
+ private readonly cache;
9
+ constructor();
10
+ /** Get all coin metadata with caching and promise deduplication. */
11
+ getAllCoins(): Promise<Map<string, CoinInfo>>;
12
+ /** Get coin metadata by symbol. */
13
+ getCoinBySymbol(symbol: string): Promise<CoinInfo | undefined>;
14
+ /** Get coin metadata by type. */
15
+ getCoinByType(coinType: string): Promise<CoinInfo | undefined>;
16
+ /** Get coin price (Pyth preferred, fallback to CoinGecko). */
17
+ getPriceByType(coinType: string): Promise<Decimal>;
18
+ /** Clear the cache to force fresh data on next request. */
19
+ clear(): void;
20
+ /** Fetch coin data from AlphaLend GraphQL API. */
21
+ private fetchFromApi;
22
+ }
23
+ //# sourceMappingURL=coinInfoProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coinInfoProvider.d.ts","sourceRoot":"","sources":["../../../src/models/coinInfoProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAetC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;;IAO9D,oEAAoE;IAC9D,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAInD,mCAAmC;IAC7B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAOpE,iCAAiC;IAC3B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAKpE,8DAA8D;IACxD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQxD,2DAA2D;IAC3D,KAAK,IAAI,IAAI;IAIb,kDAAkD;YACpC,YAAY;CAqD3B"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * Provides coin metadata and pricing data from AlphaLend API with automatic caching.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CoinInfoProvider = void 0;
7
+ const utils_1 = require("@mysten/sui/utils");
8
+ const decimal_js_1 = require("decimal.js");
9
+ const cache_js_1 = require("../utils/cache.js");
10
+ const constants_js_1 = require("../utils/constants.js");
11
+ class CoinInfoProvider {
12
+ apiUrl = constants_js_1.URLS.COININFO_API;
13
+ cache;
14
+ constructor() {
15
+ // 5 minute TTL for coin data
16
+ this.cache = new cache_js_1.SingletonCache(constants_js_1.CACHE_TTL.COIN_INFO);
17
+ }
18
+ /** Get all coin metadata with caching and promise deduplication. */
19
+ async getAllCoins() {
20
+ return this.cache.getOrFetch(() => this.fetchFromApi());
21
+ }
22
+ /** Get coin metadata by symbol. */
23
+ async getCoinBySymbol(symbol) {
24
+ const coins = await this.getAllCoins();
25
+ return Array.from(coins.values()).find((coin) => coin.symbol.toUpperCase() === symbol.toUpperCase());
26
+ }
27
+ /** Get coin metadata by type. */
28
+ async getCoinByType(coinType) {
29
+ const coins = await this.getAllCoins();
30
+ return coins.get((0, utils_1.normalizeStructTag)(coinType));
31
+ }
32
+ /** Get coin price (Pyth preferred, fallback to CoinGecko). */
33
+ async getPriceByType(coinType) {
34
+ const coin = await this.getCoinByType((0, utils_1.normalizeStructTag)(coinType));
35
+ if (!coin)
36
+ throw new Error(`Coin not found: ${coinType}`);
37
+ const price = coin.pythPrice ?? coin.coingeckoPrice;
38
+ if (!price)
39
+ throw new Error(`No price available for: ${coinType}`);
40
+ return price;
41
+ }
42
+ /** Clear the cache to force fresh data on next request. */
43
+ clear() {
44
+ this.cache.clear();
45
+ }
46
+ /** Fetch coin data from AlphaLend GraphQL API. */
47
+ async fetchFromApi() {
48
+ const query = `
49
+ query {
50
+ coinInfo {
51
+ coinType
52
+ symbol
53
+ decimals
54
+ coingeckoPrice
55
+ pythPrice
56
+ }
57
+ }
58
+ `;
59
+ const response = await fetch(this.apiUrl, {
60
+ method: 'POST',
61
+ headers: { 'Content-Type': 'application/json' },
62
+ body: JSON.stringify({ query }),
63
+ });
64
+ if (!response.ok) {
65
+ throw new Error(`AlphaLend API error: ${response.status}`);
66
+ }
67
+ const json = (await response.json());
68
+ const apiCoins = json?.data?.coinInfo ?? [];
69
+ const coins = new Map();
70
+ apiCoins.forEach((apiCoin) => {
71
+ coins.set((0, utils_1.normalizeStructTag)(apiCoin.coinType), {
72
+ coinType: (0, utils_1.normalizeStructTag)(apiCoin.coinType),
73
+ symbol: apiCoin.symbol,
74
+ decimals: apiCoin.decimals,
75
+ coingeckoPrice: apiCoin.coingeckoPrice !== undefined && apiCoin.coingeckoPrice !== null
76
+ ? new decimal_js_1.Decimal(apiCoin.coingeckoPrice)
77
+ : undefined,
78
+ pythPrice: apiCoin.pythPrice !== undefined && apiCoin.pythPrice !== null
79
+ ? new decimal_js_1.Decimal(apiCoin.pythPrice)
80
+ : undefined,
81
+ });
82
+ });
83
+ return coins;
84
+ }
85
+ }
86
+ exports.CoinInfoProvider = CoinInfoProvider;
87
+ //# sourceMappingURL=coinInfoProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coinInfoProvider.js","sourceRoot":"","sources":["../../../src/models/coinInfoProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Provides coin metadata and pricing data from AlphaLend API with automatic caching.\n */\n\nimport { normalizeStructTag } from '@mysten/sui/utils';\nimport { Decimal } from 'decimal.js';\nimport { SingletonCache } from '../utils/cache.js';\nimport { CoinInfo } from './types.js';\nimport { CACHE_TTL, URLS } from '../utils/constants.js';\n\ntype GraphQLResponse = {\n data: {\n coinInfo: Array<{\n coinType: string;\n symbol: string;\n decimals: number;\n coingeckoPrice?: number | null;\n pythPrice?: number | null;\n }>;\n };\n};\n\nexport class CoinInfoProvider {\n private readonly apiUrl: string = URLS.COININFO_API;\n private readonly cache: SingletonCache<Map<string, CoinInfo>>;\n\n constructor() {\n // 5 minute TTL for coin data\n this.cache = new SingletonCache<Map<string, CoinInfo>>(CACHE_TTL.COIN_INFO);\n }\n\n /** Get all coin metadata with caching and promise deduplication. */\n async getAllCoins(): Promise<Map<string, CoinInfo>> {\n return this.cache.getOrFetch(() => this.fetchFromApi());\n }\n\n /** Get coin metadata by symbol. */\n async getCoinBySymbol(symbol: string): Promise<CoinInfo | undefined> {\n const coins = await this.getAllCoins();\n return Array.from(coins.values()).find(\n (coin) => coin.symbol.toUpperCase() === symbol.toUpperCase(),\n );\n }\n\n /** Get coin metadata by type. */\n async getCoinByType(coinType: string): Promise<CoinInfo | undefined> {\n const coins = await this.getAllCoins();\n return coins.get(normalizeStructTag(coinType));\n }\n\n /** Get coin price (Pyth preferred, fallback to CoinGecko). */\n async getPriceByType(coinType: string): Promise<Decimal> {\n const coin = await this.getCoinByType(normalizeStructTag(coinType));\n if (!coin) throw new Error(`Coin not found: ${coinType}`);\n const price = coin.pythPrice ?? coin.coingeckoPrice;\n if (!price) throw new Error(`No price available for: ${coinType}`);\n return price;\n }\n\n /** Clear the cache to force fresh data on next request. */\n clear(): void {\n this.cache.clear();\n }\n\n /** Fetch coin data from AlphaLend GraphQL API. */\n private async fetchFromApi(): Promise<Map<string, CoinInfo>> {\n const query = `\n query {\n coinInfo {\n coinType\n symbol\n decimals\n coingeckoPrice\n pythPrice\n }\n }\n `;\n\n const response = await fetch(this.apiUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ query }),\n });\n\n if (!response.ok) {\n throw new Error(`AlphaLend API error: ${response.status}`);\n }\n\n const json = (await response.json()) as GraphQLResponse;\n const apiCoins = json?.data?.coinInfo ?? [];\n\n const coins: Map<string, CoinInfo> = new Map();\n apiCoins.forEach(\n (apiCoin: {\n coinType: string;\n symbol: string;\n decimals: number;\n coingeckoPrice?: number | null;\n pythPrice?: number | null;\n }) => {\n coins.set(normalizeStructTag(apiCoin.coinType), {\n coinType: normalizeStructTag(apiCoin.coinType),\n symbol: apiCoin.symbol,\n decimals: apiCoin.decimals,\n coingeckoPrice:\n apiCoin.coingeckoPrice !== undefined && apiCoin.coingeckoPrice !== null\n ? new Decimal(apiCoin.coingeckoPrice)\n : undefined,\n pythPrice:\n apiCoin.pythPrice !== undefined && apiCoin.pythPrice !== null\n ? new Decimal(apiCoin.pythPrice)\n : undefined,\n });\n },\n );\n\n return coins;\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export { Blockchain } from './blockchain.js';
2
+ export { Protocol } from './protocol.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Protocol = exports.Blockchain = void 0;
4
+ var blockchain_js_1 = require("./blockchain.js");
5
+ Object.defineProperty(exports, "Blockchain", { enumerable: true, get: function () { return blockchain_js_1.Blockchain; } });
6
+ var protocol_js_1 = require("./protocol.js");
7
+ Object.defineProperty(exports, "Protocol", { enumerable: true, get: function () { return protocol_js_1.Protocol; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAApC,2GAAA,UAAU,OAAA;AACnB,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA","sourcesContent":["export { Blockchain } from './blockchain.js';\nexport { Protocol } from './protocol.js';\n"]}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * User portfolio manager that calculates balances, net worth, and aggregated APY.
3
+ */
4
+ import { Protocol } from './protocol.js';
5
+ import { StrategyContext } from './strategyContext.js';
6
+ import { UserPortfolioData } from './types.js';
7
+ import { Strategy, StrategyType } from '../strategies/strategy.js';
8
+ export declare class Portfolio {
9
+ protocol: Protocol;
10
+ strategyContext: StrategyContext;
11
+ constructor(protocol: Protocol, strategyContext: StrategyContext);
12
+ /** Get all coin balances in user's wallet. */
13
+ getWalletCoins(userAddress: string): Promise<Map<string, string>>;
14
+ getAllPoolStrategies(userAddress: string): Promise<Map<string, Strategy>>;
15
+ getPoolStrategy(userAddress: string, poolId: string): Promise<Strategy>;
16
+ /** Calculate user's complete portfolio including net worth, aggregated APY, and alpha rewards. */
17
+ getUserPortfolio(userAddress: string, strategiesType?: StrategyType[]): Promise<UserPortfolioData>;
18
+ /** Update strategies with user's receipt objects and positions. */
19
+ private updateStrategiesWithReceipts;
20
+ }
21
+ //# sourceMappingURL=portfolio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/models/portfolio.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAe,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAenE,qBAAa,SAAS;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;gBAErB,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe;IAKhE,8CAA8C;IACxC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAYjE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAMzE,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM7E,kGAAkG;IAC5F,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,YAAY,EAAE,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IAkD7B,mEAAmE;YACrD,4BAA4B;CAgI3C"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ /**
3
+ * User portfolio manager that calculates balances, net worth, and aggregated APY.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Portfolio = void 0;
7
+ const utils_1 = require("@mysten/sui/utils");
8
+ const decimal_js_1 = require("decimal.js");
9
+ class Portfolio {
10
+ protocol;
11
+ strategyContext;
12
+ constructor(protocol, strategyContext) {
13
+ this.protocol = protocol;
14
+ this.strategyContext = strategyContext;
15
+ }
16
+ /** Get all coin balances in user's wallet. */
17
+ async getWalletCoins(userAddress) {
18
+ const res = await this.strategyContext.blockchain.suiClient.getAllBalances({
19
+ owner: userAddress,
20
+ });
21
+ const resMap = new Map();
22
+ res.forEach((entry) => {
23
+ resMap.set((0, utils_1.normalizeStructTag)(entry.coinType), entry.totalBalance);
24
+ });
25
+ return resMap;
26
+ }
27
+ async getAllPoolStrategies(userAddress) {
28
+ const strategies = await this.protocol.getStrategies();
29
+ await this.updateStrategiesWithReceipts(userAddress, strategies);
30
+ return strategies;
31
+ }
32
+ async getPoolStrategy(userAddress, poolId) {
33
+ const strategy = await this.protocol.getSinglePoolStrategy(poolId);
34
+ await this.updateStrategiesWithReceipts(userAddress, new Map([[poolId, strategy]]));
35
+ return strategy;
36
+ }
37
+ /** Calculate user's complete portfolio including net worth, aggregated APY, and alpha rewards. */
38
+ async getUserPortfolio(userAddress, strategiesType) {
39
+ const strategies = await this.protocol.getStrategies(strategiesType);
40
+ await this.updateStrategiesWithReceipts(userAddress, strategies);
41
+ // Fetch APR map once for all strategies
42
+ const aprMap = await this.strategyContext.getAprMap();
43
+ const balancesWithIds = await Promise.all(Array.from(strategies.entries()).map(async ([poolId, strategy]) => {
44
+ const balance = await strategy.getBalance(userAddress);
45
+ return [poolId, balance];
46
+ }));
47
+ const poolBalances = new Map(balancesWithIds);
48
+ let [netWorth, aggregatedApy] = [new decimal_js_1.Decimal(0), new decimal_js_1.Decimal(0)];
49
+ Array.from(poolBalances.entries()).forEach(([poolId, balance]) => {
50
+ const balanceUsd = 'stakedAlphaUsdValue' in balance ? balance.stakedAlphaUsdValue : balance.usdValue;
51
+ // Cap retired pool APY at 1000%
52
+ const aprData = aprMap.get(poolId) || {
53
+ baseApr: new decimal_js_1.Decimal(0),
54
+ alphaMiningApr: new decimal_js_1.Decimal(0),
55
+ apy: new decimal_js_1.Decimal(0),
56
+ lastAutocompounded: new Date(),
57
+ };
58
+ let apy = new decimal_js_1.Decimal(aprData.apy);
59
+ const isActive = strategies.get(poolId)?.getPoolLabel()?.isActive;
60
+ if (isActive === false && apy.gt(1000)) {
61
+ apy = new decimal_js_1.Decimal(1000);
62
+ }
63
+ netWorth = netWorth.add(balanceUsd);
64
+ aggregatedApy = aggregatedApy.add(balanceUsd.mul(apy));
65
+ });
66
+ aggregatedApy = netWorth.isZero() ? new decimal_js_1.Decimal(0) : aggregatedApy.div(netWorth);
67
+ // Sum alpha rewards across all strategies
68
+ const distributor = await this.strategyContext.getDistributorObject();
69
+ let alphaRewardsToClaim = new decimal_js_1.Decimal(0);
70
+ for (const strategy of strategies.values()) {
71
+ alphaRewardsToClaim = alphaRewardsToClaim.add(strategy.getAlphaMiningRewardsToClaim(distributor));
72
+ }
73
+ return { netWorth, aggregatedApy, alphaRewardsToClaim, poolBalances };
74
+ }
75
+ /** Update strategies with user's receipt objects and positions. */
76
+ async updateStrategiesWithReceipts(userAddress, strategies) {
77
+ const poolLabels = Array.from(strategies.values()).map((strategy) => strategy.getPoolLabel());
78
+ const receiptTypes = [];
79
+ let [hasSlushLending, hasFungible, hasAlphaVault] = [false, false, false];
80
+ poolLabels.forEach((poolLabel) => {
81
+ switch (poolLabel.strategyType) {
82
+ case 'AlphaVault':
83
+ hasAlphaVault = true;
84
+ break;
85
+ case 'AutobalanceLp':
86
+ case 'Lending':
87
+ case 'Looping':
88
+ case 'Lp':
89
+ case 'Lyf':
90
+ case 'SingleAssetLooping':
91
+ receiptTypes.push(poolLabel.receipt.type);
92
+ break;
93
+ case 'FungibleLp':
94
+ hasFungible = true;
95
+ break;
96
+ case 'SlushLending':
97
+ hasSlushLending = true;
98
+ break;
99
+ case 'FungibleLending':
100
+ hasFungible = true;
101
+ break;
102
+ default:
103
+ break;
104
+ }
105
+ });
106
+ const [slushPositions, alphafiPositions, receiptObjects, coinBalances] = await Promise.all([
107
+ hasSlushLending
108
+ ? this.strategyContext.getAllSlushPositions(userAddress)
109
+ : Promise.resolve(new Map()),
110
+ hasAlphaVault
111
+ ? this.strategyContext.getPositionsFromAlphaFiReceipts(userAddress)
112
+ : Promise.resolve(new Map()),
113
+ this.strategyContext.blockchain.multiGetReceipts(userAddress, receiptTypes),
114
+ hasFungible ? this.getWalletCoins(userAddress) : Promise.resolve(new Map()),
115
+ ]);
116
+ strategies.forEach((strategy, poolId) => {
117
+ switch (strategy.getPoolLabel().strategyType) {
118
+ case 'AlphaVault': {
119
+ const alphaVaultStrategy = strategy;
120
+ alphaVaultStrategy.updateReceipts(receiptObjects.get(alphaVaultStrategy.getPoolLabel().receipt.type) ?? [], alphafiPositions.get(poolId) ?? []);
121
+ break;
122
+ }
123
+ case 'AutobalanceLp': {
124
+ const autobalanceLpStrategy = strategy;
125
+ autobalanceLpStrategy.updateReceipts(receiptObjects.get(autobalanceLpStrategy.getPoolLabel().receipt.type) ?? []);
126
+ break;
127
+ }
128
+ case 'FungibleLp': {
129
+ const fungibleLpStrategy = strategy;
130
+ fungibleLpStrategy.updateReceipts(new decimal_js_1.Decimal(coinBalances.get(strategy.getPoolLabel().fungibleCoin.type) ?? '0'));
131
+ break;
132
+ }
133
+ case 'Lending': {
134
+ const lendingStrategy = strategy;
135
+ lendingStrategy.updateReceipts(receiptObjects.get(lendingStrategy.getPoolLabel().receipt.type) ?? []);
136
+ break;
137
+ }
138
+ case 'Looping': {
139
+ const loopingStrategy = strategy;
140
+ loopingStrategy.updateReceipts(receiptObjects.get(loopingStrategy.getPoolLabel().receipt.type) ?? []);
141
+ break;
142
+ }
143
+ case 'Lp': {
144
+ const lpStrategy = strategy;
145
+ lpStrategy.updateReceipts(receiptObjects.get(lpStrategy.getPoolLabel().receipt.type) ?? []);
146
+ break;
147
+ }
148
+ case 'Lyf': {
149
+ const lyfStrategy = strategy;
150
+ lyfStrategy.updateReceipts(receiptObjects.get(lyfStrategy.getPoolLabel().receipt.type) ?? []);
151
+ break;
152
+ }
153
+ case 'SingleAssetLooping': {
154
+ const singleAssetLoopingStrategy = strategy;
155
+ singleAssetLoopingStrategy.updateReceipts(receiptObjects.get(singleAssetLoopingStrategy.getPoolLabel().receipt.type) ?? []);
156
+ break;
157
+ }
158
+ case 'SlushLending': {
159
+ const slushLendingStrategy = strategy;
160
+ slushLendingStrategy.updateReceipts(slushPositions.get(poolId) ?? []);
161
+ break;
162
+ }
163
+ case 'FungibleLending': {
164
+ const fungibleLpStrategy = strategy;
165
+ fungibleLpStrategy.updateReceipts(new decimal_js_1.Decimal(coinBalances.get(strategy.getPoolLabel().fungibleCoin.type) ?? '0'));
166
+ break;
167
+ }
168
+ }
169
+ });
170
+ }
171
+ }
172
+ exports.Portfolio = Portfolio;
173
+ //# sourceMappingURL=portfolio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../../../src/models/portfolio.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * User portfolio manager that calculates balances, net worth, and aggregated APY.\n */\n\nimport { Protocol } from './protocol.js';\nimport { normalizeStructTag } from '@mysten/sui/utils';\nimport { StrategyContext } from './strategyContext.js';\nimport { PoolBalance, UserPortfolioData } from './types.js';\nimport { Decimal } from 'decimal.js';\nimport { Strategy, StrategyType } from '../strategies/strategy.js';\nimport { AlphaVaultStrategy } from '../strategies/alphaVault.js';\nimport { AutobalanceLpStrategy } from '../strategies/autobalanceLp.js';\nimport { LendingStrategy } from '../strategies/lending.js';\nimport { LoopingStrategy } from '../strategies/looping.js';\nimport { LpStrategy } from '../strategies/lp.js';\nimport { LyfStrategy } from '../strategies/lyf.js';\nimport { SingleAssetLoopingStrategy } from '../strategies/singleAssetLooping.js';\nimport { FungibleLpPoolLabel, FungibleLpStrategy } from '../strategies/fungibleLp.js';\nimport {\n FungibleLendingPoolLabel,\n FungibleLendingStrategy,\n} from '../strategies/fungibleLending.js';\nimport { SlushLendingStrategy } from '../strategies/slushLending.js';\n\nexport class Portfolio {\n protocol: Protocol;\n strategyContext: StrategyContext;\n\n constructor(protocol: Protocol, strategyContext: StrategyContext) {\n this.protocol = protocol;\n this.strategyContext = strategyContext;\n }\n\n /** Get all coin balances in user's wallet. */\n async getWalletCoins(userAddress: string): Promise<Map<string, string>> {\n const res = await this.strategyContext.blockchain.suiClient.getAllBalances({\n owner: userAddress,\n });\n\n const resMap: Map<string, string> = new Map();\n res.forEach((entry: { coinType: string; totalBalance: string }) => {\n resMap.set(normalizeStructTag(entry.coinType), entry.totalBalance);\n });\n return resMap;\n }\n\n async getAllPoolStrategies(userAddress: string): Promise<Map<string, Strategy>> {\n const strategies = await this.protocol.getStrategies();\n await this.updateStrategiesWithReceipts(userAddress, strategies);\n return strategies;\n }\n\n async getPoolStrategy(userAddress: string, poolId: string): Promise<Strategy> {\n const strategy = await this.protocol.getSinglePoolStrategy(poolId);\n await this.updateStrategiesWithReceipts(userAddress, new Map([[poolId, strategy]]));\n return strategy;\n }\n\n /** Calculate user's complete portfolio including net worth, aggregated APY, and alpha rewards. */\n async getUserPortfolio(\n userAddress: string,\n strategiesType?: StrategyType[],\n ): Promise<UserPortfolioData> {\n const strategies = await this.protocol.getStrategies(strategiesType);\n await this.updateStrategiesWithReceipts(userAddress, strategies);\n\n // Fetch APR map once for all strategies\n const aprMap = await this.strategyContext.getAprMap();\n\n const balancesWithIds = await Promise.all(\n Array.from(strategies.entries()).map(async ([poolId, strategy]) => {\n const balance = await strategy.getBalance(userAddress);\n return [poolId, balance] as [string, PoolBalance];\n }),\n );\n const poolBalances: Map<string, PoolBalance> = new Map(balancesWithIds);\n\n let [netWorth, aggregatedApy] = [new Decimal(0), new Decimal(0)];\n Array.from(poolBalances.entries()).forEach(([poolId, balance]) => {\n const balanceUsd =\n 'stakedAlphaUsdValue' in balance ? balance.stakedAlphaUsdValue : balance.usdValue;\n\n // Cap retired pool APY at 1000%\n const aprData = aprMap.get(poolId) || {\n baseApr: new Decimal(0),\n alphaMiningApr: new Decimal(0),\n apy: new Decimal(0),\n lastAutocompounded: new Date(),\n };\n let apy = new Decimal(aprData.apy);\n const isActive = (strategies.get(poolId)?.getPoolLabel() as any)?.isActive;\n if (isActive === false && apy.gt(1000)) {\n apy = new Decimal(1000);\n }\n\n netWorth = netWorth.add(balanceUsd);\n aggregatedApy = aggregatedApy.add(balanceUsd.mul(apy));\n });\n aggregatedApy = netWorth.isZero() ? new Decimal(0) : aggregatedApy.div(netWorth);\n\n // Sum alpha rewards across all strategies\n const distributor = await this.strategyContext.getDistributorObject();\n let alphaRewardsToClaim = new Decimal(0);\n for (const strategy of strategies.values()) {\n alphaRewardsToClaim = alphaRewardsToClaim.add(\n strategy.getAlphaMiningRewardsToClaim(distributor),\n );\n }\n\n return { netWorth, aggregatedApy, alphaRewardsToClaim, poolBalances };\n }\n\n /** Update strategies with user's receipt objects and positions. */\n private async updateStrategiesWithReceipts(\n userAddress: string,\n strategies: Map<string, Strategy>,\n ) {\n const poolLabels = Array.from(strategies.values()).map((strategy) => strategy.getPoolLabel());\n const receiptTypes: string[] = [];\n\n let [hasSlushLending, hasFungible, hasAlphaVault] = [false, false, false];\n poolLabels.forEach((poolLabel) => {\n switch (poolLabel.strategyType) {\n case 'AlphaVault':\n hasAlphaVault = true;\n break;\n case 'AutobalanceLp':\n case 'Lending':\n case 'Looping':\n case 'Lp':\n case 'Lyf':\n case 'SingleAssetLooping':\n receiptTypes.push(poolLabel.receipt.type);\n break;\n case 'FungibleLp':\n hasFungible = true;\n break;\n case 'SlushLending':\n hasSlushLending = true;\n break;\n case 'FungibleLending':\n hasFungible = true;\n break;\n default:\n break;\n }\n });\n\n const [slushPositions, alphafiPositions, receiptObjects, coinBalances] = await Promise.all([\n hasSlushLending\n ? this.strategyContext.getAllSlushPositions(userAddress)\n : Promise.resolve(new Map()),\n hasAlphaVault\n ? this.strategyContext.getPositionsFromAlphaFiReceipts(userAddress)\n : Promise.resolve(new Map()),\n this.strategyContext.blockchain.multiGetReceipts(userAddress, receiptTypes),\n hasFungible ? this.getWalletCoins(userAddress) : Promise.resolve(new Map()),\n ]);\n\n strategies.forEach((strategy, poolId) => {\n switch (strategy.getPoolLabel().strategyType) {\n case 'AlphaVault': {\n const alphaVaultStrategy = strategy as AlphaVaultStrategy;\n alphaVaultStrategy.updateReceipts(\n receiptObjects.get(alphaVaultStrategy.getPoolLabel().receipt.type) ?? [],\n alphafiPositions.get(poolId) ?? [],\n );\n break;\n }\n case 'AutobalanceLp': {\n const autobalanceLpStrategy = strategy as AutobalanceLpStrategy;\n autobalanceLpStrategy.updateReceipts(\n receiptObjects.get(autobalanceLpStrategy.getPoolLabel().receipt.type) ?? [],\n );\n break;\n }\n case 'FungibleLp': {\n const fungibleLpStrategy = strategy as FungibleLpStrategy;\n fungibleLpStrategy.updateReceipts(\n new Decimal(\n coinBalances.get(\n (strategy.getPoolLabel() as FungibleLpPoolLabel).fungibleCoin.type,\n ) ?? '0',\n ),\n );\n break;\n }\n case 'Lending': {\n const lendingStrategy = strategy as LendingStrategy;\n lendingStrategy.updateReceipts(\n receiptObjects.get(lendingStrategy.getPoolLabel().receipt.type) ?? [],\n );\n break;\n }\n case 'Looping': {\n const loopingStrategy = strategy as LoopingStrategy;\n loopingStrategy.updateReceipts(\n receiptObjects.get(loopingStrategy.getPoolLabel().receipt.type) ?? [],\n );\n break;\n }\n case 'Lp': {\n const lpStrategy = strategy as LpStrategy;\n lpStrategy.updateReceipts(\n receiptObjects.get(lpStrategy.getPoolLabel().receipt.type) ?? [],\n );\n break;\n }\n case 'Lyf': {\n const lyfStrategy = strategy as LyfStrategy;\n lyfStrategy.updateReceipts(\n receiptObjects.get(lyfStrategy.getPoolLabel().receipt.type) ?? [],\n );\n break;\n }\n case 'SingleAssetLooping': {\n const singleAssetLoopingStrategy = strategy as SingleAssetLoopingStrategy;\n singleAssetLoopingStrategy.updateReceipts(\n receiptObjects.get(singleAssetLoopingStrategy.getPoolLabel().receipt.type) ?? [],\n );\n break;\n }\n case 'SlushLending': {\n const slushLendingStrategy = strategy as SlushLendingStrategy;\n slushLendingStrategy.updateReceipts(slushPositions.get(poolId) ?? []);\n break;\n }\n case 'FungibleLending': {\n const fungibleLpStrategy = strategy as FungibleLendingStrategy;\n fungibleLpStrategy.updateReceipts(\n new Decimal(\n coinBalances.get(\n (strategy.getPoolLabel() as FungibleLendingPoolLabel).fungibleCoin.type,\n ) ?? '0',\n ),\n );\n break;\n }\n }\n });\n }\n}\n"]}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Core protocol manager that handles strategy initialization and data retrieval.
3
+ * Uses per-pool caching for granular cache management.
4
+ */
5
+ import { StrategyContext } from './strategyContext.js';
6
+ import { Strategy, StrategyType } from '../strategies/strategy.js';
7
+ import { PoolData } from './types.js';
8
+ export declare class Protocol {
9
+ strategyContext: StrategyContext;
10
+ private strategyCache;
11
+ constructor(strategyContext: StrategyContext);
12
+ /** Get pool data from strategies, optionally filtered by type. */
13
+ getPoolsData(strategiesType?: StrategyType[]): Promise<Map<string, PoolData>>;
14
+ /** Get initialized strategies, optionally filtered by type. */
15
+ getStrategies(strategiesType?: StrategyType[]): Promise<Map<string, Strategy>>;
16
+ /** Get a single pool strategy by poolId. Uses cache with lazy loading and promise memoization. */
17
+ getSinglePoolStrategy(poolId: string): Promise<Strategy>;
18
+ /** Build strategies from on-chain data for specified pool labels. */
19
+ private buildPoolStrategies;
20
+ /** Clear the strategy cache. */
21
+ clearCache(): void;
22
+ /** Clear cache for a specific pool. */
23
+ clearPoolCache(poolId: string): void;
24
+ }
25
+ //# sourceMappingURL=protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/models/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAavD,OAAO,EAAa,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,qBAAa,QAAQ;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,aAAa,CAA0B;gBAEnC,eAAe,EAAE,eAAe;IAK5C,kEAAkE;IAC5D,YAAY,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAQnF,+DAA+D;IACzD,aAAa,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAyCpF,kGAAkG;IAC5F,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkB9D,qEAAqE;YACvD,mBAAmB;IA2IjC,gCAAgC;IAChC,UAAU,IAAI,IAAI;IAIlB,uCAAuC;IACvC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Protocol = void 0;
4
+ const lp_js_1 = require("../strategies/lp.js");
5
+ const lyf_js_1 = require("../strategies/lyf.js");
6
+ const autobalanceLp_js_1 = require("../strategies/autobalanceLp.js");
7
+ const fungibleLp_js_1 = require("../strategies/fungibleLp.js");
8
+ const alphaVault_js_1 = require("../strategies/alphaVault.js");
9
+ const lending_js_1 = require("../strategies/lending.js");
10
+ const slushLending_js_1 = require("../strategies/slushLending.js");
11
+ const looping_js_1 = require("../strategies/looping.js");
12
+ const singleAssetLooping_js_1 = require("../strategies/singleAssetLooping.js");
13
+ const cache_js_1 = require("../utils/cache.js");
14
+ const constants_js_1 = require("../utils/constants.js");
15
+ const fungibleLending_js_1 = require("../strategies/fungibleLending.js");
16
+ class Protocol {
17
+ strategyContext;
18
+ strategyCache;
19
+ constructor(strategyContext) {
20
+ this.strategyContext = strategyContext;
21
+ this.strategyCache = new cache_js_1.Cache(constants_js_1.CACHE_TTL.STRATEGY_CACHE);
22
+ }
23
+ /** Get pool data from strategies, optionally filtered by type. */
24
+ async getPoolsData(strategiesType) {
25
+ const strategies = await this.getStrategies(strategiesType);
26
+ const poolsData = await Promise.all(Array.from(strategies.values()).map((strategy) => strategy.getData()));
27
+ return new Map(poolsData.map((poolData) => [poolData.poolId, poolData]));
28
+ }
29
+ /** Get initialized strategies, optionally filtered by type. */
30
+ async getStrategies(strategiesType) {
31
+ const poolLabels = await this.strategyContext.getPoolLabels();
32
+ // Filter by strategy types if specified
33
+ const filteredLabels = strategiesType
34
+ ? Array.from(poolLabels.values()).filter((label) => strategiesType.includes(label.strategyType))
35
+ : Array.from(poolLabels.values());
36
+ // Get pool IDs that need to be built (not in cache or expired)
37
+ const poolIdsToBuild = [];
38
+ const cachedStrategies = new Map();
39
+ for (const label of filteredLabels) {
40
+ const cached = this.strategyCache.get(label.poolId);
41
+ if (cached) {
42
+ cachedStrategies.set(label.poolId, cached);
43
+ }
44
+ else {
45
+ poolIdsToBuild.push(label.poolId);
46
+ }
47
+ }
48
+ // Build strategies for pools not in cache
49
+ if (poolIdsToBuild.length > 0) {
50
+ const labelsToBuild = poolIdsToBuild
51
+ .map((id) => poolLabels.get(id))
52
+ .filter((label) => label !== undefined);
53
+ const newStrategies = await this.buildPoolStrategies(labelsToBuild);
54
+ // Cache the new strategies
55
+ newStrategies.forEach((strategy, poolId) => {
56
+ this.strategyCache.set(poolId, strategy);
57
+ cachedStrategies.set(poolId, strategy);
58
+ });
59
+ }
60
+ return cachedStrategies;
61
+ }
62
+ /** Get a single pool strategy by poolId. Uses cache with lazy loading and promise memoization. */
63
+ async getSinglePoolStrategy(poolId) {
64
+ return this.strategyCache.getOrFetch(poolId, async () => {
65
+ const poolLabel = await this.strategyContext.getPoolLabel(poolId);
66
+ if (!poolLabel) {
67
+ throw new Error(`Pool label not found for poolId: ${poolId}`);
68
+ }
69
+ const strategies = await this.buildPoolStrategies([poolLabel]);
70
+ const strategy = strategies.get(poolId);
71
+ if (!strategy) {
72
+ throw new Error(`Failed to build strategy for poolId: ${poolId}`);
73
+ }
74
+ return strategy;
75
+ });
76
+ }
77
+ /** Build strategies from on-chain data for specified pool labels. */
78
+ async buildPoolStrategies(poolLabels) {
79
+ if (poolLabels.length === 0) {
80
+ return new Map();
81
+ }
82
+ const poolIds = poolLabels.map((poolLabel) => poolLabel.poolId);
83
+ const investorIds = poolLabels
84
+ .filter((poolLabel) => 'investorId' in poolLabel && poolLabel.investorId)
85
+ .map((poolLabel) => poolLabel.investorId);
86
+ const parentPoolIds = poolLabels
87
+ .filter((poolLabel) => 'parentPoolId' in poolLabel && poolLabel.parentPoolId)
88
+ .map((poolLabel) => poolLabel.parentPoolId);
89
+ const [poolObjects, investorObjects, parentPoolObjects] = await Promise.all([
90
+ this.strategyContext.blockchain.multiGetObjects(poolIds),
91
+ this.strategyContext.blockchain.multiGetObjects(investorIds),
92
+ this.strategyContext.blockchain.multiGetObjects(parentPoolIds),
93
+ ]);
94
+ const resMap = new Map();
95
+ poolLabels.forEach((poolLabel) => {
96
+ switch (poolLabel.strategyType) {
97
+ case 'Lp':
98
+ resMap.set(poolLabel.poolId, new lp_js_1.LpStrategy(poolLabel, poolObjects.get(poolLabel.poolId), investorObjects.get(poolLabel.investorId), parentPoolObjects.get(poolLabel.parentPoolId), this.strategyContext));
99
+ break;
100
+ case 'Lyf':
101
+ resMap.set(poolLabel.poolId, new lyf_js_1.LyfStrategy(poolLabel, poolObjects.get(poolLabel.poolId), parentPoolObjects.get(poolLabel.parentPoolId), this.strategyContext));
102
+ break;
103
+ case 'AutobalanceLp':
104
+ resMap.set(poolLabel.poolId, new autobalanceLp_js_1.AutobalanceLpStrategy(poolLabel, poolObjects.get(poolLabel.poolId), investorObjects.get(poolLabel.investorId), parentPoolObjects.get(poolLabel.parentPoolId), this.strategyContext));
105
+ break;
106
+ case 'FungibleLp':
107
+ resMap.set(poolLabel.poolId, new fungibleLp_js_1.FungibleLpStrategy(poolLabel, poolObjects.get(poolLabel.poolId), investorObjects.get(poolLabel.investorId), parentPoolObjects.get(poolLabel.parentPoolId), this.strategyContext));
108
+ break;
109
+ case 'AlphaVault':
110
+ resMap.set(poolLabel.poolId, new alphaVault_js_1.AlphaVaultStrategy(poolLabel, poolObjects.get(poolLabel.poolId), investorObjects.get(poolLabel.investorId), this.strategyContext));
111
+ break;
112
+ case 'Lending':
113
+ resMap.set(poolLabel.poolId, new lending_js_1.LendingStrategy(poolLabel, poolObjects.get(poolLabel.poolId), investorObjects.get(poolLabel.investorId), parentPoolObjects.get(poolLabel.parentPoolId), this.strategyContext));
114
+ break;
115
+ case 'SlushLending':
116
+ resMap.set(poolLabel.poolId, new slushLending_js_1.SlushLendingStrategy(poolLabel, poolObjects.get(poolLabel.poolId), this.strategyContext));
117
+ break;
118
+ case 'Looping':
119
+ resMap.set(poolLabel.poolId, new looping_js_1.LoopingStrategy(poolLabel, poolObjects.get(poolLabel.poolId), investorObjects.get(poolLabel.investorId), this.strategyContext));
120
+ break;
121
+ case 'SingleAssetLooping':
122
+ resMap.set(poolLabel.poolId, new singleAssetLooping_js_1.SingleAssetLoopingStrategy(poolLabel, poolObjects.get(poolLabel.poolId), investorObjects.get(poolLabel.investorId), this.strategyContext));
123
+ break;
124
+ case 'FungibleLending':
125
+ resMap.set(poolLabel.poolId, new fungibleLending_js_1.FungibleLendingStrategy(poolLabel, poolObjects.get(poolLabel.poolId), this.strategyContext));
126
+ break;
127
+ }
128
+ });
129
+ return resMap;
130
+ }
131
+ /** Clear the strategy cache. */
132
+ clearCache() {
133
+ this.strategyCache.clear();
134
+ }
135
+ /** Clear cache for a specific pool. */
136
+ clearPoolCache(poolId) {
137
+ this.strategyCache.delete(poolId);
138
+ }
139
+ }
140
+ exports.Protocol = Protocol;
141
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/models/protocol.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Core protocol manager that handles strategy initialization and data retrieval.\n * Uses per-pool caching for granular cache management.\n */\nimport { StrategyContext } from './strategyContext.js';\nimport { LpPoolLabel, LpStrategy } from '../strategies/lp.js';\nimport { LyfPoolLabel, LyfStrategy } from '../strategies/lyf.js';\nimport { AutobalanceLpPoolLabel, AutobalanceLpStrategy } from '../strategies/autobalanceLp.js';\nimport { FungibleLpPoolLabel, FungibleLpStrategy } from '../strategies/fungibleLp.js';\nimport { AlphaVaultPoolLabel, AlphaVaultStrategy } from '../strategies/alphaVault.js';\nimport { LendingPoolLabel, LendingStrategy } from '../strategies/lending.js';\nimport { SlushLendingStrategy } from '../strategies/slushLending.js';\nimport { LoopingPoolLabel, LoopingStrategy } from '../strategies/looping.js';\nimport {\n SingleAssetLoopingPoolLabel,\n SingleAssetLoopingStrategy,\n} from '../strategies/singleAssetLooping.js';\nimport { PoolLabel, Strategy, StrategyType } from '../strategies/strategy.js';\nimport { PoolData } from './types.js';\nimport { Cache } from '../utils/cache.js';\nimport { CACHE_TTL } from '../utils/constants.js';\nimport { FungibleLendingStrategy } from '../strategies/fungibleLending.js';\n\nexport class Protocol {\n strategyContext: StrategyContext;\n private strategyCache: Cache<string, Strategy>;\n\n constructor(strategyContext: StrategyContext) {\n this.strategyContext = strategyContext;\n this.strategyCache = new Cache<string, Strategy>(CACHE_TTL.STRATEGY_CACHE);\n }\n\n /** Get pool data from strategies, optionally filtered by type. */\n async getPoolsData(strategiesType?: StrategyType[]): Promise<Map<string, PoolData>> {\n const strategies = await this.getStrategies(strategiesType);\n const poolsData = await Promise.all(\n Array.from(strategies.values()).map((strategy) => strategy.getData()),\n );\n return new Map(poolsData.map((poolData) => [poolData.poolId, poolData]));\n }\n\n /** Get initialized strategies, optionally filtered by type. */\n async getStrategies(strategiesType?: StrategyType[]): Promise<Map<string, Strategy>> {\n const poolLabels = await this.strategyContext.getPoolLabels();\n\n // Filter by strategy types if specified\n const filteredLabels = strategiesType\n ? Array.from(poolLabels.values()).filter((label) =>\n strategiesType.includes(label.strategyType),\n )\n : Array.from(poolLabels.values());\n\n // Get pool IDs that need to be built (not in cache or expired)\n const poolIdsToBuild: string[] = [];\n const cachedStrategies: Map<string, Strategy> = new Map();\n\n for (const label of filteredLabels) {\n const cached = this.strategyCache.get(label.poolId);\n if (cached) {\n cachedStrategies.set(label.poolId, cached);\n } else {\n poolIdsToBuild.push(label.poolId);\n }\n }\n\n // Build strategies for pools not in cache\n if (poolIdsToBuild.length > 0) {\n const labelsToBuild = poolIdsToBuild\n .map((id) => poolLabels.get(id))\n .filter((label): label is PoolLabel => label !== undefined);\n\n const newStrategies = await this.buildPoolStrategies(labelsToBuild);\n\n // Cache the new strategies\n newStrategies.forEach((strategy, poolId) => {\n this.strategyCache.set(poolId, strategy);\n cachedStrategies.set(poolId, strategy);\n });\n }\n\n return cachedStrategies;\n }\n\n /** Get a single pool strategy by poolId. Uses cache with lazy loading and promise memoization. */\n async getSinglePoolStrategy(poolId: string): Promise<Strategy> {\n return this.strategyCache.getOrFetch(poolId, async () => {\n const poolLabel = await this.strategyContext.getPoolLabel(poolId);\n if (!poolLabel) {\n throw new Error(`Pool label not found for poolId: ${poolId}`);\n }\n\n const strategies = await this.buildPoolStrategies([poolLabel]);\n const strategy = strategies.get(poolId);\n\n if (!strategy) {\n throw new Error(`Failed to build strategy for poolId: ${poolId}`);\n }\n\n return strategy;\n });\n }\n\n /** Build strategies from on-chain data for specified pool labels. */\n private async buildPoolStrategies(poolLabels: PoolLabel[]): Promise<Map<string, Strategy>> {\n if (poolLabels.length === 0) {\n return new Map();\n }\n\n const poolIds = poolLabels.map((poolLabel) => poolLabel.poolId);\n const investorIds = poolLabels\n .filter((poolLabel) => 'investorId' in poolLabel && poolLabel.investorId)\n .map((poolLabel) => (poolLabel as any).investorId);\n const parentPoolIds = poolLabels\n .filter((poolLabel) => 'parentPoolId' in poolLabel && poolLabel.parentPoolId)\n .map((poolLabel) => (poolLabel as any).parentPoolId);\n\n const [poolObjects, investorObjects, parentPoolObjects] = await Promise.all([\n this.strategyContext.blockchain.multiGetObjects(poolIds),\n this.strategyContext.blockchain.multiGetObjects(investorIds),\n this.strategyContext.blockchain.multiGetObjects(parentPoolIds),\n ]);\n\n const resMap: Map<string, Strategy> = new Map();\n poolLabels.forEach((poolLabel) => {\n switch (poolLabel.strategyType) {\n case 'Lp':\n resMap.set(\n poolLabel.poolId,\n new LpStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n investorObjects.get((poolLabel as LpPoolLabel).investorId),\n parentPoolObjects.get((poolLabel as LpPoolLabel).parentPoolId),\n this.strategyContext,\n ),\n );\n break;\n case 'Lyf':\n resMap.set(\n poolLabel.poolId,\n new LyfStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n parentPoolObjects.get((poolLabel as LyfPoolLabel).parentPoolId),\n this.strategyContext,\n ),\n );\n break;\n case 'AutobalanceLp':\n resMap.set(\n poolLabel.poolId,\n new AutobalanceLpStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n investorObjects.get((poolLabel as AutobalanceLpPoolLabel).investorId),\n parentPoolObjects.get((poolLabel as AutobalanceLpPoolLabel).parentPoolId),\n this.strategyContext,\n ),\n );\n break;\n case 'FungibleLp':\n resMap.set(\n poolLabel.poolId,\n new FungibleLpStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n investorObjects.get((poolLabel as FungibleLpPoolLabel).investorId),\n parentPoolObjects.get((poolLabel as FungibleLpPoolLabel).parentPoolId),\n this.strategyContext,\n ),\n );\n break;\n case 'AlphaVault':\n resMap.set(\n poolLabel.poolId,\n new AlphaVaultStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n investorObjects.get((poolLabel as AlphaVaultPoolLabel).investorId),\n this.strategyContext,\n ),\n );\n break;\n case 'Lending':\n resMap.set(\n poolLabel.poolId,\n new LendingStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n investorObjects.get((poolLabel as LendingPoolLabel).investorId),\n parentPoolObjects.get((poolLabel as LendingPoolLabel).parentPoolId),\n this.strategyContext,\n ),\n );\n break;\n case 'SlushLending':\n resMap.set(\n poolLabel.poolId,\n new SlushLendingStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n this.strategyContext,\n ),\n );\n break;\n case 'Looping':\n resMap.set(\n poolLabel.poolId,\n new LoopingStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n investorObjects.get((poolLabel as LoopingPoolLabel).investorId),\n this.strategyContext,\n ),\n );\n break;\n case 'SingleAssetLooping':\n resMap.set(\n poolLabel.poolId,\n new SingleAssetLoopingStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n investorObjects.get((poolLabel as SingleAssetLoopingPoolLabel).investorId),\n this.strategyContext,\n ),\n );\n break;\n case 'FungibleLending':\n resMap.set(\n poolLabel.poolId,\n new FungibleLendingStrategy(\n poolLabel,\n poolObjects.get(poolLabel.poolId),\n this.strategyContext,\n ),\n );\n break;\n }\n });\n return resMap;\n }\n\n /** Clear the strategy cache. */\n clearCache(): void {\n this.strategyCache.clear();\n }\n\n /** Clear cache for a specific pool. */\n clearPoolCache(poolId: string): void {\n this.strategyCache.delete(poolId);\n }\n}\n"]}