@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":"looping.js","sourceRoot":"","sources":["../../../src/strategies/looping.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Looping Strategy\n */\n\nimport { Decimal } from 'decimal.js';\nimport { AlphaMiningData, BaseStrategy, StringMap, ProtocolType } 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 {\n ALPHALEND_LENDING_PROTOCOL_ID,\n CLOCK_PACKAGE_ID,\n DISTRIBUTOR_OBJECT_ID,\n GLOBAL_CONFIGS,\n NAVI_CONFIG,\n POOLS,\n PYTH_STATE_ID,\n STSUI,\n SUI_SYSTEM_STATE,\n VERSIONS,\n WORMHOLE_STATE_ID,\n} from '../utils/constants.js';\nimport { AlphalendClient } from '@alphafi/alphalend-sdk';\nimport { stSuiExchangeRate, getConf as getStSuiConf } from '@alphafi/stsui-sdk';\nimport { SuiPriceServiceConnection, SuiPythClient } from '@pythnetwork/pyth-sui-js';\n\n/**\n * Looping Strategy for leveraged positions with automated compounding\n */\nexport class LoopingStrategy extends BaseStrategy<\n LoopingPoolObject,\n LoopingInvestorObject,\n never, // Looping doesn't have parent pool objects\n LoopingReceiptObject\n> {\n private poolLabel: LoopingPoolLabel;\n private poolObject: LoopingPoolObject;\n private investorObject: LoopingInvestorObject;\n private receiptObjects: LoopingReceiptObject[] = [];\n private context: StrategyContext;\n\n constructor(\n poolLabel: LoopingPoolLabel,\n poolObject: any,\n investorObject: any,\n context: StrategyContext,\n ) {\n super();\n this.poolLabel = poolLabel;\n this.poolObject = this.parsePoolObject(poolObject);\n this.investorObject = this.parseInvestorObject(investorObject);\n this.context = context;\n }\n\n getPoolLabel(): LoopingPoolLabel {\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 Looping strategy');\n }\n\n updateReceipts(receipts: any[]): void {\n this.receiptObjects = this.parseReceiptObjects(receipts);\n }\n\n /**\n * Get alpha mining data including pool and receipt information\n */\n protected getAlphaMiningData(): AlphaMiningData {\n const receipt = this.receiptObjects.length > 0 ? this.receiptObjects[0] : null;\n\n return {\n poolId: this.poolLabel.poolId,\n accRewardsPerXtoken: this.poolObject.accRewardsPerXtoken,\n xTokenSupply: this.poolObject.xTokenSupply,\n receipt: receipt\n ? {\n lastAccRewardPerXtoken: receipt.lastAccRewardPerXtoken,\n pendingRewards: receipt.pendingRewards,\n xTokenBalance: receipt.xTokenBalance,\n }\n : null,\n };\n }\n\n /**\n * Get the exchange rate for xtoken to underlying token ratio\n * Adjusted for current debt-to-supply ratio in leveraged positions\n */\n exchangeRate(): Decimal {\n const currentDebtToSupplyRatio = new Decimal(this.investorObject.currentDebtToSupplyRatio);\n const tokensInvested = new Decimal(this.investorObject.tokensDeposited).mul(\n new Decimal(1).minus(currentDebtToSupplyRatio.div(new Decimal(10).pow(20))),\n );\n const xtokenSupply = new Decimal(this.poolObject.xTokenSupply);\n\n if (xtokenSupply.isZero()) {\n return new Decimal(1); // Default exchange rate when no tokens are supplied\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.userDepositAsset.type,\n poolName: this.poolLabel.poolName,\n apr,\n tvl: {\n alphafi,\n parent,\n },\n };\n }\n\n /**\n * Calculate total value locked adjusted for leveraged position\n * Accounts for debt-to-supply ratio and protocol-specific scaling\n */\n async getTvl(): Promise<SingleTvl> {\n const supplyType = this.poolLabel.supplyAsset.type;\n const userDepositType = this.poolLabel.userDepositAsset.type;\n const cdsr = new Decimal(this.investorObject.currentDebtToSupplyRatio);\n let tokensInvested = new Decimal(this.poolObject.tokensInvested).mul(\n new Decimal(1).minus(cdsr.div(new Decimal(10).pow(20))),\n );\n\n if (this.poolLabel.parentProtocol === 'Navi') {\n tokensInvested = tokensInvested.div(new Decimal(10).pow(9));\n } else {\n const supplyDecimals =\n (await this.context.coinInfoProvider.getCoinByType(supplyType))?.decimals ?? 9;\n tokensInvested = tokensInvested.div(new Decimal(10).pow(supplyDecimals));\n }\n\n const supplyPrice = await this.context.getCoinPrice(supplyType);\n const userDepositPrice = await this.context.getCoinPrice(userDepositType);\n\n const tokenAmount = tokensInvested.mul(supplyPrice).div(userDepositPrice);\n const usdValue = tokensInvested.mul(userDepositPrice);\n return { tokenAmount, usdValue };\n }\n\n /**\n * Calculate parent protocol TVL based on protocol type (Navi/Alphalend)\n */\n async getParentTvl(): Promise<SingleTvl> {\n const protocol = this.poolLabel.parentProtocol;\n const coinType = this.poolLabel.supplyAsset.type;\n const price = await this.context.getCoinPrice(coinType);\n if (protocol === 'Navi') {\n const tokenAmountUsd = await this.context.getNaviTvlByPoolId(this.poolLabel.poolId);\n return { tokenAmount: tokenAmountUsd.div(price), usdValue: tokenAmountUsd };\n } else if (protocol === 'Alphalend') {\n const tokenAmount = await this.context.getAlphaLendTvl(coinType);\n return { tokenAmount, usdValue: tokenAmount.mul(price) };\n }\n throw new Error(`Unsupported parent protocol: ${protocol}`);\n }\n\n /**\n * Calculate user's current pool balance from xToken balance\n * Includes leverage adjustment and protocol-specific scaling\n */\n async getBalance(_userAddress: string): Promise<PoolBalance> {\n if (this.receiptObjects.length === 0 || this.receiptObjects[0].xTokenBalance === '0') {\n return { tokenAmount: new Decimal(0), usdValue: new Decimal(0) };\n }\n\n const xTokens = new Decimal(this.receiptObjects[0].xTokenBalance);\n const exchangeRate = this.exchangeRate();\n let tokens = xTokens.mul(exchangeRate);\n\n if (this.poolLabel.parentProtocol === 'Navi') {\n tokens = tokens.div(new Decimal(10).pow(9));\n } else {\n const supplyDecimals = await this.context.getCoinDecimals(this.poolLabel.supplyAsset.type);\n tokens = tokens.div(new Decimal(10).pow(supplyDecimals));\n }\n\n const [supplyPrice, userDepositPrice] = await Promise.all([\n this.context.getCoinPrice(this.poolLabel.supplyAsset.type),\n this.context.getCoinPrice(this.poolLabel.userDepositAsset.type),\n ]);\n const amount = tokens.mul(supplyPrice).div(userDepositPrice);\n return { tokenAmount: amount, usdValue: amount.mul(userDepositPrice) };\n }\n\n /**\n * Parse pool object from blockchain response\n */\n parsePoolObject(response: any): LoopingPoolObject {\n return this.safeParseObject(() => {\n const fields = this.extractFields(response);\n\n return {\n accRewardsPerXtoken: this.parseVecMap(fields.acc_rewards_per_xtoken || {}),\n depositFee: this.getStringField(fields, 'deposit_fee'),\n depositFeeMaxCap: this.getStringField(fields, 'deposit_fee_max_cap'),\n id: this.getStringField(fields, 'id'),\n imageUrl: this.getStringField(fields, 'image_url'),\n name: this.getStringField(fields, 'name'),\n paused: this.getBooleanField(fields, 'paused', false),\n rewards: (() => {\n const idVal = this.getNestedField(fields, 'rewards.id');\n const sizeVal = this.getNestedField(fields, 'rewards.size');\n return { id: String(idVal), size: String(sizeVal) };\n })(),\n tokensInvested: this.getStringField(fields, 'tokensInvested'),\n withdrawFeeMaxCap: this.getStringField(fields, 'withdraw_fee_max_cap'),\n withdrawalFee: this.getStringField(fields, 'withdrawal_fee'),\n xTokenSupply: this.getStringField(fields, 'xTokenSupply'),\n };\n }, 'Failed to parse Looping pool object');\n }\n\n /**\n * Parse investor object from blockchain response\n */\n parseInvestorObject(response: any): LoopingInvestorObject {\n return this.safeParseObject(() => {\n const fields = this.extractFields(response);\n\n return {\n currentDebtToSupplyRatio: this.getStringField(fields, 'current_debt_to_supply_ratio'),\n freeRewards: (() => {\n const idVal = this.getNestedField(fields, 'free_rewards.id');\n const sizeVal = this.getNestedField(fields, 'free_rewards.size');\n return { id: String(idVal), size: String(sizeVal) };\n })(),\n id: this.getStringField(fields, 'id'),\n loops: this.getStringField(fields, 'loops'),\n maxCapPerformanceFee: this.getStringField(fields, 'max_cap_performance_fee'),\n minimumSwapAmount: this.getStringField(fields, 'minimum_swap_amount'),\n naviAccCap: {\n id: this.getNestedField(fields, 'navi_acc_cap.id'),\n owner: this.getNestedField(fields, 'navi_acc_cap.owner'),\n },\n performanceFee: this.getStringField(fields, 'performance_fee'),\n safeBorrowPercentage: this.getStringField(fields, 'safe_borrow_percentage'),\n tokensDeposited:\n this.getStringField(fields, 'tokens_deposited') ||\n this.getStringField(fields, 'tokensDeposited'),\n };\n }, 'Failed to parse Looping investor object');\n }\n\n /**\n * Parse parent pool object (not applicable for Looping)\n */\n parseParentPoolObject(_response: any): never {\n throw new Error('Looping strategy does not have parent pool objects');\n }\n\n /**\n * Parse receipt objects from blockchain responses\n */\n parseReceiptObjects(responses: any[]): LoopingReceiptObject[] {\n return responses\n .map((response, index) => {\n return this.safeParseObject(() => {\n const fields = this.extractFields(response);\n\n return {\n id: this.getStringField(fields, 'id'),\n imageUrl: this.getStringField(fields, 'image_url'),\n lastAccRewardPerXtoken: this.parseVecMap(fields.last_acc_reward_per_xtoken || {}),\n name: this.getStringField(fields, 'name'),\n owner: this.getStringField(fields, 'owner'),\n pendingRewards: this.parseVecMap(fields.pending_rewards || {}),\n poolId: this.getStringField(fields, 'pool_id'),\n xTokenBalance: this.getStringField(fields, 'xTokenBalance'),\n };\n }, `Failed to parse Looping receipt object at index ${index}`);\n })\n .filter((receipt) => receipt.poolId === this.poolLabel.poolId);\n }\n\n private async getAvailableRewards(address: string): Promise<Record<string, any[]>> {\n try {\n // Call the integration API\n const apiUrl = this.context.apiBaseUrl;\n const response = await fetch(\n `${apiUrl}/navi-params/rewards?address=${encodeURIComponent(address)}`,\n {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n );\n\n if (!response.ok) {\n const errorData = await response.json().catch(() => ({}));\n throw new Error(\n errorData.error ||\n errorData.message ||\n `Failed to fetch rewards: ${response.status} ${response.statusText}`,\n );\n }\n\n const data = await response.json();\n\n // The API returns { address, rewards, timestamp }\n // We just need the rewards object\n return data.rewards || {};\n } catch (error: any) {\n console.error('Error fetching Navi rewards from API:', error);\n throw new Error(`Failed to fetch Navi rewards: ${error.message}`);\n }\n }\n\n private async collectAndSwapRewardsTxb(\n tx: Transaction,\n rewardCoinSet: Set<string>,\n claimableRewards: any[] | undefined,\n ) {\n if (!claimableRewards) {\n return;\n }\n const [navxCoin, vsuiCoin, stsuiCoin] = await this.context.getCoinsBySymbols([\n 'NAVX',\n 'vSUI',\n 'stSUI',\n ]);\n\n for (const reward of claimableRewards) {\n if (rewardCoinSet.has(reward.rewardCoinType) === false) {\n if (this.poolLabel.supplyAsset.name === 'vSUI') {\n if (reward.rewardCoinType === navxCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_vsui_investor::collect_reward_with_two_swaps_v2`,\n typeArguments: [navxCoin.coinType],\n arguments: [\n tx.object(this.poolLabel.investorId),\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(CLOCK_PACKAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.NAVX),\n tx.object(NAVI_CONFIG.VOLO.STAKE_POOL),\n tx.object(NAVI_CONFIG.VOLO.METADATA),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(\n await this.context.getPoolIdBySymbolsAndProtocol('NAVX', 'vSUI', 'cetus'),\n ),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(GLOBAL_CONFIGS.CETUS),\n ],\n });\n } else if (reward.rewardCoinType === vsuiCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_vsui_investor::collect_reward_with_no_swap`,\n arguments: [\n tx.object(this.poolLabel.investorId),\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(CLOCK_PACKAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.vSUI),\n ],\n });\n }\n } else if (this.poolLabel.supplyAsset.name === 'HASUI') {\n if (reward.rewardCoinType === navxCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_hasui_sui_investor::collect_reward_with_two_swaps`,\n typeArguments: [navxCoin.coinType],\n arguments: [\n tx.object(this.poolLabel.investorId),\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(CLOCK_PACKAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.NAVX),\n tx.object(NAVI_CONFIG.HAEDEL_STAKING),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('NAVX', 'SUI', 'cetus')),\n tx.object(\n await this.context.getPoolIdBySymbolsAndProtocol('HASUI', 'SUI', 'cetus'),\n ),\n tx.object(GLOBAL_CONFIGS.CETUS),\n ],\n });\n } else if (reward.rewardCoinType === vsuiCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_hasui_sui_investor::collect_reward_with_two_swaps`,\n typeArguments: [vsuiCoin.coinType],\n arguments: [\n tx.object(this.poolLabel.investorId),\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(CLOCK_PACKAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.vSUI),\n tx.object(NAVI_CONFIG.HAEDEL_STAKING),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(\n await this.context.getPoolIdBySymbolsAndProtocol('HASUI', 'SUI', 'cetus'),\n ),\n tx.object(GLOBAL_CONFIGS.CETUS),\n ],\n });\n }\n } else if (this.poolLabel.supplyAsset.name === 'stSUI') {\n if (reward.rewardCoinType === navxCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps_bluefin`,\n typeArguments: [navxCoin.coinType],\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.NAVX),\n tx.object(STSUI.LST_INFO),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(\n await this.context.getPoolIdBySymbolsAndProtocol('NAVX', 'SUI', 'bluefin'),\n ),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (reward.rewardCoinType === vsuiCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps`,\n typeArguments: [vsuiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.vSUI),\n tx.object(STSUI.LST_INFO),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (reward.rewardCoinType === stsuiCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_no_swap`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.stSUI),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n } else if (this.poolLabel.supplyAsset.name === 'USDC') {\n if (reward.rewardCoinType === navxCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_native_usdc_usdt_investor::collect_reward_with_two_swaps`,\n typeArguments: [navxCoin.coinType],\n arguments: [\n tx.object(this.poolLabel.investorId),\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(CLOCK_PACKAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.NAVX),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('NAVX', 'SUI', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'SUI', 'cetus')),\n tx.object(GLOBAL_CONFIGS.CETUS),\n ],\n });\n } else if (reward.rewardCoinType === vsuiCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_native_usdc_usdt_investor::collect_reward_with_two_swaps`,\n typeArguments: [vsuiCoin.coinType],\n arguments: [\n tx.object(this.poolLabel.investorId),\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(CLOCK_PACKAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.REWARDS_POOL.vSUI),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'SUI', 'cetus')),\n tx.object(GLOBAL_CONFIGS.CETUS),\n ],\n });\n }\n }\n rewardCoinSet.add(reward.reward_coin_type);\n }\n }\n }\n\n private async collectAndSwapRewards(tx: Transaction) {\n const rewardCoinSet = new Set<string>();\n\n if (this.poolLabel.supplyAsset.name === 'vSUI') {\n const claimableRewards = await this.getAvailableRewards(\n NAVI_CONFIG.ACCOUNT_ADDRESSES.SUI_VSUI_LOOP,\n );\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[this.poolLabel.supplyAsset.type],\n );\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[\n '0000000000000000000000000000000000000000000000000000000000000002::sui::SUI'\n ],\n );\n } else if (this.poolLabel.supplyAsset.name === 'HASUI') {\n const claimableRewards = await this.getAvailableRewards(\n NAVI_CONFIG.ACCOUNT_ADDRESSES.HASUI_SUI_LOOP,\n );\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[this.poolLabel.supplyAsset.type],\n );\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[\n '0000000000000000000000000000000000000000000000000000000000000002::sui::SUI'\n ],\n );\n } else if (this.poolLabel.supplyAsset.name === 'stSUI') {\n const claimableRewards = await this.getAvailableRewards('');\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[this.poolLabel.supplyAsset.type],\n );\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[\n '0000000000000000000000000000000000000000000000000000000000000002::sui::SUI'\n ],\n );\n } else if (this.poolLabel.supplyAsset.name === 'USDC') {\n const claimableRewards = await this.getAvailableRewards(\n NAVI_CONFIG.ACCOUNT_ADDRESSES.USDC_USDT_LOOP,\n );\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[this.poolLabel.supplyAsset.type],\n );\n await this.collectAndSwapRewardsTxb(\n tx,\n rewardCoinSet,\n claimableRewards[this.poolLabel.borrowAsset.type],\n );\n }\n }\n\n private async updateSingleTokenPrice(tx: Transaction, pythPriceInfo: string, feedId: string) {\n const pythClient = new SuiPythClient(\n this.context.blockchain.suiClient,\n PYTH_STATE_ID,\n WORMHOLE_STATE_ID,\n );\n const pythConnection = new SuiPriceServiceConnection('https://hermes.pyth.network');\n\n const priceFeedUpdateData = await pythConnection.getPriceFeedsUpdateData([pythPriceInfo]);\n const priceInfoObjectIds = await pythClient.updatePriceFeeds(tx, priceFeedUpdateData, [\n pythPriceInfo,\n ]);\n\n tx.moveCall({\n target:\n '0xc2d49bf5e75d2258ee5563efa527feb6155de7ac6f6bf025a23ee88cd12d5a83::oracle_pro::update_single_price',\n arguments: [\n tx.object(CLOCK_PACKAGE_ID),\n tx.object(NAVI_CONFIG.ORACLE_CONFIG),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.SUPRA_ORACLE_HOLDER),\n tx.object(priceInfoObjectIds[0]),\n tx.pure.address(feedId),\n ],\n });\n }\n\n async deposit(tx: Transaction, options: DepositOptions) {\n // get Coin Object\n const depositCoin = await this.context.blockchain.getCoinObject(\n tx,\n this.poolLabel.userDepositAsset.type,\n options.address,\n options.amount,\n );\n\n const receiptOption = this.context.blockchain.getOptionReceipt(\n tx,\n this.poolLabel.poolId,\n options.address,\n );\n\n if (this.poolLabel.parentProtocol === 'Alphalend') {\n const [alphaCoin, blueCoin] = await this.context.getCoinsBySymbols(['ALPHA', 'BLUE']);\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_one_swap`,\n typeArguments: [alphaCoin.coinType],\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\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.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_no_swap_v2`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps_v2`,\n typeArguments: [blueCoin.coinType],\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(STSUI.LST_INFO),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('BLUE', 'SUI', 'cetus')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::user_deposit_v3`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n receiptOption,\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(STSUI.LST_INFO),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n return;\n }\n\n await this.updateSingleTokenPrice(\n tx,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.supplyAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .pythPriceInfo,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.supplyAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .feedId,\n );\n await this.updateSingleTokenPrice(\n tx,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.borrowAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .pythPriceInfo,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.borrowAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .feedId,\n );\n await this.collectAndSwapRewards(tx);\n\n if (this.poolLabel.supplyAsset.name === 'vSUI') {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_vsui_pool::user_deposit_v3`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n receiptOption,\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.vSUI),\n tx.object(NAVI_CONFIG.NAVI_POOLS.SUI),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(NAVI_CONFIG.VOLO.STAKE_POOL),\n tx.object(NAVI_CONFIG.VOLO.METADATA),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(NAVI_CONFIG.KRIYA.VSUI_SUI_POOL),\n tx.object(NAVI_CONFIG.KRIYA.VERSION),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (this.poolLabel.supplyAsset.name === 'HASUI') {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_hasui_sui_pool::user_deposit_v2`, // change package id for testing\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[2]), // change version object id for testing\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n receiptOption,\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.HASUI),\n tx.object(NAVI_CONFIG.NAVI_POOLS.SUI),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('HASUI', 'SUI', 'cetus')),\n tx.object(NAVI_CONFIG.HAEDEL_STAKING),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (this.poolLabel.supplyAsset.name === 'USDC') {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_native_usdc_usdt_pool::user_deposit_v3`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n receiptOption,\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDC),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDT),\n tx.object(NAVI_CONFIG.INCENTIVE_V1_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(NAVI_CONFIG.FUNDS_POOLS.vSUI),\n tx.object(NAVI_CONFIG.FUNDS_POOLS.NAVX),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('NAVX', 'SUI', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'SUI', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'USDT', 'cetus')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDT', 'USDC', 'bluefin')),\n tx.pure.bool(true),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (this.poolLabel.supplyAsset.name === 'USDT') {\n const [navxCoin] = await this.context.getCoinsBySymbols(['NAVX']);\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_usdt_usdc_pool::user_deposit_v3`,\n typeArguments: [navxCoin.coinType],\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n receiptOption,\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDT),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDC),\n tx.object(NAVI_CONFIG.INCENTIVE_V1_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(NAVI_CONFIG.FUNDS_POOLS.vSUI),\n tx.object(NAVI_CONFIG.FUNDS_POOLS.NAVX),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'USDT', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'SUI', 'cetus')),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('NAVX', 'SUI', 'cetus')),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n }\n\n private async fetchVoloExchangeRate(): Promise<NaviVoloData> {\n const apiUrl = 'https://open-api.naviprotocol.io/api/volo/stats';\n const default_volo_data: NaviVoloData = {\n data: {\n operatorBalance: '',\n collectableFee: '',\n pendingStakes: '',\n poolTotalRewards: '0',\n unstakeTicketSupply: '',\n totalStaked: '',\n activeStake: '',\n calcTotalRewards: '',\n currentEpoch: '',\n validators: {},\n exchangeRate: (1 / 0.973).toString(),\n totalSupply: '',\n apy: '',\n sortedValidators: [''],\n maxInstantUnstake: '',\n maxNoFeeUnstake: '',\n },\n code: 0,\n };\n try {\n const response = await fetch(apiUrl);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = (await response.json()) as NaviVoloData;\n return data;\n } catch (error) {\n console.error('error in api', error);\n return default_volo_data;\n }\n }\n\n private async coinAmountToXToken(amount: Decimal): Promise<string> {\n const exchangeRate = this.exchangeRate();\n if (this.poolLabel.poolName === 'NAVI-LOOP-SUI-VSUI') {\n const voloExchRate = await this.fetchVoloExchangeRate();\n amount = amount.div(parseFloat(voloExchRate.data.exchangeRate));\n } else if (this.poolLabel.poolName === 'ALPHALEND-LOOP-SUI-STSUI') {\n const suiTostSuiExchangeRate = await stSuiExchangeRate(getStSuiConf().LST_INFO, true);\n amount = amount.div(suiTostSuiExchangeRate);\n }\n return new Decimal(amount).div(exchangeRate).floor().toString();\n }\n\n async withdraw(tx: Transaction, options: WithdrawOptions) {\n if (this.receiptObjects.length === 0) {\n throw new Error('No receipt found');\n }\n\n let xtokenAmount = await this.coinAmountToXToken(new Decimal(options.amount));\n if (options.withdrawMax) {\n xtokenAmount = this.receiptObjects[0].xTokenBalance;\n }\n\n const noneAlphaReceipt = tx.moveCall({\n target: `0x1::option::none`,\n typeArguments: [\n '0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphapool::Receipt',\n ],\n arguments: [],\n });\n\n if (this.poolLabel.parentProtocol === 'Alphalend') {\n const [stsuiCoin, suiCoin, alphaCoin, blueCoin] = await this.context.getCoinsBySymbols([\n 'stSUI',\n 'SUI',\n 'ALPHA',\n 'BLUE',\n ]);\n const alphalendClient = new AlphalendClient('mainnet', this.context.blockchain.suiClient);\n await alphalendClient.updatePrices(tx, [stsuiCoin.coinType, suiCoin.coinType]);\n\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_one_swap`,\n typeArguments: [alphaCoin.coinType],\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\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.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_no_swap_v2`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps_v2`,\n typeArguments: [blueCoin.coinType],\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(this.poolLabel.investorId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(STSUI.LST_INFO),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('BLUE', 'SUI', 'cetus')),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n const [stsui_coin] = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::user_withdraw_v3`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n tx.object(this.receiptObjects[0].id),\n noneAlphaReceipt,\n tx.object(POOLS.ALPHA_LEGACY),\n tx.object(this.poolLabel.poolId),\n tx.pure.u64(xtokenAmount),\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(STSUI.LST_INFO),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `0x2::transfer::public_transfer`,\n typeArguments: [`0x2::coin::Coin<${suiCoin.coinType}>`],\n arguments: [stsui_coin, tx.pure.address(options.address)],\n });\n return;\n }\n\n await this.updateSingleTokenPrice(\n tx,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.supplyAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .pythPriceInfo,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.supplyAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .feedId,\n );\n await this.updateSingleTokenPrice(\n tx,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.borrowAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .pythPriceInfo,\n NAVI_CONFIG.PRICE_FEED[this.poolLabel.borrowAsset.name as keyof typeof NAVI_CONFIG.PRICE_FEED]\n .feedId,\n );\n await this.collectAndSwapRewards(tx);\n\n if (this.poolLabel.supplyAsset.name === 'vSUI') {\n const [vsui_coin] = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_sui_vsui_pool::user_withdraw_v3`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n tx.object(this.receiptObjects[0].id),\n noneAlphaReceipt,\n tx.object(POOLS.ALPHA_LEGACY),\n tx.object(this.poolLabel.poolId),\n tx.pure.u64(xtokenAmount),\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.vSUI),\n tx.object(NAVI_CONFIG.NAVI_POOLS.SUI),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('vSUI', 'SUI', 'cetus')),\n tx.object(NAVI_CONFIG.VOLO.STAKE_POOL),\n tx.object(NAVI_CONFIG.VOLO.METADATA),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(NAVI_CONFIG.KRIYA.VSUI_SUI_POOL),\n tx.object(NAVI_CONFIG.KRIYA.VERSION),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `0x2::transfer::public_transfer`,\n typeArguments: [`0x2::coin::Coin<${this.poolLabel.borrowAsset.type}>`],\n arguments: [vsui_coin, tx.pure.address(options.address)],\n });\n } else if (this.poolLabel.supplyAsset.name === 'HASUI') {\n const [hasuiCoin] = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_hasui_sui_pool::user_withdraw_v2`, // change package id for testing\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[2]), // change version object id for testing\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n tx.object(this.receiptObjects[0].id),\n noneAlphaReceipt,\n tx.object(POOLS.ALPHA_LEGACY),\n tx.object(this.poolLabel.poolId),\n tx.pure.u64(xtokenAmount),\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.HASUI),\n tx.object(NAVI_CONFIG.NAVI_POOLS.SUI),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('HASUI', 'SUI', 'cetus')),\n tx.object(NAVI_CONFIG.HAEDEL_STAKING),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `0x2::transfer::public_transfer`,\n typeArguments: [`0x2::coin::Coin<${this.poolLabel.supplyAsset.type}>`],\n arguments: [hasuiCoin, tx.pure.address(options.address)],\n });\n } else if (this.poolLabel.supplyAsset.name === 'USDC') {\n const [usdcCoin] = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_native_usdc_usdt_pool::user_withdraw_v4`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[2]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n tx.object(this.receiptObjects[0].id),\n noneAlphaReceipt,\n tx.object(POOLS.ALPHA_LEGACY),\n tx.object(this.poolLabel.poolId),\n tx.pure.u256(xtokenAmount),\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDC),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDT),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'USDT', 'cetus')),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDT', 'USDC', 'bluefin')),\n tx.pure.bool(true),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `0x2::transfer::public_transfer`,\n typeArguments: [`0x2::coin::Coin<${this.poolLabel.supplyAsset.type}>`],\n arguments: [usdcCoin, tx.pure.address(options.address)],\n });\n } else if (this.poolLabel.supplyAsset.name === 'USDT') {\n const [usdtCoin] = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphafi_navi_usdt_usdc_pool::user_withdraw_v3`,\n arguments: [\n tx.object(VERSIONS.ALPHA_VERSIONS[5]),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n tx.object(this.receiptObjects[0].id),\n noneAlphaReceipt,\n tx.object(POOLS.ALPHA_LEGACY),\n tx.object(this.poolLabel.poolId),\n tx.pure.u256(xtokenAmount),\n tx.object(this.poolLabel.investorId),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(NAVI_CONFIG.PRICE_ORACLE_ID),\n tx.object(NAVI_CONFIG.NAVI_STORAGE_ID),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDT),\n tx.object(NAVI_CONFIG.NAVI_POOLS.USDC),\n tx.object(NAVI_CONFIG.INCENTIVE_V3_ID),\n tx.object(NAVI_CONFIG.INCENTIVE_V2_ID),\n tx.object(GLOBAL_CONFIGS.CETUS),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('USDC', 'USDT', 'cetus')),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `0x2::transfer::public_transfer`,\n typeArguments: [`0x2::coin::Coin<${this.poolLabel.supplyAsset.type}>`],\n arguments: [usdtCoin, tx.pure.address(options.address)],\n });\n }\n }\n\n async claimRewards(tx: Transaction, alphaReceipt: TransactionResult) {\n let target, version;\n if (this.poolLabel.poolName == 'NAVI-LOOP-USDT-USDC') {\n target = `${this.poolLabel.packageId}::alphafi_navi_usdt_usdc_pool::get_user_rewards_all`;\n version = VERSIONS.ALPHA_VERSIONS[5];\n } else if (this.poolLabel.poolName == 'ALPHALEND-LOOP-SUI-STSUI') {\n target = `${this.poolLabel.packageId}::alphafi_navi_sui_stsui_pool::get_user_rewards_all`;\n version = VERSIONS.ALPHA_VERSIONS[5];\n } else if (this.poolLabel.poolName == 'NAVI-LOOP-SUI-VSUI') {\n target = `${this.poolLabel.packageId}::alphafi_navi_sui_vsui_pool::get_user_rewards_all`;\n version = VERSIONS.ALPHA_VERSIONS[2];\n } else if (this.poolLabel.poolName == 'NAVI-LOOP-USDC-USDT') {\n target = `${this.poolLabel.packageId}::alphafi_navi_native_usdc_usdt_pool::get_user_rewards_all`;\n version = VERSIONS.ALPHA_VERSIONS[2];\n } else if (this.poolLabel.poolName == 'NAVI-LOOP-HASUI-SUI') {\n target = `${this.poolLabel.packageId}::alphafi_navi_hasui_sui_pool::get_user_rewards_all`;\n version = VERSIONS.ALPHA_VERSIONS[2];\n }\n if (version && target) {\n this.receiptObjects.forEach((receipt) => {\n alphaReceipt = tx.moveCall({\n target,\n arguments: [\n tx.object(version),\n tx.object(VERSIONS.ALPHA_VERSIONS[1]),\n tx.object(receipt.id),\n alphaReceipt,\n tx.object(this.poolLabel.poolId),\n tx.object(POOLS.ALPHA_LEGACY),\n tx.object(DISTRIBUTOR_OBJECT_ID),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n });\n }\n }\n}\n\n/**\n * Looping Pool object data structure\n */\nexport interface LoopingPoolObject {\n accRewardsPerXtoken: StringMap[];\n depositFee: string;\n depositFeeMaxCap: string;\n id: string;\n imageUrl: string;\n name: string;\n paused: boolean;\n rewards: {\n id: string;\n size: string;\n };\n tokensInvested: string;\n withdrawFeeMaxCap: string;\n withdrawalFee: string;\n xTokenSupply: string;\n}\n\n/**\n * Looping Investor object data structure\n */\nexport interface LoopingInvestorObject {\n currentDebtToSupplyRatio: string;\n freeRewards: {\n id: string;\n size: string;\n };\n id: string;\n loops: string;\n maxCapPerformanceFee: string;\n minimumSwapAmount: string;\n naviAccCap: {\n id: string;\n owner: string;\n };\n performanceFee: string;\n safeBorrowPercentage: string;\n tokensDeposited: string;\n}\n\n/**\n * Looping Receipt object data structure\n */\nexport interface LoopingReceiptObject {\n id: string;\n imageUrl: string;\n lastAccRewardPerXtoken: StringMap[];\n name: string;\n owner: string;\n pendingRewards: StringMap[];\n poolId: string;\n xTokenBalance: string;\n}\n\n/**\n * Looping Pool Label configuration\n */\nexport interface LoopingPoolLabel {\n poolId: string;\n packageId: string;\n packageNumber: number;\n strategyType: 'Looping';\n parentProtocol: ProtocolType;\n investorId: string;\n receipt: StringMap;\n supplyAsset: StringMap;\n borrowAsset: StringMap;\n userDepositAsset: StringMap;\n userWithdrawAsset: StringMap;\n events: {\n autocompoundEventType: string;\n liquidityChangeEventType: string;\n checkRatioEventType: string;\n };\n isActive: boolean;\n poolName: string;\n isNative: boolean;\n}\n\nexport interface NaviVoloData {\n data: {\n operatorBalance: string;\n collectableFee: string;\n pendingStakes: string;\n poolTotalRewards: string;\n unstakeTicketSupply: string;\n totalStaked: string;\n activeStake: string;\n calcTotalRewards: string;\n currentEpoch: string;\n validators: object;\n exchangeRate: string;\n totalSupply: string;\n apy: string;\n sortedValidators: string[];\n maxInstantUnstake: string;\n maxNoFeeUnstake: string;\n };\n code: number;\n}\n"]}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * LP Strategy
3
+ */
4
+ import { Decimal } from 'decimal.js';
5
+ import { AlphaMiningData, BaseStrategy, StringMap, ProtocolType } from './strategy.js';
6
+ import { PoolData, DoubleTvl, PoolBalance } from '../models/types.js';
7
+ import { StrategyContext } from '../models/strategyContext.js';
8
+ import { DepositOptions, WithdrawOptions } from '../core/types.js';
9
+ import { Transaction, TransactionResult } from '@mysten/sui/transactions';
10
+ /**
11
+ * LP Strategy for dual-asset liquidity pools
12
+ */
13
+ export declare class LpStrategy extends BaseStrategy<LpPoolObject, LpInvestorObject, LpParentPoolObject, LpReceiptObject> {
14
+ private poolLabel;
15
+ private poolObject;
16
+ private investorObject;
17
+ private parentPoolObject;
18
+ private receiptObjects;
19
+ private context;
20
+ constructor(poolLabel: LpPoolLabel, poolObject: any, investorObject: any, parentPoolObject: any, context: StrategyContext);
21
+ getPoolLabel(): LpPoolLabel;
22
+ updateReceipts(receipts: any[]): void;
23
+ /**
24
+ * Get alpha mining data including pool and receipt information
25
+ */
26
+ protected getAlphaMiningData(): AlphaMiningData;
27
+ /**
28
+ * Get the exchange rate for xtoken to underlying token ratio
29
+ * Calculated as tokens_invested / xtoken_supply
30
+ */
31
+ exchangeRate(): Decimal;
32
+ /**
33
+ * Get comprehensive pool data including TVL, LP breakdown, price, and position range
34
+ */
35
+ getData(): Promise<PoolData>;
36
+ /**
37
+ * Calculate total value locked using current asset prices and token amounts
38
+ */
39
+ getTvl(): Promise<DoubleTvl>;
40
+ /**
41
+ * Calculate parent pool TVL from underlying protocol reserves
42
+ */
43
+ getParentTvl(): Promise<DoubleTvl>;
44
+ /**
45
+ * Get LP token breakdown showing individual asset amounts and total liquidity
46
+ */
47
+ getLpBreakdown(): Promise<{
48
+ token1Amount: Decimal;
49
+ token2Amount: Decimal;
50
+ totalLiquidity: Decimal;
51
+ }>;
52
+ /**
53
+ * Get parent pool LP breakdown from underlying protocol
54
+ */
55
+ getParentLpBreakdown(): Promise<{
56
+ token1Amount: Decimal;
57
+ token2Amount: Decimal;
58
+ totalLiquidity: Decimal;
59
+ }>;
60
+ /**
61
+ * Get current LP pool price from tick index
62
+ */
63
+ getCurrentLPPoolPrice(): Promise<Decimal>;
64
+ /**
65
+ * Get position price range from lower and upper tick bounds
66
+ */
67
+ getPositionRange(): Promise<{
68
+ lowerPrice: Decimal;
69
+ upperPrice: Decimal;
70
+ }>;
71
+ /**
72
+ * Calculate user's current pool balance from receipt objects
73
+ * Converts xToken balance to underlying assets and USD value
74
+ */
75
+ getBalance(_userAddress: string): Promise<PoolBalance>;
76
+ /**
77
+ * Calculate token A and B amounts from liquidity using Cetus CLMM SDK
78
+ */
79
+ private getTokenAmounts;
80
+ private getLiquidity;
81
+ getOtherAmount(amount: string, isAmountA: boolean): [string, string];
82
+ private coinAmountToXToken;
83
+ /**
84
+ * Parse pool object from blockchain response
85
+ */
86
+ parsePoolObject(response: any): LpPoolObject;
87
+ /**
88
+ * Parse investor object from blockchain response
89
+ */
90
+ parseInvestorObject(response: any): LpInvestorObject;
91
+ /**
92
+ * Parse parent pool object from blockchain response
93
+ */
94
+ parseParentPoolObject(response: any): LpParentPoolObject;
95
+ /**
96
+ * Parse receipt objects from blockchain responses
97
+ */
98
+ parseReceiptObjects(responses: any[]): LpReceiptObject[];
99
+ depositBluefinSuiFirstTx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
100
+ withdrawBluefinSuiFirstTx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
101
+ depositBluefinSuiSecondTx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
102
+ withdrawBluefinSuiSecondTx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
103
+ depositBluefinType1Tx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
104
+ withdrawBluefinType1Tx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
105
+ depositBluefinType2Tx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
106
+ withdrawBluefinType2Tx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
107
+ depositBluefinStsuiTx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
108
+ withdrawBluefinStsuiTx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
109
+ depositCetusTx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
110
+ withdrawCetusTx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
111
+ depositCetusAlphaSuiTx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
112
+ withdrawCetusAlphaSuiTx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
113
+ depositCetusSuiTx(tx: Transaction, receiptOption: any, depositCoinA: any, depositCoinB: any): Promise<void>;
114
+ withdrawCetusSuiTx(tx: Transaction, noneAlphaReceipt: any, xTokensAmount: string): Promise<void>;
115
+ deposit(tx: Transaction, options: DepositOptions): Promise<void>;
116
+ withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;
117
+ claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;
118
+ }
119
+ /**
120
+ * LP Pool object data structure
121
+ */
122
+ export interface LpPoolObject {
123
+ accRewardsPerXtoken: StringMap[];
124
+ depositFee: string;
125
+ depositFeeMaxCap: string;
126
+ id: string;
127
+ imageUrl: string;
128
+ name: string;
129
+ paused: boolean;
130
+ rewards: {
131
+ id: string;
132
+ size: string;
133
+ };
134
+ tokensInvested: string;
135
+ withdrawFeeMaxCap: string;
136
+ withdrawalFee: string;
137
+ xTokenSupply: string;
138
+ }
139
+ /**
140
+ * LP Investor object data structure
141
+ */
142
+ export interface LpInvestorObject {
143
+ emergencyBalanceA: string;
144
+ emergencyBalanceB: string;
145
+ freeBalanceA: string;
146
+ freeBalanceB: string;
147
+ freeRewards: {
148
+ id: string;
149
+ size: string;
150
+ };
151
+ id: string;
152
+ isEmergency: boolean;
153
+ lowerTick: number;
154
+ minimumSwapAmount: string;
155
+ performanceFee: string;
156
+ performanceFeeMaxCap: string;
157
+ upperTick: number;
158
+ }
159
+ /**
160
+ * LP Parent Pool object data structure
161
+ */
162
+ export interface LpParentPoolObject {
163
+ coinA: string;
164
+ coinB: string;
165
+ currentSqrtPrice: string;
166
+ currentTickIndex: number;
167
+ id: string;
168
+ liquidity: string;
169
+ }
170
+ /**
171
+ * LP Receipt object data structure
172
+ */
173
+ export interface LpReceiptObject {
174
+ id: string;
175
+ imageUrl: string;
176
+ lastAccRewardPerXtoken: StringMap[];
177
+ owner: string;
178
+ name: string;
179
+ pendingRewards: StringMap[];
180
+ poolId: string;
181
+ xTokenBalance: string;
182
+ }
183
+ /**
184
+ * LP Pool Label configuration
185
+ */
186
+ export interface LpPoolLabel {
187
+ poolId: string;
188
+ packageId: string;
189
+ packageNumber: number;
190
+ strategyType: 'Lp';
191
+ parentProtocol: ProtocolType;
192
+ parentPoolId: string;
193
+ investorId: string;
194
+ receipt: StringMap;
195
+ assetA: StringMap;
196
+ assetB: StringMap;
197
+ events: {
198
+ autocompoundEventType: string;
199
+ rebalanceEventType: string;
200
+ liquidityChangeEventType: string;
201
+ afterTransactionEventType?: string;
202
+ };
203
+ isActive: boolean;
204
+ poolName: string;
205
+ isNative: boolean;
206
+ }
207
+ //# sourceMappingURL=lp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lp.d.ts","sourceRoot":"","sources":["../../../src/strategies/lp.ts"],"names":[],"mappings":"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"}