@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 @@
1
+ {"version":3,"file":"slushLending.js","sourceRoot":"","sources":["../../../src/strategies/slushLending.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SlushLending Strategy\n */\n\nimport { Decimal } from 'decimal.js';\nimport { AlphaMiningData, BaseStrategy, ProtocolType, StringMap } from './strategy.js';\nimport { PoolBalance, PoolData, SingleTvl } from '../models/types.js';\nimport { StrategyContext } from '../models/strategyContext.js';\nimport { DepositOptions, WithdrawOptions } from '../core/types.js';\nimport { Transaction, TransactionResult } from '@mysten/sui/transactions';\nimport { AlphalendClient } from '@alphafi/alphalend-sdk';\nimport {\n ALPHALEND_LENDING_PROTOCOL_ID,\n CLOCK_PACKAGE_ID,\n GLOBAL_CONFIGS,\n IMAGE_URLS,\n SUI_SYSTEM_STATE,\n VERSIONS,\n} from '../utils/constants.js';\n\n/**\n * SlushLending Strategy for slush lending pools without alpha mining\n */\nexport class SlushLendingStrategy extends BaseStrategy<\n SlushLendingPoolObject,\n never,\n never,\n SlushLendingReceiptObject\n> {\n private poolLabel: SlushLendingPoolLabel;\n private poolObject: SlushLendingPoolObject;\n private receiptObjects: SlushLendingReceiptObject[] = [];\n private context: StrategyContext;\n\n constructor(poolLabel: SlushLendingPoolLabel, poolObject: any, context: StrategyContext) {\n super();\n this.poolLabel = poolLabel;\n this.poolObject = this.parsePoolObject(poolObject);\n this.context = context;\n }\n\n getPoolLabel(): SlushLendingPoolLabel {\n return this.poolLabel;\n }\n\n getOtherAmount(_amount: string, _isAmountA: boolean): [string, string] {\n throw new Error('getOtherAmount is not supported for single-asset SlushLending strategy');\n }\n\n updateReceipts(receipts: any[]): void {\n this.receiptObjects = this.parseReceiptObjects(receipts);\n }\n\n /**\n * Returns alpha mining data - SlushLending pools do not support alpha mining\n */\n protected getAlphaMiningData(): AlphaMiningData {\n return {\n poolId: this.poolLabel.poolId,\n accRewardsPerXtoken: [],\n xTokenSupply: '0',\n receipt: null,\n };\n }\n\n /**\n * Get the exchange rate for xtoken to underlying token ratio\n * Calculated as tokens_invested / xtoken_supply\n */\n exchangeRate(): Decimal {\n const tokensInvested = new Decimal(this.poolObject.tokensInvested);\n const xtokenSupply = new Decimal(this.poolObject.xTokenSupply);\n\n if (xtokenSupply.isZero()) {\n return new Decimal(1);\n }\n\n return tokensInvested.div(xtokenSupply);\n }\n\n /**\n * Get comprehensive pool data including TVL and APR information\n */\n async getData(): Promise<PoolData> {\n const [_alphafi, parent, apr] = await Promise.all([\n this.getTvl(),\n this.getParentTvl(),\n this.context.getAprData(this.poolLabel.poolId),\n ]);\n return {\n poolId: this.poolLabel.poolId,\n strategyType: this.poolLabel.strategyType,\n coinType: this.poolLabel.asset.type,\n poolName: this.poolLabel.poolName,\n apr,\n tvl: {\n alphafi: parent,\n parent,\n },\n };\n }\n\n /**\n * Calculate total value locked using current asset price\n */\n async getTvl(): Promise<SingleTvl> {\n const coinType = this.poolLabel.asset.type;\n const [price, decimals] = await Promise.all([\n this.context.getCoinPrice(coinType),\n this.context.getCoinDecimals(coinType),\n ]);\n const tokenAmount = new Decimal(this.poolObject.tokensInvested).div(\n new Decimal(10).pow(decimals),\n );\n const usdValue = tokenAmount.mul(price);\n return { tokenAmount, usdValue };\n }\n\n /**\n * Calculate parent protocol TVL (Alphalend only)\n */\n async getParentTvl(): Promise<SingleTvl> {\n const protocol = this.poolLabel.parentProtocol;\n if (protocol !== 'Alphalend') {\n throw new Error(`Unsupported parent protocol for SlushLending: ${protocol}`);\n }\n const [tokenAmount, price] = await Promise.all([\n this.context.getAlphaLendTvl(this.poolLabel.asset.type),\n this.context.getCoinPrice(this.poolLabel.asset.type),\n ]);\n return { tokenAmount, usdValue: tokenAmount.mul(price) };\n }\n\n /**\n * Calculate user's current pool balance from xToken balance\n * Converts xTokens to underlying tokens via exchange rate\n */\n async getBalance(_userAddress: string): Promise<PoolBalance> {\n if (this.receiptObjects.length === 0 || this.receiptObjects[0].xTokens === '0') {\n return { tokenAmount: new Decimal(0), usdValue: new Decimal(0) };\n }\n const xTokens = new Decimal(this.receiptObjects[0].xTokens);\n const [price, exchangeRate, decimals] = await Promise.all([\n this.context.getCoinPrice(this.poolLabel.asset.type),\n Promise.resolve(this.exchangeRate()),\n this.context.getCoinDecimals(this.poolLabel.asset.type),\n ]);\n const tokens = xTokens.mul(exchangeRate).div(new Decimal(10).pow(decimals));\n return { tokenAmount: tokens, usdValue: tokens.mul(price) };\n }\n\n /**\n * Parse pool object from blockchain response\n */\n parsePoolObject(response: any): SlushLendingPoolObject {\n return this.safeParseObject(() => {\n const fields = this.extractFields(response);\n\n return {\n id: this.getStringField(fields, 'id'),\n xTokenSupply: this.getNestedField(fields, 'xTokenSupply.value'),\n tokensInvested: this.getStringField(fields, 'tokensInvested'),\n interestBasedRewardsData: {\n rewardBalance: this.getStringField(fields.interest_based_rewards_data, 'reward_balance'),\n lastUpdatedTimestamp: this.getStringField(\n fields.interest_based_rewards_data,\n 'last_updated_timestamp',\n ),\n rewardShareFromInterestBps: this.getNestedField(\n fields.interest_based_rewards_data,\n 'reward_share_from_interest_bps.value',\n ),\n },\n timeBasedRewardsData: {\n rewardBalance: this.getStringField(fields.time_based_rewards_data, 'reward_balance'),\n startTime: this.getStringField(fields.time_based_rewards_data, 'start_time'),\n endTime: this.getStringField(fields.time_based_rewards_data, 'end_time'),\n rewardPerMs: this.getNestedField(fields.time_based_rewards_data, 'reward_per_ms.value'),\n lastUpdatedTimestamp: this.getStringField(\n fields.time_based_rewards_data,\n 'last_updated_timestamp',\n ),\n },\n positionCount: this.getNestedField(fields, 'positions.size'),\n positionsTableId: this.getNestedField(fields, 'positions.id'),\n feeCollected: this.getStringField(fields, 'fee_collected'),\n depositFee: this.getStringField(fields, 'deposit_fee'),\n depositFeeMaxCap: this.getStringField(fields, 'deposit_fee_max_cap'),\n withdrawalFee: this.getStringField(fields, 'withdrawal_fee'),\n withdrawFeeMaxCap: this.getStringField(fields, 'withdraw_fee_max_cap'),\n investor: {\n id: this.getStringField(fields.investor, 'id'),\n marketId: this.getStringField(fields.investor, 'market_id'),\n },\n paused: this.getBooleanField(fields, 'paused', false),\n };\n }, 'Failed to parse Slush Lending pool object');\n }\n\n /**\n * Parse investor object (not applicable for SlushLending)\n */\n parseInvestorObject(_: any): never {\n throw new Error('Investor object not used for SlushLending');\n }\n\n /**\n * Parse parent pool object (not applicable for SlushLending)\n */\n parseParentPoolObject(_: any): never {\n throw new Error('Parent pool object not used for SlushLending');\n }\n\n /**\n * Parse receipt objects from blockchain responses\n */\n parseReceiptObjects(responses: any[]): SlushLendingReceiptObject[] {\n return responses.map((response, index) => {\n return this.safeParseObject(() => {\n const fields = this.extractFields(response);\n\n return {\n id: this.getStringField(fields, 'id'),\n positionCapId: this.getStringField(fields, 'position_cap_id'),\n poolId: this.getStringField(fields, 'pool_id'),\n coinType: this.getNestedField(fields, 'coin_type.name'),\n principal: this.getStringField(fields, 'principal'),\n xTokens:\n this.getStringField(fields, 'xtokens') ||\n this.getStringField(fields, 'x_token_balance') ||\n this.getStringField(fields, 'xTokenBalance'),\n };\n }, `Failed to parse Slush Lending receipt object at index ${index}`);\n });\n }\n\n createPositionCap(tx: Transaction): TransactionResult {\n const urlBytes = Array.from(new TextEncoder().encode(IMAGE_URLS.SLUSH_POSITION_CAP));\n const positionCap = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::create_position_cap`,\n arguments: [tx.pure.vector('u8', urlBytes)],\n });\n\n return positionCap;\n }\n\n private coinAmountToXToken(amount: string): string {\n const exchangeRate = this.exchangeRate();\n return new Decimal(amount).div(exchangeRate).floor().toString();\n }\n\n private async collectAndSwapRewards(tx: Transaction) {\n const [alphaCoin, stsuiCoin, suiCoin, blueCoin, deepCoin, usdcCoin, walCoin] =\n await this.context.getCoinsBySymbols([\n 'ALPHA',\n 'stSUI',\n 'SUI',\n 'BLUE',\n 'DEEP',\n 'USDC',\n 'WAL',\n ]);\n\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, alphaCoin.coinType, stsuiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('ALPHA', 'stSUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, stsuiCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('stSUI', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, blueCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('BLUE', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n\n if (this.poolLabel.asset.type !== deepCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, deepCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('DEEP', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n\n if (this.poolLabel.asset.type === usdcCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, suiCoin.coinType, this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('SUI', 'USDC', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(false),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (this.poolLabel.asset.type === walCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, walCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('WAL', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(false),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (this.poolLabel.asset.type === deepCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, deepCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('DEEP', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(false),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n }\n\n async deposit(tx: Transaction, options: DepositOptions) {\n const alphalendClient = new AlphalendClient('mainnet', this.context.blockchain.suiClient);\n await alphalendClient.updatePrices(tx, [this.poolLabel.asset.type]);\n\n // Get coin object\n const depositCoin = await this.context.blockchain.getCoinObject(\n tx,\n this.poolLabel.asset.type,\n options.address,\n BigInt(options.amount),\n );\n\n await this.collectAndSwapRewards(tx);\n\n const positionCaps = await this.context.getSlushPositionCaps(options.address);\n if (positionCaps.length === 0) {\n const positionCap: TransactionResult = this.createPositionCap(tx);\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::user_deposit`,\n typeArguments: [this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n positionCap,\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.transferObjects([positionCap], options.address);\n } else {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::user_deposit`,\n typeArguments: [this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(positionCaps[0].id),\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n }\n\n async withdraw(tx: Transaction, options: WithdrawOptions) {\n if (this.receiptObjects.length === 0) {\n throw new Error('No receipt found for withdraw');\n }\n\n const alphalendClient = new AlphalendClient('mainnet', this.context.blockchain.suiClient);\n await alphalendClient.updatePrices(tx, [this.poolLabel.asset.type]);\n\n let xTokenAmount = this.coinAmountToXToken(options.amount);\n if (options.withdrawMax) {\n xTokenAmount = this.receiptObjects[0].xTokens;\n }\n\n await this.collectAndSwapRewards(tx);\n\n const positionCaps = await this.context.getSlushPositionCaps(options.address);\n const [slushCoin] = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::user_withdraw`,\n typeArguments: [this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(positionCaps[0].id),\n tx.object(this.poolLabel.poolId),\n tx.pure.u64(xTokenAmount),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n\n tx.transferObjects([slushCoin], options.address);\n }\n\n async claimRewards(_tx: Transaction, _alphaReceipt: TransactionResult) {\n return;\n }\n}\n\n/**\n * SlushLending Pool object data structure\n */\nexport interface SlushLendingPoolObject {\n id: string;\n xTokenSupply: string;\n tokensInvested: string;\n interestBasedRewardsData: {\n rewardBalance: string;\n lastUpdatedTimestamp: string;\n rewardShareFromInterestBps: string;\n };\n timeBasedRewardsData: {\n rewardBalance: string;\n startTime: string;\n endTime: string;\n rewardPerMs: string;\n lastUpdatedTimestamp: string;\n };\n positionCount: string;\n positionsTableId: string;\n feeCollected: string;\n depositFee: string;\n depositFeeMaxCap: string;\n withdrawalFee: string;\n withdrawFeeMaxCap: string;\n investor: {\n id: string;\n marketId: string;\n };\n paused: boolean;\n}\n\n/**\n * SlushLending Receipt object data structure\n */\nexport interface SlushLendingReceiptObject {\n id: string;\n positionCapId: string;\n poolId: string;\n coinType: string;\n principal: string;\n xTokens: string;\n}\n\n/**\n * SlushLending Pool Label configuration\n */\nexport interface SlushLendingPoolLabel {\n poolId: string;\n packageId: string;\n packageNumber: number;\n strategyType: 'SlushLending';\n parentProtocol: ProtocolType;\n asset: StringMap;\n events: {\n autocompoundEventType: string;\n };\n isActive: boolean;\n poolName: string;\n isNative: boolean;\n}\n"]}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * Strategy interfaces and shared helpers used by all strategy implementations.
3
+ */
4
+ import { Decimal } from 'decimal.js';
5
+ import { SingleTvl, DoubleTvl, PoolData, PoolBalance, DistributorObject } from '../models/types.js';
6
+ import { Transaction, TransactionResult } from '@mysten/sui/transactions';
7
+ import { DepositOptions, WithdrawOptions } from '../core/types.js';
8
+ export interface StringMap {
9
+ [key: string]: string;
10
+ }
11
+ /**
12
+ * Minimal data needed to compute ALPHA mining rewards for a user.
13
+ *
14
+ * Strategies that don't participate in alpha mining should return `receipt: null`.
15
+ */
16
+ export interface AlphaMiningData {
17
+ poolId: string;
18
+ accRewardsPerXtoken: StringMap[];
19
+ xTokenSupply: string;
20
+ receipt: {
21
+ lastAccRewardPerXtoken: StringMap[];
22
+ pendingRewards: StringMap[];
23
+ xTokenBalance: string;
24
+ } | null;
25
+ }
26
+ /**
27
+ * Struct tag for the ALPHA coin used by the distributor.
28
+ */
29
+ export declare const ALPHA_COIN_TYPE = "fe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA";
30
+ export type StrategyType = 'AlphaVault' | 'Lp' | 'FungibleLp' | 'AutobalanceLp' | 'Lending' | 'SlushLending' | 'Looping' | 'SingleAssetLooping' | 'Lyf' | 'FungibleLending';
31
+ export type ProtocolType = 'AlphaFi' | 'Navi' | 'Alphalend' | 'Cetus' | 'Bluefin' | 'Bucket' | 'DeepBook';
32
+ export type LpPoolLabel = import('./lp.js').LpPoolLabel;
33
+ export type AlphaVaultPoolLabel = import('./alphaVault.js').AlphaVaultPoolLabel;
34
+ export type AutobalanceLpPoolLabel = import('./autobalanceLp.js').AutobalanceLpPoolLabel;
35
+ export type FungibleLpPoolLabel = import('./fungibleLp.js').FungibleLpPoolLabel;
36
+ export type LendingPoolLabel = import('./lending.js').LendingPoolLabel;
37
+ export type SlushLendingPoolLabel = import('./slushLending.js').SlushLendingPoolLabel;
38
+ export type LoopingPoolLabel = import('./looping.js').LoopingPoolLabel;
39
+ export type SingleAssetLoopingPoolLabel = import('./singleAssetLooping.js').SingleAssetLoopingPoolLabel;
40
+ export type LyfPoolLabel = import('./lyf.js').LyfPoolLabel;
41
+ export type FungibleLendingPoolLabel = import('./fungibleLending.js').FungibleLendingPoolLabel;
42
+ /**
43
+ * Union of all strategy-specific pool label types.
44
+ */
45
+ export type PoolLabel = LpPoolLabel | AlphaVaultPoolLabel | AutobalanceLpPoolLabel | FungibleLpPoolLabel | LendingPoolLabel | SlushLendingPoolLabel | LoopingPoolLabel | SingleAssetLoopingPoolLabel | LyfPoolLabel | FungibleLendingPoolLabel;
46
+ /**
47
+ * Common strategy surface used by the SDK.
48
+ */
49
+ export interface Strategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any> {
50
+ /**
51
+ * Parse a pool object fetched from chain into a typed shape.
52
+ */
53
+ parsePoolObject(response: any): TPool;
54
+ /**
55
+ * Parse an investor object fetched from chain into a typed shape.
56
+ */
57
+ parseInvestorObject(response: any): TInvestor;
58
+ /**
59
+ * Parse a parent pool object (underlying protocol) fetched from chain.
60
+ */
61
+ parseParentPoolObject(response: any): TParentPool;
62
+ /**
63
+ * Parse receipt objects fetched from chain.
64
+ */
65
+ parseReceiptObjects(responses: any[]): TReceipt[];
66
+ /**
67
+ * Current exchange rate used by the strategy.
68
+ * Typically: `tokens_invested / xToken_supply`.
69
+ */
70
+ exchangeRate(): Decimal;
71
+ /**
72
+ * TVL for the AlphaFi pool and the underlying parent protocol (if any).
73
+ */
74
+ getTvl(): Promise<SingleTvl | DoubleTvl>;
75
+ getParentTvl(): Promise<SingleTvl | DoubleTvl>;
76
+ /**
77
+ * User balance breakdown for this pool.
78
+ */
79
+ getBalance(userAddress: string): Promise<PoolBalance>;
80
+ /**
81
+ * Static metadata/config for this pool (from config API).
82
+ */
83
+ getPoolLabel(): PoolLabel;
84
+ /**
85
+ * High-level pool summary (APR + TVL + strategy-specific metadata).
86
+ */
87
+ getData(): Promise<PoolData>;
88
+ /**
89
+ * Compute ALPHA mining rewards claimable for this pool.
90
+ *
91
+ * Note: this uses the cached distributor object from `StrategyContext`.
92
+ */
93
+ getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal;
94
+ /**
95
+ * Get the other amount for a given amount and isAmountA flag.
96
+ *
97
+ * @param amount - The amount to get the other amount for
98
+ * @param isAmountA - Whether the amount is amount A
99
+ * @returns The other amount
100
+ */
101
+ getOtherAmount(amount: string, isAmountA: boolean): [string, string];
102
+ /**
103
+ * Deposit assets into the pool.
104
+ *
105
+ * @param options - The options for the deposit
106
+ * @returns Transaction to deposit assets into the pool
107
+ */
108
+ deposit(tx: Transaction, options: DepositOptions): Promise<void>;
109
+ /**
110
+ * Withdraw assets from the pool.
111
+ *
112
+ * @param options - The options for the withdrawal
113
+ * @returns Transaction to withdraw assets from the pool
114
+ */
115
+ withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;
116
+ /**
117
+ * Claim rewards for a specific pool.
118
+ *
119
+ * @param poolId - The ID of the pool to claim rewards for
120
+ * @param address - The address of the user to claim rewards for
121
+ * @returns Transaction to claim rewards for the specified pool
122
+ */
123
+ claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;
124
+ /**
125
+ * Create an AlphaFi receipt.
126
+ *
127
+ * @param tx - The transaction to create the AlphaFi receipt
128
+ * @returns Transaction to create the AlphaFi receipt
129
+ */
130
+ createAlphaFiReceipt(tx: Transaction): TransactionResult;
131
+ }
132
+ /**
133
+ * Base class shared by all strategies.
134
+ * Provides parsing helpers and common reward calculation logic.
135
+ */
136
+ export declare abstract class BaseStrategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any> implements Strategy<TPool, TInvestor, TParentPool, TReceipt> {
137
+ abstract parsePoolObject(response: any): TPool;
138
+ abstract parseInvestorObject(response: any): TInvestor;
139
+ abstract parseParentPoolObject(response: any): TParentPool;
140
+ abstract parseReceiptObjects(responses: any[]): TReceipt[];
141
+ abstract exchangeRate(): Decimal;
142
+ abstract getTvl(): Promise<SingleTvl | DoubleTvl>;
143
+ abstract getParentTvl(): Promise<SingleTvl | DoubleTvl>;
144
+ abstract getData(): Promise<PoolData>;
145
+ abstract getBalance(userAddress: string): Promise<PoolBalance>;
146
+ abstract getPoolLabel(): PoolLabel;
147
+ abstract getOtherAmount(amount: string, isAmountA: boolean): [string, string];
148
+ abstract deposit(tx: Transaction, options: DepositOptions): Promise<void>;
149
+ abstract withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;
150
+ abstract claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;
151
+ createAlphaFiReceipt(tx: Transaction): TransactionResult;
152
+ /**
153
+ * Provide the inputs needed to compute ALPHA mining rewards for this strategy.
154
+ * Return `receipt: null` if the strategy/user has no alpha mining position.
155
+ */
156
+ protected abstract getAlphaMiningData(): AlphaMiningData;
157
+ /**
158
+ * Compute claimable ALPHA rewards using the distributor + pool/receipt accounting.
159
+ * Returns a human-readable amount (divided by 1e9).
160
+ */
161
+ getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal;
162
+ /**
163
+ * Helper function to get string field from JSON with validation
164
+ */
165
+ protected getStringField(fieldsJson: any, fieldName: string): string;
166
+ /**
167
+ * Helper function to get boolean field from JSON with default value
168
+ */
169
+ protected getBooleanField(fieldsJson: any, fieldName: string, defaultValue: boolean): boolean;
170
+ /**
171
+ * Helper function to get number field from JSON
172
+ */
173
+ protected getNumberField(fieldsJson: any, fieldName: string): number;
174
+ /**
175
+ * Helper function to parse VecMap structures from Move objects into StringMap format
176
+ */
177
+ protected parseVecMap(vecMapField: any): {
178
+ key: any;
179
+ value: any;
180
+ }[];
181
+ /**
182
+ * Helper function to convert ASCII array from JSON to string
183
+ */
184
+ protected asciiToString(asciiArray: any): string;
185
+ /**
186
+ * Helper function to extract fields from various response formats
187
+ */
188
+ protected extractFields(response: any): any;
189
+ /**
190
+ * Helper function to safely parse nested object fields
191
+ */
192
+ protected getNestedField(obj: any, path: string): any;
193
+ /**
194
+ * Helper function to parse object with error handling
195
+ */
196
+ protected safeParseObject<T>(parseFunction: () => T, errorMessage: string): T;
197
+ }
198
+ //# sourceMappingURL=strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Strategy interfaces and shared helpers used by all strategy implementations.
3
+ */
4
+ import { Decimal } from 'decimal.js';
5
+ import { IMAGE_URLS, PACKAGE_IDS } from '../utils/constants.js';
6
+ /**
7
+ * Struct tag for the ALPHA coin used by the distributor.
8
+ */
9
+ export const ALPHA_COIN_TYPE = 'fe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA';
10
+ /**
11
+ * Base class shared by all strategies.
12
+ * Provides parsing helpers and common reward calculation logic.
13
+ */
14
+ export class BaseStrategy {
15
+ createAlphaFiReceipt(tx) {
16
+ return tx.moveCall({
17
+ target: `${PACKAGE_IDS.ALPHAFI_RECEIPT}::alphafi_receipt::create_alphafi_receipt_v2`,
18
+ arguments: [tx.pure.string(IMAGE_URLS.ALPHAFI_RECEIPT)],
19
+ });
20
+ }
21
+ /**
22
+ * Compute claimable ALPHA rewards using the distributor + pool/receipt accounting.
23
+ * Returns a human-readable amount (divided by 1e9).
24
+ */
25
+ getAlphaMiningRewardsToClaim(distributor) {
26
+ const data = this.getAlphaMiningData();
27
+ // No receipt -> no position -> no alpha rewards.
28
+ if (!data.receipt) {
29
+ return new Decimal(0);
30
+ }
31
+ const { poolId, accRewardsPerXtoken, xTokenSupply, receipt } = data;
32
+ const { lastAccRewardPerXtoken, pendingRewards, xTokenBalance } = receipt;
33
+ // Get user's last accumulated reward per xtoken for ALPHA
34
+ const userLastAccEntry = lastAccRewardPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);
35
+ const userLastAcc = new Decimal(userLastAccEntry?.value || '0');
36
+ // Get user's xtoken balance
37
+ const userXtokenBalance = new Decimal(xTokenBalance || '0');
38
+ // Get pending alpha rewards from receipt
39
+ const pendingAlphaRewards = pendingRewards
40
+ .filter((entry) => entry.key === ALPHA_COIN_TYPE)
41
+ .reduce((acc, entry) => acc.add(new Decimal(entry.value || '0')), new Decimal(0));
42
+ // Get total alpha weight across all pools from distributor
43
+ const alphaRewardTotalWeight = distributor.poolAllocator.totalWeights.find((w) => w.key === ALPHA_COIN_TYPE)?.value || '0';
44
+ // Get distribution status for this pool
45
+ const memberEntry = distributor.poolAllocator.members.find((m) => m.key === poolId);
46
+ const alphaAllocatorDetailsForPool = memberEntry?.value.poolData.find((pd) => pd.key === ALPHA_COIN_TYPE)?.value;
47
+ // Calculate pending rewards for pool
48
+ let pendingRewardsForPool = new Decimal(0);
49
+ if (alphaAllocatorDetailsForPool) {
50
+ const currentTime = Date.now();
51
+ const pendingRewardsInAllocator = new Decimal(alphaAllocatorDetailsForPool.pendingRewards || '0');
52
+ const lastUpdateTime = parseInt(alphaAllocatorDetailsForPool.lastUpdateTime || '0', 10);
53
+ const weight = new Decimal(alphaAllocatorDetailsForPool.weight || '0');
54
+ const totalWeight = new Decimal(alphaRewardTotalWeight);
55
+ const target = new Decimal(distributor.target || '0');
56
+ // Calculate unlockPerMS (target per millisecond)
57
+ // unlock_per_ms = target * 2750000 / (4250000 * 100 * 86400000)
58
+ const unlockPerMs = target
59
+ .mul(new Decimal('2750000'))
60
+ .div(new Decimal('4250000').mul('100').mul('86400000'));
61
+ // Calculate time diff
62
+ const timeDiff = Math.max(0, currentTime - lastUpdateTime);
63
+ // Calculate additional rewards
64
+ let additionalRewards = new Decimal(0);
65
+ if (totalWeight.gt(0)) {
66
+ additionalRewards = new Decimal(timeDiff).mul(unlockPerMs).mul(weight).div(totalWeight);
67
+ }
68
+ pendingRewardsForPool = pendingRewardsInAllocator.add(additionalRewards);
69
+ }
70
+ // Get pool's accumulated rewards per xtoken for ALPHA
71
+ const alphaOldAccEntry = accRewardsPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);
72
+ const alphaOldAccInPool = new Decimal(alphaOldAccEntry?.value || '0');
73
+ // Get total xtoken supply from pool
74
+ const totalXtokenSupply = new Decimal(xTokenSupply || '0');
75
+ // Calculate new accumulated rewards per xtoken
76
+ const SCALE = new Decimal('1000000000000000000'); // 1e18
77
+ let addAcc = new Decimal(0);
78
+ if (totalXtokenSupply.gt(0)) {
79
+ addAcc = pendingRewardsForPool.div(totalXtokenSupply).mul(SCALE).mul(SCALE);
80
+ }
81
+ const alphaNewAccInPool = alphaOldAccInPool.add(addAcc);
82
+ // Calculate user's accrued rewards
83
+ // user_accrued_rewards = ((acc_new - acc_last) / SCALE^2) * user_balance
84
+ const deltaAcc = alphaNewAccInPool.sub(userLastAcc);
85
+ const userAccruedRewards = deltaAcc.div(SCALE.mul(SCALE)).mul(userXtokenBalance);
86
+ // Combine pending rewards and accrued rewards, then divide by 1e9 for human-readable amount
87
+ const totalPendingRewards = pendingAlphaRewards.add(userAccruedRewards).div(new Decimal(1e9));
88
+ return totalPendingRewards;
89
+ }
90
+ // ===== Parsing Helper Methods =====
91
+ /**
92
+ * Helper function to get string field from JSON with validation
93
+ */
94
+ getStringField(fieldsJson, fieldName) {
95
+ const value = fieldsJson?.[fieldName];
96
+ if (typeof value === 'string') {
97
+ return value;
98
+ }
99
+ if (value !== undefined && value !== null) {
100
+ return String(value);
101
+ }
102
+ return '';
103
+ }
104
+ /**
105
+ * Helper function to get boolean field from JSON with default value
106
+ */
107
+ getBooleanField(fieldsJson, fieldName, defaultValue) {
108
+ const value = fieldsJson?.[fieldName];
109
+ if (typeof value === 'boolean') {
110
+ return value;
111
+ }
112
+ return defaultValue;
113
+ }
114
+ /**
115
+ * Helper function to get number field from JSON
116
+ */
117
+ getNumberField(fieldsJson, fieldName) {
118
+ const value = fieldsJson?.[fieldName];
119
+ if (typeof value === 'number') {
120
+ return value;
121
+ }
122
+ if (typeof value === 'string') {
123
+ const parsed = parseInt(value, 10);
124
+ return isNaN(parsed) ? 0 : parsed;
125
+ }
126
+ return 0;
127
+ }
128
+ /**
129
+ * Helper function to parse VecMap structures from Move objects into StringMap format
130
+ */
131
+ parseVecMap(vecMapField) {
132
+ if (!vecMapField || typeof vecMapField !== 'object') {
133
+ return [];
134
+ }
135
+ const contents = vecMapField.contents;
136
+ if (!Array.isArray(contents)) {
137
+ return [];
138
+ }
139
+ return contents.map((entry) => {
140
+ const key = entry?.key?.name;
141
+ const value = entry?.value;
142
+ return { key, value };
143
+ });
144
+ }
145
+ /**
146
+ * Helper function to convert ASCII array from JSON to string
147
+ */
148
+ asciiToString(asciiArray) {
149
+ if (Array.isArray(asciiArray)) {
150
+ try {
151
+ const bytes = asciiArray.map((n) => {
152
+ const num = typeof n === 'number' ? n : parseInt(n);
153
+ if (num < 0 || num > 255) {
154
+ throw new Error('ASCII value out of range');
155
+ }
156
+ return num;
157
+ });
158
+ return String.fromCharCode(...bytes);
159
+ }
160
+ catch (error) {
161
+ console.error('Error converting ASCII array to string:', error);
162
+ return '';
163
+ }
164
+ }
165
+ return '';
166
+ }
167
+ /**
168
+ * Helper function to extract fields from various response formats
169
+ */
170
+ extractFields(response) {
171
+ return response.fields || response.content?.fields || response;
172
+ }
173
+ /**
174
+ * Helper function to safely parse nested object fields
175
+ */
176
+ getNestedField(obj, path) {
177
+ return path.split('.').reduce((current, key) => current?.[key], obj);
178
+ }
179
+ /**
180
+ * Helper function to parse object with error handling
181
+ */
182
+ safeParseObject(parseFunction, errorMessage) {
183
+ try {
184
+ return parseFunction();
185
+ }
186
+ catch (error) {
187
+ console.error(`${errorMessage}:`, error);
188
+ throw new Error(`${errorMessage}: ${error}`);
189
+ }
190
+ }
191
+ }
192
+ //# sourceMappingURL=strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/strategies/strategy.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Strategy interfaces and shared helpers used by all strategy implementations.\n */\n\nimport { Decimal } from 'decimal.js';\nimport { SingleTvl, DoubleTvl, PoolData, PoolBalance, DistributorObject } from '../models/types.js';\nimport { Transaction, TransactionResult } from '@mysten/sui/transactions';\nimport { DepositOptions, WithdrawOptions } from '../core/types.js';\nimport { IMAGE_URLS, PACKAGE_IDS } from '../utils/constants.js';\n\nexport interface StringMap {\n [key: string]: string;\n}\n\n/**\n * Minimal data needed to compute ALPHA mining rewards for a user.\n *\n * Strategies that don't participate in alpha mining should return `receipt: null`.\n */\nexport interface AlphaMiningData {\n poolId: string;\n accRewardsPerXtoken: StringMap[];\n xTokenSupply: string;\n receipt: {\n lastAccRewardPerXtoken: StringMap[];\n pendingRewards: StringMap[];\n xTokenBalance: string;\n } | null;\n}\n\n/**\n * Struct tag for the ALPHA coin used by the distributor.\n */\nexport const ALPHA_COIN_TYPE =\n 'fe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA';\n\n// ===== Common Pool Label Types =====\n\nexport type StrategyType =\n | 'AlphaVault'\n | 'Lp'\n | 'FungibleLp'\n | 'AutobalanceLp'\n | 'Lending'\n | 'SlushLending'\n | 'Looping'\n | 'SingleAssetLooping'\n | 'Lyf'\n | 'FungibleLending';\n\nexport type ProtocolType =\n | 'AlphaFi'\n | 'Navi'\n | 'Alphalend'\n | 'Cetus'\n | 'Bluefin'\n | 'Bucket'\n | 'DeepBook';\n\n// Forward declarations for pool label types (will be imported from individual strategy files)\nexport type LpPoolLabel = import('./lp.js').LpPoolLabel;\nexport type AlphaVaultPoolLabel = import('./alphaVault.js').AlphaVaultPoolLabel;\nexport type AutobalanceLpPoolLabel = import('./autobalanceLp.js').AutobalanceLpPoolLabel;\nexport type FungibleLpPoolLabel = import('./fungibleLp.js').FungibleLpPoolLabel;\nexport type LendingPoolLabel = import('./lending.js').LendingPoolLabel;\nexport type SlushLendingPoolLabel = import('./slushLending.js').SlushLendingPoolLabel;\nexport type LoopingPoolLabel = import('./looping.js').LoopingPoolLabel;\nexport type SingleAssetLoopingPoolLabel =\n import('./singleAssetLooping.js').SingleAssetLoopingPoolLabel;\nexport type LyfPoolLabel = import('./lyf.js').LyfPoolLabel;\nexport type FungibleLendingPoolLabel = import('./fungibleLending.js').FungibleLendingPoolLabel;\n\n/**\n * Union of all strategy-specific pool label types.\n */\nexport type PoolLabel =\n | LpPoolLabel\n | AlphaVaultPoolLabel\n | AutobalanceLpPoolLabel\n | FungibleLpPoolLabel\n | LendingPoolLabel\n | SlushLendingPoolLabel\n | LoopingPoolLabel\n | SingleAssetLoopingPoolLabel\n | LyfPoolLabel\n | FungibleLendingPoolLabel;\n\n/**\n * Common strategy surface used by the SDK.\n */\nexport interface Strategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any> {\n /**\n * Parse a pool object fetched from chain into a typed shape.\n */\n parsePoolObject(response: any): TPool;\n\n /**\n * Parse an investor object fetched from chain into a typed shape.\n */\n parseInvestorObject(response: any): TInvestor;\n\n /**\n * Parse a parent pool object (underlying protocol) fetched from chain.\n */\n parseParentPoolObject(response: any): TParentPool;\n\n /**\n * Parse receipt objects fetched from chain.\n */\n parseReceiptObjects(responses: any[]): TReceipt[];\n\n /**\n * Current exchange rate used by the strategy.\n * Typically: `tokens_invested / xToken_supply`.\n */\n exchangeRate(): Decimal;\n\n /**\n * TVL for the AlphaFi pool and the underlying parent protocol (if any).\n */\n getTvl(): Promise<SingleTvl | DoubleTvl>;\n getParentTvl(): Promise<SingleTvl | DoubleTvl>;\n\n /**\n * User balance breakdown for this pool.\n */\n getBalance(userAddress: string): Promise<PoolBalance>;\n\n /**\n * Static metadata/config for this pool (from config API).\n */\n getPoolLabel(): PoolLabel;\n\n /**\n * High-level pool summary (APR + TVL + strategy-specific metadata).\n */\n getData(): Promise<PoolData>;\n\n /**\n * Compute ALPHA mining rewards claimable for this pool.\n *\n * Note: this uses the cached distributor object from `StrategyContext`.\n */\n getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal;\n\n /**\n * Get the other amount for a given amount and isAmountA flag.\n *\n * @param amount - The amount to get the other amount for\n * @param isAmountA - Whether the amount is amount A\n * @returns The other amount\n */\n getOtherAmount(amount: string, isAmountA: boolean): [string, string];\n\n /**\n * Deposit assets into the pool.\n *\n * @param options - The options for the deposit\n * @returns Transaction to deposit assets into the pool\n */\n deposit(tx: Transaction, options: DepositOptions): Promise<void>;\n\n /**\n * Withdraw assets from the pool.\n *\n * @param options - The options for the withdrawal\n * @returns Transaction to withdraw assets from the pool\n */\n withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;\n\n /**\n * Claim rewards for a specific pool.\n *\n * @param poolId - The ID of the pool to claim rewards for\n * @param address - The address of the user to claim rewards for\n * @returns Transaction to claim rewards for the specified pool\n */\n claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;\n\n /**\n * Create an AlphaFi receipt.\n *\n * @param tx - The transaction to create the AlphaFi receipt\n * @returns Transaction to create the AlphaFi receipt\n */\n createAlphaFiReceipt(tx: Transaction): TransactionResult;\n}\n\n/**\n * Base class shared by all strategies.\n * Provides parsing helpers and common reward calculation logic.\n */\nexport abstract class BaseStrategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any>\n implements Strategy<TPool, TInvestor, TParentPool, TReceipt>\n{\n abstract parsePoolObject(response: any): TPool;\n abstract parseInvestorObject(response: any): TInvestor;\n abstract parseParentPoolObject(response: any): TParentPool;\n abstract parseReceiptObjects(responses: any[]): TReceipt[];\n abstract exchangeRate(): Decimal;\n abstract getTvl(): Promise<SingleTvl | DoubleTvl>;\n abstract getParentTvl(): Promise<SingleTvl | DoubleTvl>;\n abstract getData(): Promise<PoolData>;\n abstract getBalance(userAddress: string): Promise<PoolBalance>;\n abstract getPoolLabel(): PoolLabel;\n abstract getOtherAmount(amount: string, isAmountA: boolean): [string, string];\n abstract deposit(tx: Transaction, options: DepositOptions): Promise<void>;\n abstract withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;\n abstract claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;\n\n createAlphaFiReceipt(tx: Transaction) {\n return tx.moveCall({\n target: `${PACKAGE_IDS.ALPHAFI_RECEIPT}::alphafi_receipt::create_alphafi_receipt_v2`,\n arguments: [tx.pure.string(IMAGE_URLS.ALPHAFI_RECEIPT)],\n });\n }\n\n /**\n * Provide the inputs needed to compute ALPHA mining rewards for this strategy.\n * Return `receipt: null` if the strategy/user has no alpha mining position.\n */\n protected abstract getAlphaMiningData(): AlphaMiningData;\n\n /**\n * Compute claimable ALPHA rewards using the distributor + pool/receipt accounting.\n * Returns a human-readable amount (divided by 1e9).\n */\n getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal {\n const data = this.getAlphaMiningData();\n\n // No receipt -> no position -> no alpha rewards.\n if (!data.receipt) {\n return new Decimal(0);\n }\n\n const { poolId, accRewardsPerXtoken, xTokenSupply, receipt } = data;\n const { lastAccRewardPerXtoken, pendingRewards, xTokenBalance } = receipt;\n\n // Get user's last accumulated reward per xtoken for ALPHA\n const userLastAccEntry = lastAccRewardPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);\n const userLastAcc = new Decimal(userLastAccEntry?.value || '0');\n\n // Get user's xtoken balance\n const userXtokenBalance = new Decimal(xTokenBalance || '0');\n\n // Get pending alpha rewards from receipt\n const pendingAlphaRewards = pendingRewards\n .filter((entry) => entry.key === ALPHA_COIN_TYPE)\n .reduce((acc, entry) => acc.add(new Decimal(entry.value || '0')), new Decimal(0));\n\n // Get total alpha weight across all pools from distributor\n const alphaRewardTotalWeight =\n distributor.poolAllocator.totalWeights.find((w) => w.key === ALPHA_COIN_TYPE)?.value || '0';\n\n // Get distribution status for this pool\n const memberEntry = distributor.poolAllocator.members.find((m) => m.key === poolId);\n const alphaAllocatorDetailsForPool = memberEntry?.value.poolData.find(\n (pd) => pd.key === ALPHA_COIN_TYPE,\n )?.value;\n\n // Calculate pending rewards for pool\n let pendingRewardsForPool = new Decimal(0);\n if (alphaAllocatorDetailsForPool) {\n const currentTime = Date.now();\n const pendingRewardsInAllocator = new Decimal(\n alphaAllocatorDetailsForPool.pendingRewards || '0',\n );\n const lastUpdateTime = parseInt(alphaAllocatorDetailsForPool.lastUpdateTime || '0', 10);\n const weight = new Decimal(alphaAllocatorDetailsForPool.weight || '0');\n const totalWeight = new Decimal(alphaRewardTotalWeight);\n const target = new Decimal(distributor.target || '0');\n\n // Calculate unlockPerMS (target per millisecond)\n // unlock_per_ms = target * 2750000 / (4250000 * 100 * 86400000)\n const unlockPerMs = target\n .mul(new Decimal('2750000'))\n .div(new Decimal('4250000').mul('100').mul('86400000'));\n\n // Calculate time diff\n const timeDiff = Math.max(0, currentTime - lastUpdateTime);\n\n // Calculate additional rewards\n let additionalRewards = new Decimal(0);\n if (totalWeight.gt(0)) {\n additionalRewards = new Decimal(timeDiff).mul(unlockPerMs).mul(weight).div(totalWeight);\n }\n\n pendingRewardsForPool = pendingRewardsInAllocator.add(additionalRewards);\n }\n\n // Get pool's accumulated rewards per xtoken for ALPHA\n const alphaOldAccEntry = accRewardsPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);\n const alphaOldAccInPool = new Decimal(alphaOldAccEntry?.value || '0');\n\n // Get total xtoken supply from pool\n const totalXtokenSupply = new Decimal(xTokenSupply || '0');\n\n // Calculate new accumulated rewards per xtoken\n const SCALE = new Decimal('1000000000000000000'); // 1e18\n let addAcc = new Decimal(0);\n if (totalXtokenSupply.gt(0)) {\n addAcc = pendingRewardsForPool.div(totalXtokenSupply).mul(SCALE).mul(SCALE);\n }\n const alphaNewAccInPool = alphaOldAccInPool.add(addAcc);\n\n // Calculate user's accrued rewards\n // user_accrued_rewards = ((acc_new - acc_last) / SCALE^2) * user_balance\n const deltaAcc = alphaNewAccInPool.sub(userLastAcc);\n const userAccruedRewards = deltaAcc.div(SCALE.mul(SCALE)).mul(userXtokenBalance);\n\n // Combine pending rewards and accrued rewards, then divide by 1e9 for human-readable amount\n const totalPendingRewards = pendingAlphaRewards.add(userAccruedRewards).div(new Decimal(1e9));\n\n return totalPendingRewards;\n }\n\n // ===== Parsing Helper Methods =====\n\n /**\n * Helper function to get string field from JSON with validation\n */\n protected getStringField(fieldsJson: any, fieldName: string): string {\n const value = fieldsJson?.[fieldName];\n if (typeof value === 'string') {\n return value;\n }\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return '';\n }\n\n /**\n * Helper function to get boolean field from JSON with default value\n */\n protected getBooleanField(fieldsJson: any, fieldName: string, defaultValue: boolean): boolean {\n const value = fieldsJson?.[fieldName];\n if (typeof value === 'boolean') {\n return value;\n }\n return defaultValue;\n }\n\n /**\n * Helper function to get number field from JSON\n */\n protected getNumberField(fieldsJson: any, fieldName: string): number {\n const value = fieldsJson?.[fieldName];\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n const parsed = parseInt(value, 10);\n return isNaN(parsed) ? 0 : parsed;\n }\n return 0;\n }\n\n /**\n * Helper function to parse VecMap structures from Move objects into StringMap format\n */\n protected parseVecMap(vecMapField: any) {\n if (!vecMapField || typeof vecMapField !== 'object') {\n return [];\n }\n\n const contents = vecMapField.contents;\n if (!Array.isArray(contents)) {\n return [];\n }\n\n return contents.map((entry: any) => {\n const key = entry?.key?.name;\n const value = entry?.value;\n return { key, value };\n });\n }\n\n /**\n * Helper function to convert ASCII array from JSON to string\n */\n protected asciiToString(asciiArray: any): string {\n if (Array.isArray(asciiArray)) {\n try {\n const bytes = asciiArray.map((n: any) => {\n const num = typeof n === 'number' ? n : parseInt(n);\n if (num < 0 || num > 255) {\n throw new Error('ASCII value out of range');\n }\n return num;\n });\n return String.fromCharCode(...bytes);\n } catch (error) {\n console.error('Error converting ASCII array to string:', error);\n return '';\n }\n }\n return '';\n }\n\n /**\n * Helper function to extract fields from various response formats\n */\n protected extractFields(response: any): any {\n return response.fields || response.content?.fields || response;\n }\n\n /**\n * Helper function to safely parse nested object fields\n */\n protected getNestedField(obj: any, path: string): any {\n return path.split('.').reduce((current, key) => current?.[key], obj);\n }\n\n /**\n * Helper function to parse object with error handling\n */\n protected safeParseObject<T>(parseFunction: () => T, errorMessage: string): T {\n try {\n return parseFunction();\n } catch (error) {\n console.error(`${errorMessage}:`, error);\n throw new Error(`${errorMessage}: ${error}`);\n }\n }\n}\n"]}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Generic time-based cache with promise memoization.
3
+ * Prevents duplicate concurrent fetches and auto-expires entries.
4
+ */
5
+ /**
6
+ * A generic cache that stores values with TTL (time-to-live).
7
+ * Supports promise memoization to prevent duplicate concurrent fetches.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const cache = new Cache<string, UserData>(60000); // 60 second TTL
12
+ *
13
+ * // Fetch with automatic caching and deduplication
14
+ * const data = await cache.getOrFetch('user-123', async () => {
15
+ * return await fetchUserFromAPI('user-123');
16
+ * });
17
+ * ```
18
+ */
19
+ export declare class Cache<K, V> {
20
+ private cache;
21
+ private pendingPromises;
22
+ private defaultTtl;
23
+ /**
24
+ * Create a new cache instance.
25
+ * @param defaultTtlMs - Default time-to-live in milliseconds (default: 5 minutes)
26
+ */
27
+ constructor(defaultTtlMs?: number);
28
+ /**
29
+ * Get a value from cache if it exists and hasn't expired.
30
+ */
31
+ get(key: K): V | undefined;
32
+ /**
33
+ * Set a value in the cache with optional custom TTL.
34
+ */
35
+ set(key: K, value: V, ttlMs?: number): void;
36
+ /**
37
+ * Check if a key exists and hasn't expired.
38
+ */
39
+ has(key: K): boolean;
40
+ /**
41
+ * Delete a specific key from cache.
42
+ */
43
+ delete(key: K): boolean;
44
+ /**
45
+ * Clear all cached entries.
46
+ */
47
+ clear(): void;
48
+ /**
49
+ * Get value from cache or fetch it using the provided function.
50
+ * Handles promise memoization to prevent duplicate concurrent fetches.
51
+ *
52
+ * @param key - Cache key
53
+ * @param fetcher - Async function to fetch the value if not cached
54
+ * @param ttlMs - Optional custom TTL for this entry
55
+ */
56
+ getOrFetch(key: K, fetcher: () => Promise<V>, ttlMs?: number): Promise<V>;
57
+ /**
58
+ * Get the number of cached entries (including potentially expired ones).
59
+ */
60
+ get size(): number;
61
+ /**
62
+ * Remove all expired entries from cache.
63
+ */
64
+ prune(): void;
65
+ }
66
+ /**
67
+ * A singleton cache for a single value (useful for global data like config).
68
+ * Supports promise memoization and TTL.
69
+ */
70
+ export declare class SingletonCache<V> {
71
+ private value;
72
+ private expiresAt;
73
+ private pendingPromise;
74
+ private defaultTtl;
75
+ constructor(defaultTtlMs?: number);
76
+ /**
77
+ * Get the cached value if it exists and hasn't expired.
78
+ */
79
+ get(): V | undefined;
80
+ /**
81
+ * Set the cached value with optional custom TTL.
82
+ */
83
+ set(value: V, ttlMs?: number): void;
84
+ /**
85
+ * Check if value exists and hasn't expired.
86
+ */
87
+ has(): boolean;
88
+ /**
89
+ * Clear the cached value.
90
+ */
91
+ clear(): void;
92
+ /**
93
+ * Get value from cache or fetch it using the provided function.
94
+ * Handles promise memoization to prevent duplicate concurrent fetches.
95
+ */
96
+ getOrFetch(fetcher: () => Promise<V>, ttlMs?: number): Promise<V>;
97
+ }
98
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/utils/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC;IACrB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,UAAU,CAAS;IAE3B;;;OAGG;gBACS,YAAY,GAAE,MAA0B;IAIpD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAY1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ3C;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAKvB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;;;OAOG;IACG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA6B/E;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,UAAU,CAAS;gBAEf,YAAY,GAAE,MAA0B;IAIpD;;OAEG;IACH,GAAG,IAAI,CAAC,GAAG,SAAS;IASpB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnC;;OAEG;IACH,GAAG,IAAI,OAAO;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CA0BxE"}