@alphafi/alphafi-sdk 0.0.83 → 0.0.85

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 (447) hide show
  1. package/dist/cjs/common/coins.d.ts.map +1 -1
  2. package/dist/cjs/common/coins.js +30 -0
  3. package/dist/cjs/common/coins.js.map +1 -1
  4. package/dist/cjs/common/constants.d.ts +125 -24
  5. package/dist/cjs/common/constants.d.ts.map +1 -1
  6. package/dist/cjs/common/constants.js +171 -53
  7. package/dist/cjs/common/constants.js.map +1 -1
  8. package/dist/cjs/common/maps.d.ts +6 -0
  9. package/dist/cjs/common/maps.d.ts.map +1 -1
  10. package/dist/cjs/common/maps.js +115 -43
  11. package/dist/cjs/common/maps.js.map +1 -1
  12. package/dist/cjs/common/pyth.d.ts +1 -1
  13. package/dist/cjs/common/pyth.d.ts.map +1 -1
  14. package/dist/cjs/common/pyth.js.map +1 -1
  15. package/dist/cjs/common/types.d.ts +6 -5
  16. package/dist/cjs/common/types.d.ts.map +1 -1
  17. package/dist/cjs/common/types.js.map +1 -1
  18. package/dist/cjs/getAllVaults.d.ts.map +1 -1
  19. package/dist/cjs/getAllVaults.js +2 -1
  20. package/dist/cjs/getAllVaults.js.map +1 -1
  21. package/dist/cjs/getAprs.d.ts.map +1 -1
  22. package/dist/cjs/getAprs.js +22 -1
  23. package/dist/cjs/getAprs.js.map +1 -1
  24. package/dist/cjs/getTvls.d.ts.map +1 -1
  25. package/dist/cjs/getTvls.js +11 -0
  26. package/dist/cjs/getTvls.js.map +1 -1
  27. package/dist/cjs/index.d.ts +4 -3
  28. package/dist/cjs/index.d.ts.map +1 -1
  29. package/dist/cjs/index.js +8 -4
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
  32. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +24 -14
  33. package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
  34. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +1 -1
  35. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js +2 -1
  36. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js.map +1 -1
  37. package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -1
  38. package/dist/cjs/sui-sdk/events/fetchEvents.js +9 -8
  39. package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -1
  40. package/dist/cjs/sui-sdk/events/types.d.ts +4 -4
  41. package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -1
  42. package/dist/cjs/sui-sdk/events/types.js.map +1 -1
  43. package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -1
  44. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js +2 -1
  45. package/dist/cjs/sui-sdk/functions/fetchUserVaults.js.map +1 -1
  46. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  47. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +5 -4
  48. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  49. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +3 -1
  50. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  51. package/dist/cjs/sui-sdk/functions/getReceipts.js +15 -3
  52. package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
  53. package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -1
  54. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js +2 -42
  55. package/dist/cjs/sui-sdk/transactions/fetchTransactions.js.map +1 -1
  56. package/dist/cjs/transactions/alphalend.d.ts +23 -0
  57. package/dist/cjs/transactions/alphalend.d.ts.map +1 -0
  58. package/dist/cjs/transactions/alphalend.js +637 -0
  59. package/dist/cjs/transactions/alphalend.js.map +1 -0
  60. package/dist/cjs/transactions/blueRewards.d.ts +4 -3
  61. package/dist/cjs/transactions/blueRewards.d.ts.map +1 -1
  62. package/dist/cjs/transactions/blueRewards.js +347 -55
  63. package/dist/cjs/transactions/blueRewards.js.map +1 -1
  64. package/dist/cjs/transactions/bluefin.d.ts +2 -1
  65. package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
  66. package/dist/cjs/transactions/bluefin.js +175 -40
  67. package/dist/cjs/transactions/bluefin.js.map +1 -1
  68. package/dist/cjs/transactions/collect_rewards.d.ts.map +1 -1
  69. package/dist/cjs/transactions/collect_rewards.js +21 -1
  70. package/dist/cjs/transactions/collect_rewards.js.map +1 -1
  71. package/dist/cjs/transactions/deposit.d.ts.map +1 -1
  72. package/dist/cjs/transactions/deposit.js +11 -0
  73. package/dist/cjs/transactions/deposit.js.map +1 -1
  74. package/dist/cjs/transactions/navi-looping.d.ts +3 -0
  75. package/dist/cjs/transactions/navi-looping.d.ts.map +1 -1
  76. package/dist/cjs/transactions/navi-looping.js +287 -54
  77. package/dist/cjs/transactions/navi-looping.js.map +1 -1
  78. package/dist/cjs/transactions/navi.d.ts.map +1 -1
  79. package/dist/cjs/transactions/navi.js +40 -34
  80. package/dist/cjs/transactions/navi.js.map +1 -1
  81. package/dist/cjs/transactions/types.d.ts +3 -0
  82. package/dist/cjs/transactions/types.d.ts.map +1 -1
  83. package/dist/cjs/transactions/types.js.map +1 -1
  84. package/dist/cjs/transactions/withdraw.d.ts.map +1 -1
  85. package/dist/cjs/transactions/withdraw.js +13 -0
  86. package/dist/cjs/transactions/withdraw.js.map +1 -1
  87. package/dist/cjs/utils/getReceipts.d.ts.map +1 -1
  88. package/dist/cjs/utils/getReceipts.js +2 -0
  89. package/dist/cjs/utils/getReceipts.js.map +1 -1
  90. package/dist/cjs/utils/prices.d.ts +3 -0
  91. package/dist/cjs/utils/prices.d.ts.map +1 -1
  92. package/dist/cjs/utils/prices.js +77 -36
  93. package/dist/cjs/utils/prices.js.map +1 -1
  94. package/dist/cjs/utils/userHoldings.d.ts.map +1 -1
  95. package/dist/cjs/utils/userHoldings.js +5 -3
  96. package/dist/cjs/utils/userHoldings.js.map +1 -1
  97. package/dist/cjs/vaultFunctions.d.ts.map +1 -1
  98. package/dist/cjs/vaultFunctions.js +1 -0
  99. package/dist/cjs/vaultFunctions.js.map +1 -1
  100. package/dist/esm/common/coins.d.ts.map +1 -1
  101. package/dist/esm/common/coins.js +30 -0
  102. package/dist/esm/common/coins.js.map +1 -1
  103. package/dist/esm/common/constants.d.ts +125 -24
  104. package/dist/esm/common/constants.d.ts.map +1 -1
  105. package/dist/esm/common/constants.js +171 -53
  106. package/dist/esm/common/constants.js.map +1 -1
  107. package/dist/esm/common/maps.d.ts +6 -0
  108. package/dist/esm/common/maps.d.ts.map +1 -1
  109. package/dist/esm/common/maps.js +114 -42
  110. package/dist/esm/common/maps.js.map +1 -1
  111. package/dist/esm/common/pyth.d.ts +1 -1
  112. package/dist/esm/common/pyth.d.ts.map +1 -1
  113. package/dist/esm/common/pyth.js.map +1 -1
  114. package/dist/esm/common/types.d.ts +6 -5
  115. package/dist/esm/common/types.d.ts.map +1 -1
  116. package/dist/esm/common/types.js.map +1 -1
  117. package/dist/esm/getAllVaults.d.ts.map +1 -1
  118. package/dist/esm/getAllVaults.js +2 -1
  119. package/dist/esm/getAllVaults.js.map +1 -1
  120. package/dist/esm/getAprs.d.ts.map +1 -1
  121. package/dist/esm/getAprs.js +22 -1
  122. package/dist/esm/getAprs.js.map +1 -1
  123. package/dist/esm/getTvls.d.ts.map +1 -1
  124. package/dist/esm/getTvls.js +12 -1
  125. package/dist/esm/getTvls.js.map +1 -1
  126. package/dist/esm/index.d.ts +4 -3
  127. package/dist/esm/index.d.ts.map +1 -1
  128. package/dist/esm/index.js +4 -3
  129. package/dist/esm/index.js.map +1 -1
  130. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
  131. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +25 -15
  132. package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
  133. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +1 -1
  134. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js +2 -1
  135. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js.map +1 -1
  136. package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -1
  137. package/dist/esm/sui-sdk/events/fetchEvents.js +9 -8
  138. package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -1
  139. package/dist/esm/sui-sdk/events/types.d.ts +4 -4
  140. package/dist/esm/sui-sdk/events/types.d.ts.map +1 -1
  141. package/dist/esm/sui-sdk/events/types.js.map +1 -1
  142. package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -1
  143. package/dist/esm/sui-sdk/functions/fetchUserVaults.js +2 -1
  144. package/dist/esm/sui-sdk/functions/fetchUserVaults.js.map +1 -1
  145. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  146. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +5 -4
  147. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  148. package/dist/esm/sui-sdk/functions/getReceipts.d.ts +3 -1
  149. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  150. package/dist/esm/sui-sdk/functions/getReceipts.js +15 -3
  151. package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
  152. package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -1
  153. package/dist/esm/sui-sdk/transactions/fetchTransactions.js +2 -42
  154. package/dist/esm/sui-sdk/transactions/fetchTransactions.js.map +1 -1
  155. package/dist/esm/transactions/alphalend.d.ts +23 -0
  156. package/dist/esm/transactions/alphalend.d.ts.map +1 -0
  157. package/dist/esm/transactions/alphalend.js +628 -0
  158. package/dist/esm/transactions/alphalend.js.map +1 -0
  159. package/dist/esm/transactions/blueRewards.d.ts +4 -3
  160. package/dist/esm/transactions/blueRewards.d.ts.map +1 -1
  161. package/dist/esm/transactions/blueRewards.js +346 -54
  162. package/dist/esm/transactions/blueRewards.js.map +1 -1
  163. package/dist/esm/transactions/bluefin.d.ts +2 -1
  164. package/dist/esm/transactions/bluefin.d.ts.map +1 -1
  165. package/dist/esm/transactions/bluefin.js +173 -39
  166. package/dist/esm/transactions/bluefin.js.map +1 -1
  167. package/dist/esm/transactions/collect_rewards.d.ts.map +1 -1
  168. package/dist/esm/transactions/collect_rewards.js +21 -1
  169. package/dist/esm/transactions/collect_rewards.js.map +1 -1
  170. package/dist/esm/transactions/deposit.d.ts.map +1 -1
  171. package/dist/esm/transactions/deposit.js +11 -0
  172. package/dist/esm/transactions/deposit.js.map +1 -1
  173. package/dist/esm/transactions/navi-looping.d.ts +3 -0
  174. package/dist/esm/transactions/navi-looping.d.ts.map +1 -1
  175. package/dist/esm/transactions/navi-looping.js +286 -54
  176. package/dist/esm/transactions/navi-looping.js.map +1 -1
  177. package/dist/esm/transactions/navi.d.ts.map +1 -1
  178. package/dist/esm/transactions/navi.js +40 -34
  179. package/dist/esm/transactions/navi.js.map +1 -1
  180. package/dist/esm/transactions/types.d.ts +3 -0
  181. package/dist/esm/transactions/types.d.ts.map +1 -1
  182. package/dist/esm/transactions/types.js.map +1 -1
  183. package/dist/esm/transactions/withdraw.d.ts.map +1 -1
  184. package/dist/esm/transactions/withdraw.js +13 -0
  185. package/dist/esm/transactions/withdraw.js.map +1 -1
  186. package/dist/esm/utils/getReceipts.d.ts.map +1 -1
  187. package/dist/esm/utils/getReceipts.js +2 -0
  188. package/dist/esm/utils/getReceipts.js.map +1 -1
  189. package/dist/esm/utils/prices.d.ts +3 -0
  190. package/dist/esm/utils/prices.d.ts.map +1 -1
  191. package/dist/esm/utils/prices.js +76 -36
  192. package/dist/esm/utils/prices.js.map +1 -1
  193. package/dist/esm/utils/userHoldings.d.ts.map +1 -1
  194. package/dist/esm/utils/userHoldings.js +5 -3
  195. package/dist/esm/utils/userHoldings.js.map +1 -1
  196. package/dist/esm/vaultFunctions.d.ts.map +1 -1
  197. package/dist/esm/vaultFunctions.js +1 -0
  198. package/dist/esm/vaultFunctions.js.map +1 -1
  199. package/docs/assets/navigation.js +1 -1
  200. package/docs/assets/search.js +1 -1
  201. package/docs/functions/alphaLpBreakdown.html +1 -1
  202. package/docs/functions/cetusLpBreakdown.html +1 -1
  203. package/docs/functions/claimRewardTxb.html +1 -1
  204. package/docs/functions/claimRewardsTxb.html +1 -0
  205. package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -1
  206. package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -1
  207. package/docs/functions/coinsInPool.html +1 -1
  208. package/docs/functions/collectRewards.html +1 -1
  209. package/docs/functions/deposit.html +1 -1
  210. package/docs/functions/depositDoubleAssetTxb.html +1 -1
  211. package/docs/functions/depositSingleAssetTxb.html +1 -1
  212. package/docs/functions/fetchAfterTransactionEvents.html +1 -1
  213. package/docs/functions/fetchAirdropClaimEvents.html +1 -1
  214. package/docs/functions/fetchAutoCompoundingEvents.html +1 -1
  215. package/docs/functions/fetchAutoCompoundingEventsGql.html +1 -1
  216. package/docs/functions/fetchCetusPools.html +1 -1
  217. package/docs/functions/fetchChainIdentifier.html +1 -1
  218. package/docs/functions/fetchCheckRatioEvents.html +1 -1
  219. package/docs/functions/fetchEvents.html +1 -1
  220. package/docs/functions/fetchLiquidityChangeEvents.html +1 -1
  221. package/docs/functions/fetchMultiCategoryEvents.html +1 -1
  222. package/docs/functions/fetchMultiReceipts.html +1 -1
  223. package/docs/functions/fetchNftHolders.html +1 -1
  224. package/docs/functions/fetchPools.html +1 -1
  225. package/docs/functions/fetchPortfolioData.html +1 -1
  226. package/docs/functions/fetchProtocolData.html +1 -1
  227. package/docs/functions/fetchRequiredPrices.html +1 -0
  228. package/docs/functions/fetchTVL.html +1 -1
  229. package/docs/functions/fetchTransactions.html +1 -1
  230. package/docs/functions/fetchUserVaultBalances.html +1 -1
  231. package/docs/functions/fetchUserVaults.html +1 -1
  232. package/docs/functions/fetchUserWalletData.html +1 -1
  233. package/docs/functions/fetchVoloExchangeRate.html +1 -1
  234. package/docs/functions/fetchWithdrawV2Events.html +1 -1
  235. package/docs/functions/getAirdropShare.html +1 -1
  236. package/docs/functions/getAllDoubleAssetVaults.html +1 -1
  237. package/docs/functions/getAllSingleAssetVaults.html +1 -1
  238. package/docs/functions/getAllVaultBalances.html +1 -1
  239. package/docs/functions/getAllVaults.html +1 -1
  240. package/docs/functions/getAlphaUnlocks.html +1 -1
  241. package/docs/functions/getAlphaVaultBalance.html +1 -1
  242. package/docs/functions/getAmounts.html +1 -1
  243. package/docs/functions/getApr.html +1 -1
  244. package/docs/functions/getAprs.html +1 -1
  245. package/docs/functions/getApy.html +1 -1
  246. package/docs/functions/getApys.html +1 -1
  247. package/docs/functions/getCetusInvestorTicksMap.html +1 -1
  248. package/docs/functions/getCetusPool.html +1 -1
  249. package/docs/functions/getCetusSqrtPriceMap.html +1 -1
  250. package/docs/functions/getCoinAmountsFromLiquidity.html +1 -1
  251. package/docs/functions/getConf.html +1 -1
  252. package/docs/functions/getCurrentTick.html +1 -1
  253. package/docs/functions/getDistributor.html +1 -1
  254. package/docs/functions/getDoubleAssetVaultBalance.html +1 -1
  255. package/docs/functions/getDoubleAssetVaults.html +1 -1
  256. package/docs/functions/getInvestor.html +1 -1
  257. package/docs/functions/getInvestorPoolMap.html +1 -1
  258. package/docs/functions/getLastAutoCompoundTime.html +1 -1
  259. package/docs/functions/getLatestPrices.html +1 -1
  260. package/docs/functions/getLiquidity.html +1 -1
  261. package/docs/functions/getMultiCetusPool.html +1 -1
  262. package/docs/functions/getMultiInvestor.html +1 -1
  263. package/docs/functions/getMultiLatestPrices.html +1 -1
  264. package/docs/functions/getMultiParentPool.html +1 -1
  265. package/docs/functions/getMultiPool.html +1 -1
  266. package/docs/functions/getMultiReceipts.html +1 -1
  267. package/docs/functions/getParentPool.html +1 -1
  268. package/docs/functions/getPool.html +1 -1
  269. package/docs/functions/getPoolExchangeRate.html +1 -1
  270. package/docs/functions/getPoolExchangeRateMap.html +1 -1
  271. package/docs/functions/getPoolsWeightDistribution.html +1 -1
  272. package/docs/functions/getPositionRange.html +1 -1
  273. package/docs/functions/getPositionRanges.html +1 -1
  274. package/docs/functions/getPositionTicks.html +1 -1
  275. package/docs/functions/getPriceToTick.html +1 -1
  276. package/docs/functions/getRebalanceHistories.html +1 -1
  277. package/docs/functions/getRebalanceHistory.html +1 -1
  278. package/docs/functions/getReceipts.html +1 -1
  279. package/docs/functions/getSingleAssetVaultBalance.html +1 -1
  280. package/docs/functions/getSingleAssetVaults.html +1 -1
  281. package/docs/functions/getSuiClient.html +2 -2
  282. package/docs/functions/getSuiNodeUrl.html +2 -2
  283. package/docs/functions/getTVLs-1.html +1 -1
  284. package/docs/functions/getTickSpacing.html +1 -1
  285. package/docs/functions/getTickToPrice.html +1 -1
  286. package/docs/functions/getTvls.html +1 -1
  287. package/docs/functions/getVaultBalance.html +1 -1
  288. package/docs/functions/getVaults.html +1 -1
  289. package/docs/functions/getZapAmounts.html +1 -1
  290. package/docs/functions/lastAutocompoundTime.html +1 -1
  291. package/docs/functions/liquidityToTokens.html +1 -1
  292. package/docs/functions/migrateBoostedToLoop.html +1 -0
  293. package/docs/functions/multiLiquidityToTokens.html +1 -1
  294. package/docs/functions/multiTokensToUsd.html +1 -1
  295. package/docs/functions/multiXTokensToLiquidity.html +1 -1
  296. package/docs/functions/parseUserWalletData.html +1 -1
  297. package/docs/functions/pendingRewardAmount.html +1 -0
  298. package/docs/functions/setCustomSuiClient.html +2 -2
  299. package/docs/functions/setSuiClient.html +2 -2
  300. package/docs/functions/setSuiNodeUrl.html +2 -2
  301. package/docs/functions/setWeights.html +1 -1
  302. package/docs/functions/withdraw.html +1 -1
  303. package/docs/functions/withdrawAlphaTxb.html +1 -1
  304. package/docs/functions/withdrawTxb.html +1 -1
  305. package/docs/functions/zapDepositTxb.html +1 -1
  306. package/docs/index.html +2 -2
  307. package/docs/interfaces/Coin.html +6 -6
  308. package/docs/interfaces/CoinPair.html +2 -2
  309. package/docs/interfaces/CommonEventAttributes.html +2 -2
  310. package/docs/interfaces/NaviVoloData.html +2 -2
  311. package/docs/interfaces/PoolData.html +2 -2
  312. package/docs/interfaces/PoolWeightDistribution.html +2 -2
  313. package/docs/interfaces/RebalanceHistoryType.html +2 -2
  314. package/docs/modules.html +9 -5
  315. package/docs/types/AfterTransactionEventNode.html +1 -1
  316. package/docs/types/AirdropClaimEventNode.html +1 -1
  317. package/docs/types/Allocator.html +1 -1
  318. package/docs/types/AlphaFiDoubleAssetVault.html +1 -1
  319. package/docs/types/AlphaFiMultiVaultBalance.html +1 -1
  320. package/docs/types/AlphaFiSingleAssetVault.html +1 -1
  321. package/docs/types/AlphaFiVault.html +1 -1
  322. package/docs/types/AlphaFiVaultBalance.html +1 -1
  323. package/docs/types/AlphaLendInvestor.html +1 -0
  324. package/docs/types/AlphaPoolType.html +1 -1
  325. package/docs/types/AlphaReceipt.html +1 -1
  326. package/docs/types/AlphaReceiptFields.html +1 -1
  327. package/docs/types/AlphaVaultBalance.html +1 -1
  328. package/docs/types/AutoBalancePoolNames.html +1 -1
  329. package/docs/types/AutoCompoundingEventNode.html +1 -1
  330. package/docs/types/BluefinInvestor.html +1 -1
  331. package/docs/types/BluefinPoolType.html +1 -1
  332. package/docs/types/BucketInvestor.html +1 -1
  333. package/docs/types/CetusInvestor.html +1 -1
  334. package/docs/types/CetusPoolType.html +1 -1
  335. package/docs/types/CetusSwapOptions.html +1 -1
  336. package/docs/types/CoinAmounts.html +1 -1
  337. package/docs/types/CoinName.html +1 -1
  338. package/docs/types/CoinType.html +1 -1
  339. package/docs/types/CommonInvestorFields.html +1 -1
  340. package/docs/types/CreatePoolOptions.html +1 -1
  341. package/docs/types/Distributor.html +1 -1
  342. package/docs/types/DoubleAssetMultiVaultBalance.html +1 -1
  343. package/docs/types/DoubleAssetPoolNames.html +1 -1
  344. package/docs/types/DoubleAssetTokenHoldings.html +1 -1
  345. package/docs/types/DoubleAssetVaultBalance.html +1 -1
  346. package/docs/types/EventCategory.html +1 -1
  347. package/docs/types/EventNode.html +1 -1
  348. package/docs/types/GetHoldersParams.html +1 -1
  349. package/docs/types/GetTokenHoldingsParams.html +1 -1
  350. package/docs/types/GetUserTokensFromTransactionsParams.html +1 -1
  351. package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +1 -1
  352. package/docs/types/GetVaultBalanceParams.html +1 -1
  353. package/docs/types/HoldingsObj.html +1 -1
  354. package/docs/types/Icon.html +1 -1
  355. package/docs/types/Investor.html +1 -1
  356. package/docs/types/LiquidityChangeEventNode.html +1 -1
  357. package/docs/types/LiquidityToTokensParams.html +1 -1
  358. package/docs/types/LiquidityToUsdParams.html +1 -1
  359. package/docs/types/LoopingDebt.html +1 -1
  360. package/docs/types/LoopingPoolNames.html +1 -1
  361. package/docs/types/LpBreakdownType.html +1 -1
  362. package/docs/types/MemberPoolDataType.html +1 -1
  363. package/docs/types/MemberType.html +1 -1
  364. package/docs/types/MultiGetVaultBalancesParams.html +1 -1
  365. package/docs/types/NaviInvestor.html +1 -1
  366. package/docs/types/OtherReceiptFields.html +1 -1
  367. package/docs/types/PoolName.html +1 -1
  368. package/docs/types/PoolReceipt.html +1 -1
  369. package/docs/types/PoolType.html +1 -1
  370. package/docs/types/Receipt.html +1 -1
  371. package/docs/types/ReceiptGQL.html +1 -1
  372. package/docs/types/SingleAssetMultiVaultBalance.html +1 -1
  373. package/docs/types/SingleAssetPoolNames.html +1 -1
  374. package/docs/types/SingleAssetTokenHoldings.html +1 -1
  375. package/docs/types/SingleAssetVaultBalance.html +1 -1
  376. package/docs/types/SingleGetVaultBalancesParams.html +1 -1
  377. package/docs/types/StrategyType.html +1 -1
  378. package/docs/types/SuiNetwork.html +1 -1
  379. package/docs/types/SwapOptions.html +1 -1
  380. package/docs/types/TickSpacing.html +1 -1
  381. package/docs/types/TotalWeightType.html +1 -1
  382. package/docs/types/TransactionBlockType.html +1 -1
  383. package/docs/types/UserPoolLiquidity.html +1 -1
  384. package/docs/types/UserPoolTokenHoldings.html +1 -1
  385. package/docs/types/UserUsdHoldings.html +1 -1
  386. package/docs/types/VaultBalance.html +1 -1
  387. package/docs/types/VoteCastEvent.html +1 -1
  388. package/docs/types/WithdrawV2EventNode.html +1 -1
  389. package/docs/variables/alphalendMarketIdMap.html +1 -0
  390. package/docs/variables/bluefinPoolMap.html +1 -1
  391. package/docs/variables/cetusPoolMap.html +1 -1
  392. package/docs/variables/coinsList.html +1 -1
  393. package/docs/variables/defunctPoolsSet.html +1 -1
  394. package/docs/variables/doubleAssetPoolCoinMap.html +1 -1
  395. package/docs/variables/eventCategories.html +1 -1
  396. package/docs/variables/ignoredWalletsForDailyRevenue.html +1 -1
  397. package/docs/variables/loopingAccountAddresses.html +1 -1
  398. package/docs/variables/loopingPoolCoinMap.html +1 -1
  399. package/docs/variables/naviAssetMap.html +1 -1
  400. package/docs/variables/poolIdPoolNameMap.html +1 -1
  401. package/docs/variables/poolInfo.html +1 -1
  402. package/docs/variables/singleAssetPoolCoinMap.html +1 -1
  403. package/docs/variables/stableCoins.html +1 -1
  404. package/package.json +3 -2
  405. package/#t.ts# +0 -8
  406. package/dist/cjs/collectReward.d.ts +0 -2
  407. package/dist/cjs/collectReward.d.ts.map +0 -1
  408. package/dist/cjs/collectReward.js +0 -7
  409. package/dist/cjs/collectReward.js.map +0 -1
  410. package/dist/cjs/getHoldersFromTransactions.d.ts +0 -9
  411. package/dist/cjs/getHoldersFromTransactions.d.ts.map +0 -1
  412. package/dist/cjs/getHoldersFromTransactions.js +0 -87
  413. package/dist/cjs/getHoldersFromTransactions.js.map +0 -1
  414. package/dist/cjs/getTVL.d.ts +0 -5
  415. package/dist/cjs/getTVL.d.ts.map +0 -1
  416. package/dist/cjs/getTVL.js +0 -109
  417. package/dist/cjs/getTVL.js.map +0 -1
  418. package/dist/cjs/transactions/deposit1.d.ts +0 -1
  419. package/dist/cjs/transactions/deposit1.d.ts.map +0 -1
  420. package/dist/cjs/transactions/deposit1.js +0 -86
  421. package/dist/cjs/transactions/deposit1.js.map +0 -1
  422. package/dist/cjs/utils/getHoldersFromTransactionsUtils.d.ts +0 -6
  423. package/dist/cjs/utils/getHoldersFromTransactionsUtils.d.ts.map +0 -1
  424. package/dist/cjs/utils/getHoldersFromTransactionsUtils.js +0 -132
  425. package/dist/cjs/utils/getHoldersFromTransactionsUtils.js.map +0 -1
  426. package/dist/esm/collectReward.d.ts +0 -2
  427. package/dist/esm/collectReward.d.ts.map +0 -1
  428. package/dist/esm/collectReward.js +0 -4
  429. package/dist/esm/collectReward.js.map +0 -1
  430. package/dist/esm/getHoldersFromTransactions.d.ts +0 -9
  431. package/dist/esm/getHoldersFromTransactions.d.ts.map +0 -1
  432. package/dist/esm/getHoldersFromTransactions.js +0 -82
  433. package/dist/esm/getHoldersFromTransactions.js.map +0 -1
  434. package/dist/esm/getTVL.d.ts +0 -5
  435. package/dist/esm/getTVL.d.ts.map +0 -1
  436. package/dist/esm/getTVL.js +0 -103
  437. package/dist/esm/getTVL.js.map +0 -1
  438. package/dist/esm/transactions/deposit1.d.ts +0 -2
  439. package/dist/esm/transactions/deposit1.d.ts.map +0 -1
  440. package/dist/esm/transactions/deposit1.js +0 -86
  441. package/dist/esm/transactions/deposit1.js.map +0 -1
  442. package/dist/esm/utils/getHoldersFromTransactionsUtils.d.ts +0 -6
  443. package/dist/esm/utils/getHoldersFromTransactionsUtils.d.ts.map +0 -1
  444. package/dist/esm/utils/getHoldersFromTransactionsUtils.js +0 -127
  445. package/dist/esm/utils/getHoldersFromTransactionsUtils.js.map +0 -1
  446. package/docs/functions/claimBlueRewardTxb.html +0 -1
  447. package/docs/functions/pendingBlueRewardAmount.html +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"getTvls.js","sourceRoot":"","sources":["../../src/getTvls.ts"],"names":[],"mappings":"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","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport {\n CetusInvestor,\n NaviInvestor,\n CommonInvestorFields,\n CetusPoolType,\n PoolName,\n BluefinInvestor,\n getPool,\n poolInfo,\n singleAssetPoolCoinMap,\n BluefinPoolType,\n coinsList,\n doubleAssetPoolCoinMap,\n} from \"./index.js\";\nimport {\n getDistributor,\n getInvestor,\n getMultiInvestor,\n getMultiParentPool,\n getParentPool,\n} from \"./sui-sdk/functions/getReceipts.js\";\nimport { getLatestPrices, getMultiLatestPrices } from \"./utils/prices.js\";\nimport { PythPriceIdPair } from \"./common/pyth.js\";\nimport BN from \"bn.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\n\nexport async function getTvls(\n poolNames: PoolName[],\n): Promise<Map<PoolName, string>> {\n const tvlMap = new Map<PoolName, string>();\n await getMultiInvestor();\n await getMultiLatestPrices();\n await getMultiParentPool();\n // Use Promise.all to handle multiple promises in parallel\n await Promise.all(\n poolNames.map(async (poolName) => {\n const tvl = await fetchTVL(poolName, false);\n tvlMap.set(poolName, tvl);\n }),\n );\n return tvlMap;\n}\n\nexport async function getTVLs(): Promise<Map<PoolName, string>> {\n const tvlMap = new Map<PoolName, string>();\n await getMultiInvestor();\n await getMultiLatestPrices();\n await getMultiParentPool();\n // await getMultiPool();\n const pools = Object.keys(poolInfo);\n for (const key of pools) {\n const tvl = await fetchTVL(key as PoolName, false);\n tvlMap.set(key as PoolName, tvl);\n }\n return tvlMap;\n}\n\nexport async function fetchTVL(\n poolName: PoolName,\n ignoreCache: boolean,\n): Promise<string> {\n const pool = await getPool(poolName, ignoreCache);\n\n if (poolInfo[poolName].parentProtocolName == \"NAVI\") {\n const poolToken = singleAssetPoolCoinMap[poolName].coin;\n const [priceOfCoin] = await getLatestPrices(\n [`${poolToken}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n let tvl = new Decimal(0);\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as NaviInvestor & CommonInvestorFields;\n const liquidity = new Decimal(investor.content.fields.tokensDeposited);\n const debtToSupplyRatio = new Decimal(\n investor.content.fields.current_debt_to_supply_ratio,\n );\n const tokensInvested = liquidity.mul(\n new Decimal(1).minus(debtToSupplyRatio.div(new Decimal(1e20))),\n );\n if (poolName == \"NAVI-LOOP-SUI-VSUI\") {\n const [vsuiPrice] = await getLatestPrices(\n [`VSUI/USD` as PythPriceIdPair],\n ignoreCache,\n );\n if (vsuiPrice) {\n tvl = new Decimal(tokensInvested).mul(vsuiPrice).div(1e9);\n }\n } else {\n tvl = tokensInvested.div(1e9).mul(priceOfCoin);\n }\n } else {\n const liquidity = new Decimal(pool.content.fields.tokensInvested);\n const tokensInvested = liquidity.div(new Decimal(Math.pow(10, 9)));\n tvl = tokensInvested.mul(priceOfCoin);\n }\n\n return tvl.toString();\n } else if (poolInfo[poolName].parentProtocolName == \"BUCKET\") {\n const poolToken = singleAssetPoolCoinMap[poolName].coin;\n const [priceOfCoin] = await getLatestPrices(\n [`${poolToken}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n const liquidity = new Decimal(pool.content.fields.tokensInvested);\n const tokensInvested = liquidity.div(\n new Decimal(\n Math.pow(10, coinsList[singleAssetPoolCoinMap[poolName].coin].expo),\n ),\n );\n const tvl = tokensInvested.mul(priceOfCoin);\n\n return tvl.toString();\n } else if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n const distributor = await getDistributor(ignoreCache);\n const [priceOfAlpha] = await getLatestPrices([\"ALPHA/USD\"], ignoreCache);\n if (pool && distributor && priceOfAlpha) {\n const tokensInvested = new Decimal(pool.content.fields.tokensInvested);\n const tvl = tokensInvested.div(1e9).mul(new Decimal(priceOfAlpha));\n\n return tvl.toString();\n }\n } else if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const cetus_pool = (await getParentPool(\n poolName,\n ignoreCache,\n )) as CetusPoolType;\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as CetusInvestor & CommonInvestorFields;\n\n return await fetchAlphafiV3PoolTVL(\n poolName,\n cetus_pool,\n investor,\n ignoreCache,\n );\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const bluefin_pool = (await getParentPool(\n poolName,\n ignoreCache,\n )) as BluefinPoolType;\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as BluefinInvestor & CommonInvestorFields;\n\n return await fetchAlphafiV3PoolTVL(\n poolName,\n bluefin_pool,\n investor,\n ignoreCache,\n );\n }\n return \"0\";\n}\n\nexport async function fetchAlphafiV3PoolTVL(\n poolName: PoolName,\n clmmPool: CetusPoolType | BluefinPoolType,\n investor: (CetusInvestor | BluefinInvestor) & CommonInvestorFields,\n ignoreCache: boolean,\n): Promise<string> {\n const pool = await getPool(poolName, ignoreCache);\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const [priceOfCoin0, priceOfCoin1] = await getLatestPrices(\n [`${pool1}/USD` as PythPriceIdPair, `${pool2}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n\n const liquidity = new BN(pool.content.fields.tokensInvested);\n const current_sqrt_price = new BN(clmmPool.content.fields.current_sqrt_price);\n let upper_tick = parseInt(investor.content.fields.upper_tick);\n let lower_tick = parseInt(investor.content.fields.lower_tick);\n if (Math.abs(lower_tick - Math.pow(2, 32)) < lower_tick) {\n lower_tick = lower_tick - Math.pow(2, 32);\n }\n if (Math.abs(upper_tick - Math.pow(2, 32)) < upper_tick) {\n upper_tick = upper_tick - Math.pow(2, 32);\n }\n const upper_sqrt_price = TickMath.tickIndexToSqrtPriceX64(upper_tick);\n const lower_sqrt_price = TickMath.tickIndexToSqrtPriceX64(lower_tick);\n const { coinA, coinB } = ClmmPoolUtil.getCoinAmountFromLiquidity(\n liquidity,\n current_sqrt_price,\n lower_sqrt_price,\n upper_sqrt_price,\n false,\n );\n let amount0 = new Decimal(coinA.toString());\n let amount1 = new Decimal(coinB.toString());\n\n const ten = new Decimal(10);\n amount0 = amount0.div(ten.pow(coinsList[pool1].expo));\n amount1 = amount1.div(ten.pow(coinsList[pool2].expo));\n\n const tvl = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));\n\n return tvl.toString();\n}\n"]}
1
+ {"version":3,"file":"getTvls.js","sourceRoot":"","sources":["../../src/getTvls.ts"],"names":[],"mappings":"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","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport {\n CetusInvestor,\n NaviInvestor,\n CommonInvestorFields,\n CetusPoolType,\n PoolName,\n BluefinInvestor,\n getPool,\n poolInfo,\n singleAssetPoolCoinMap,\n BluefinPoolType,\n coinsList,\n doubleAssetPoolCoinMap,\n AlphaLendInvestor,\n coinsInPool,\n SingleAssetPoolNames,\n} from \"./index.js\";\nimport {\n getDistributor,\n getInvestor,\n getMultiInvestor,\n getMultiParentPool,\n getParentPool,\n} from \"./sui-sdk/functions/getReceipts.js\";\nimport { getLatestPrices, getMultiLatestPrices } from \"./utils/prices.js\";\nimport { PythPriceIdPair } from \"./common/pyth.js\";\nimport BN from \"bn.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\n\nexport async function getTvls(\n poolNames: PoolName[],\n): Promise<Map<PoolName, string>> {\n const tvlMap = new Map<PoolName, string>();\n await getMultiInvestor();\n await getMultiLatestPrices();\n await getMultiParentPool();\n // Use Promise.all to handle multiple promises in parallel\n await Promise.all(\n poolNames.map(async (poolName) => {\n const tvl = await fetchTVL(poolName, false);\n tvlMap.set(poolName, tvl);\n }),\n );\n return tvlMap;\n}\n\nexport async function getTVLs(): Promise<Map<PoolName, string>> {\n const tvlMap = new Map<PoolName, string>();\n await getMultiInvestor();\n await getMultiLatestPrices();\n await getMultiParentPool();\n // await getMultiPool();\n const pools = Object.keys(poolInfo);\n for (const key of pools) {\n const tvl = await fetchTVL(key as PoolName, false);\n tvlMap.set(key as PoolName, tvl);\n }\n return tvlMap;\n}\n\nexport async function fetchTVL(\n poolName: PoolName,\n ignoreCache: boolean,\n): Promise<string> {\n const pool = await getPool(poolName, ignoreCache);\n\n if (poolInfo[poolName].parentProtocolName == \"NAVI\") {\n const poolToken = singleAssetPoolCoinMap[poolName].coin;\n const [priceOfCoin] = await getLatestPrices(\n [`${poolToken}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n let tvl = new Decimal(0);\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as NaviInvestor & CommonInvestorFields;\n const liquidity = new Decimal(investor.content.fields.tokensDeposited);\n const debtToSupplyRatio = new Decimal(\n investor.content.fields.current_debt_to_supply_ratio,\n );\n const tokensInvested = liquidity.mul(\n new Decimal(1).minus(debtToSupplyRatio.div(new Decimal(1e20))),\n );\n if (poolName == \"NAVI-LOOP-SUI-VSUI\") {\n const [vsuiPrice] = await getLatestPrices(\n [`VSUI/USD` as PythPriceIdPair],\n ignoreCache,\n );\n if (vsuiPrice) {\n tvl = new Decimal(tokensInvested).mul(vsuiPrice).div(1e9);\n }\n } else {\n tvl = tokensInvested.div(1e9).mul(priceOfCoin);\n }\n } else {\n const liquidity = new Decimal(pool.content.fields.tokensInvested);\n const tokensInvested = liquidity.div(new Decimal(Math.pow(10, 9)));\n tvl = tokensInvested.mul(priceOfCoin);\n }\n\n return tvl.toString();\n } else if (poolInfo[poolName].parentProtocolName == \"BUCKET\") {\n const poolToken = singleAssetPoolCoinMap[poolName].coin;\n const [priceOfCoin] = await getLatestPrices(\n [`${poolToken}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n const liquidity = new Decimal(pool.content.fields.tokensInvested);\n const tokensInvested = liquidity.div(\n new Decimal(\n Math.pow(10, coinsList[singleAssetPoolCoinMap[poolName].coin].expo),\n ),\n );\n const tvl = tokensInvested.mul(priceOfCoin);\n\n return tvl.toString();\n } else if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n const distributor = await getDistributor(ignoreCache);\n const [priceOfAlpha] = await getLatestPrices([\"ALPHA/USD\"], ignoreCache);\n if (pool && distributor && priceOfAlpha) {\n const tokensInvested = new Decimal(pool.content.fields.tokensInvested);\n const tvl = tokensInvested.div(1e9).mul(new Decimal(priceOfAlpha));\n\n return tvl.toString();\n }\n } else if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const cetus_pool = (await getParentPool(\n poolName,\n ignoreCache,\n )) as CetusPoolType;\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as CetusInvestor & CommonInvestorFields;\n\n return await fetchAlphafiV3PoolTVL(\n poolName,\n cetus_pool,\n investor,\n ignoreCache,\n );\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const bluefin_pool = (await getParentPool(\n poolName,\n ignoreCache,\n )) as BluefinPoolType;\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as BluefinInvestor & CommonInvestorFields;\n\n return await fetchAlphafiV3PoolTVL(\n poolName,\n bluefin_pool,\n investor,\n ignoreCache,\n );\n } else if (poolInfo[poolName].parentProtocolName === \"ALPHALEND\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n const poolToken = coinsInPool(poolName as SingleAssetPoolNames);\n const [priceOfCoin] = await getLatestPrices(\n [`${poolToken}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n const investor = (await getInvestor(\n poolName,\n ignoreCache,\n )) as AlphaLendInvestor & CommonInvestorFields;\n const liquidity = new Decimal(investor.content.fields.tokensDeposited);\n const debtToSupplyRatio = new Decimal(\n investor.content.fields.current_debt_to_supply_ratio,\n );\n const tokensInvested = liquidity.mul(\n new Decimal(1).minus(debtToSupplyRatio.div(new Decimal(1e20))),\n );\n return tokensInvested.div(1e9).mul(priceOfCoin).toString();\n }\n }\n return \"0\";\n}\n\nexport async function fetchAlphafiV3PoolTVL(\n poolName: PoolName,\n clmmPool: CetusPoolType | BluefinPoolType,\n investor: (CetusInvestor | BluefinInvestor) & CommonInvestorFields,\n ignoreCache: boolean,\n): Promise<string> {\n const pool = await getPool(poolName, ignoreCache);\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const [priceOfCoin0, priceOfCoin1] = await getLatestPrices(\n [`${pool1}/USD` as PythPriceIdPair, `${pool2}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n\n const liquidity = new BN(pool.content.fields.tokensInvested);\n const current_sqrt_price = new BN(clmmPool.content.fields.current_sqrt_price);\n let upper_tick = parseInt(investor.content.fields.upper_tick);\n let lower_tick = parseInt(investor.content.fields.lower_tick);\n if (Math.abs(lower_tick - Math.pow(2, 32)) < lower_tick) {\n lower_tick = lower_tick - Math.pow(2, 32);\n }\n if (Math.abs(upper_tick - Math.pow(2, 32)) < upper_tick) {\n upper_tick = upper_tick - Math.pow(2, 32);\n }\n const upper_sqrt_price = TickMath.tickIndexToSqrtPriceX64(upper_tick);\n const lower_sqrt_price = TickMath.tickIndexToSqrtPriceX64(lower_tick);\n const { coinA, coinB } = ClmmPoolUtil.getCoinAmountFromLiquidity(\n liquidity,\n current_sqrt_price,\n lower_sqrt_price,\n upper_sqrt_price,\n false,\n );\n let amount0 = new Decimal(coinA.toString());\n let amount1 = new Decimal(coinB.toString());\n\n const ten = new Decimal(10);\n amount0 = amount0.div(ten.pow(coinsList[pool1].expo));\n amount1 = amount1.div(ten.pow(coinsList[pool2].expo));\n\n const tvl = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));\n\n return tvl.toString();\n}\n"]}
@@ -2,10 +2,11 @@ export { setSuiNodeUrl, setSuiClient, setCustomSuiClient, getSuiNodeUrl, getSuiC
2
2
  export { getVaults, getSingleAssetVaults, getDoubleAssetVaults, } from "./getVaults.js";
3
3
  export { getVaultBalance, getAlphaVaultBalance, getSingleAssetVaultBalance, getDoubleAssetVaultBalance, getAllVaultBalances, } from "./getVaultBalances.js";
4
4
  export { depositDoubleAssetTxb, depositSingleAssetTxb, getAmounts, getCoinAmountsFromLiquidity, getLiquidity, } from "./transactions/deposit.js";
5
+ export { migrateBoostedToLoop } from "./transactions/navi-looping.js";
5
6
  export { withdrawTxb, coinAmountToXTokensDoubleAsset, coinAmountToXTokensSingleAsset, } from "./transactions/withdraw.js";
6
7
  export { withdrawAlphaTxb } from "./transactions/alpha.js";
7
8
  export { claimRewardTxb } from "./transactions/collect_rewards.js";
8
- export { claimBlueRewardTxb, pendingBlueRewardAmount, } from "./transactions/blueRewards.js";
9
+ export { claimRewardsTxb, pendingRewardAmount, } from "./transactions/blueRewards.js";
9
10
  export { zapDepositTxb, getZapAmounts } from "./transactions/zapDeposit.js";
10
11
  export { getAllVaults, getAllDoubleAssetVaults, getAllSingleAssetVaults, } from "./getAllVaults.js";
11
12
  export { getAirdropShare } from "./getAirdropShare.js";
@@ -21,9 +22,9 @@ export * from "./graphql/executeMutations.js";
21
22
  export * from "./graphql/getMultiReceipts.js";
22
23
  export { getReceipts, getPool, getParentPool, getInvestor, getMultiInvestor, getMultiParentPool, getMultiPool, getMultiReceipts, getCetusPool, getDistributor, getMultiCetusPool, getPoolExchangeRate, fetchVoloExchangeRate, } from "./sui-sdk/functions/getReceipts.js";
23
24
  export { getPositionRange, getPositionRanges, } from "./sui-sdk/functions/getPositionRange.js";
24
- export { getMultiLatestPrices, getLatestPrices } from "./utils/prices.js";
25
+ export { getMultiLatestPrices, getLatestPrices, fetchRequiredPrices, } from "./utils/prices.js";
25
26
  export { liquidityToTokens, multiTokensToUsd, multiXTokensToLiquidity, multiLiquidityToTokens, } from "./utils/userHoldings.js";
26
- export { poolInfo, getCetusSqrtPriceMap, getCetusInvestorTicksMap, getInvestorPoolMap, getPoolExchangeRateMap, defunctPoolsSet, poolIdPoolNameMap, coinsInPool, stableCoins, cetusPoolMap, bluefinPoolMap, loopingAccountAddresses, doubleAssetPoolCoinMap, singleAssetPoolCoinMap, loopingPoolCoinMap, naviAssetMap, ignoredWalletsForDailyRevenue, } from "./common/maps.js";
27
+ export { poolInfo, getCetusSqrtPriceMap, getCetusInvestorTicksMap, getInvestorPoolMap, getPoolExchangeRateMap, defunctPoolsSet, poolIdPoolNameMap, coinsInPool, stableCoins, cetusPoolMap, bluefinPoolMap, loopingAccountAddresses, doubleAssetPoolCoinMap, singleAssetPoolCoinMap, loopingPoolCoinMap, naviAssetMap, ignoredWalletsForDailyRevenue, alphalendMarketIdMap, } from "./common/maps.js";
27
28
  export { getConf } from "./common/constants.js";
28
29
  export { coinsList } from "./common/coins.js";
29
30
  export { getAlphaUnlocks } from "./getAlphaUnlocks.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMultiParentPool = exports.getMultiInvestor = exports.getInvestor = exports.getParentPool = exports.getPool = exports.getReceipts = exports.getLastAutoCompoundTime = exports.fetchTVL = exports.getTvls = exports.getTVLs = exports.getRebalanceHistories = exports.getRebalanceHistory = exports.getApys = exports.getApy = exports.getAprs = exports.getApr = exports.lastAutocompoundTime = exports.cetusLpBreakdown = exports.alphaLpBreakdown = exports.getAirdropShare = exports.getAllSingleAssetVaults = exports.getAllDoubleAssetVaults = exports.getAllVaults = exports.getZapAmounts = exports.zapDepositTxb = exports.pendingBlueRewardAmount = exports.claimBlueRewardTxb = exports.claimRewardTxb = exports.withdrawAlphaTxb = exports.coinAmountToXTokensSingleAsset = exports.coinAmountToXTokensDoubleAsset = exports.withdrawTxb = exports.getLiquidity = exports.getCoinAmountsFromLiquidity = exports.getAmounts = exports.depositSingleAssetTxb = exports.depositDoubleAssetTxb = exports.getAllVaultBalances = exports.getDoubleAssetVaultBalance = exports.getSingleAssetVaultBalance = exports.getAlphaVaultBalance = exports.getVaultBalance = exports.getDoubleAssetVaults = exports.getSingleAssetVaults = exports.getVaults = exports.getSuiClient = exports.getSuiNodeUrl = exports.setCustomSuiClient = exports.setSuiClient = exports.setSuiNodeUrl = void 0;
4
- exports.fetchTransactions = exports.eventCategories = exports.fetchAirdropClaimEvents = exports.fetchEvents = exports.fetchMultiCategoryEvents = exports.fetchCheckRatioEvents = exports.fetchAfterTransactionEvents = exports.fetchWithdrawV2Events = exports.fetchAutoCompoundingEvents = exports.fetchLiquidityChangeEvents = exports.getAlphaUnlocks = exports.coinsList = exports.getConf = exports.ignoredWalletsForDailyRevenue = exports.naviAssetMap = exports.loopingPoolCoinMap = exports.singleAssetPoolCoinMap = exports.doubleAssetPoolCoinMap = exports.loopingAccountAddresses = exports.bluefinPoolMap = exports.cetusPoolMap = exports.stableCoins = exports.coinsInPool = exports.poolIdPoolNameMap = exports.defunctPoolsSet = exports.getPoolExchangeRateMap = exports.getInvestorPoolMap = exports.getCetusInvestorTicksMap = exports.getCetusSqrtPriceMap = exports.poolInfo = exports.multiLiquidityToTokens = exports.multiXTokensToLiquidity = exports.multiTokensToUsd = exports.liquidityToTokens = exports.getLatestPrices = exports.getMultiLatestPrices = exports.getPositionRanges = exports.getPositionRange = exports.fetchVoloExchangeRate = exports.getPoolExchangeRate = exports.getMultiCetusPool = exports.getDistributor = exports.getCetusPool = exports.getMultiReceipts = exports.getMultiPool = void 0;
3
+ exports.getMultiInvestor = exports.getInvestor = exports.getParentPool = exports.getPool = exports.getReceipts = exports.getLastAutoCompoundTime = exports.fetchTVL = exports.getTvls = exports.getTVLs = exports.getRebalanceHistories = exports.getRebalanceHistory = exports.getApys = exports.getApy = exports.getAprs = exports.getApr = exports.lastAutocompoundTime = exports.cetusLpBreakdown = exports.alphaLpBreakdown = exports.getAirdropShare = exports.getAllSingleAssetVaults = exports.getAllDoubleAssetVaults = exports.getAllVaults = exports.getZapAmounts = exports.zapDepositTxb = exports.pendingRewardAmount = exports.claimRewardsTxb = exports.claimRewardTxb = exports.withdrawAlphaTxb = exports.coinAmountToXTokensSingleAsset = exports.coinAmountToXTokensDoubleAsset = exports.withdrawTxb = exports.migrateBoostedToLoop = exports.getLiquidity = exports.getCoinAmountsFromLiquidity = exports.getAmounts = exports.depositSingleAssetTxb = exports.depositDoubleAssetTxb = exports.getAllVaultBalances = exports.getDoubleAssetVaultBalance = exports.getSingleAssetVaultBalance = exports.getAlphaVaultBalance = exports.getVaultBalance = exports.getDoubleAssetVaults = exports.getSingleAssetVaults = exports.getVaults = exports.getSuiClient = exports.getSuiNodeUrl = exports.setCustomSuiClient = exports.setSuiClient = exports.setSuiNodeUrl = void 0;
4
+ exports.fetchTransactions = exports.eventCategories = exports.fetchAirdropClaimEvents = exports.fetchEvents = exports.fetchMultiCategoryEvents = exports.fetchCheckRatioEvents = exports.fetchAfterTransactionEvents = exports.fetchWithdrawV2Events = exports.fetchAutoCompoundingEvents = exports.fetchLiquidityChangeEvents = exports.getAlphaUnlocks = exports.coinsList = exports.getConf = exports.alphalendMarketIdMap = exports.ignoredWalletsForDailyRevenue = exports.naviAssetMap = exports.loopingPoolCoinMap = exports.singleAssetPoolCoinMap = exports.doubleAssetPoolCoinMap = exports.loopingAccountAddresses = exports.bluefinPoolMap = exports.cetusPoolMap = exports.stableCoins = exports.coinsInPool = exports.poolIdPoolNameMap = exports.defunctPoolsSet = exports.getPoolExchangeRateMap = exports.getInvestorPoolMap = exports.getCetusInvestorTicksMap = exports.getCetusSqrtPriceMap = exports.poolInfo = exports.multiLiquidityToTokens = exports.multiXTokensToLiquidity = exports.multiTokensToUsd = exports.liquidityToTokens = exports.fetchRequiredPrices = exports.getLatestPrices = exports.getMultiLatestPrices = exports.getPositionRanges = exports.getPositionRange = exports.fetchVoloExchangeRate = exports.getPoolExchangeRate = exports.getMultiCetusPool = exports.getDistributor = exports.getCetusPool = exports.getMultiReceipts = exports.getMultiPool = exports.getMultiParentPool = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  var client_js_1 = require("./sui-sdk/client.js");
7
7
  Object.defineProperty(exports, "setSuiNodeUrl", { enumerable: true, get: function () { return client_js_1.setSuiNodeUrl; } });
@@ -26,6 +26,8 @@ Object.defineProperty(exports, "depositSingleAssetTxb", { enumerable: true, get:
26
26
  Object.defineProperty(exports, "getAmounts", { enumerable: true, get: function () { return deposit_js_1.getAmounts; } });
27
27
  Object.defineProperty(exports, "getCoinAmountsFromLiquidity", { enumerable: true, get: function () { return deposit_js_1.getCoinAmountsFromLiquidity; } });
28
28
  Object.defineProperty(exports, "getLiquidity", { enumerable: true, get: function () { return deposit_js_1.getLiquidity; } });
29
+ var navi_looping_js_1 = require("./transactions/navi-looping.js");
30
+ Object.defineProperty(exports, "migrateBoostedToLoop", { enumerable: true, get: function () { return navi_looping_js_1.migrateBoostedToLoop; } });
29
31
  var withdraw_js_1 = require("./transactions/withdraw.js");
30
32
  Object.defineProperty(exports, "withdrawTxb", { enumerable: true, get: function () { return withdraw_js_1.withdrawTxb; } });
31
33
  Object.defineProperty(exports, "coinAmountToXTokensDoubleAsset", { enumerable: true, get: function () { return withdraw_js_1.coinAmountToXTokensDoubleAsset; } });
@@ -35,8 +37,8 @@ Object.defineProperty(exports, "withdrawAlphaTxb", { enumerable: true, get: func
35
37
  var collect_rewards_js_1 = require("./transactions/collect_rewards.js");
36
38
  Object.defineProperty(exports, "claimRewardTxb", { enumerable: true, get: function () { return collect_rewards_js_1.claimRewardTxb; } });
37
39
  var blueRewards_js_1 = require("./transactions/blueRewards.js");
38
- Object.defineProperty(exports, "claimBlueRewardTxb", { enumerable: true, get: function () { return blueRewards_js_1.claimBlueRewardTxb; } });
39
- Object.defineProperty(exports, "pendingBlueRewardAmount", { enumerable: true, get: function () { return blueRewards_js_1.pendingBlueRewardAmount; } });
40
+ Object.defineProperty(exports, "claimRewardsTxb", { enumerable: true, get: function () { return blueRewards_js_1.claimRewardsTxb; } });
41
+ Object.defineProperty(exports, "pendingRewardAmount", { enumerable: true, get: function () { return blueRewards_js_1.pendingRewardAmount; } });
40
42
  var zapDeposit_js_1 = require("./transactions/zapDeposit.js");
41
43
  Object.defineProperty(exports, "zapDepositTxb", { enumerable: true, get: function () { return zapDeposit_js_1.zapDepositTxb; } });
42
44
  Object.defineProperty(exports, "getZapAmounts", { enumerable: true, get: function () { return zapDeposit_js_1.getZapAmounts; } });
@@ -91,6 +93,7 @@ Object.defineProperty(exports, "getPositionRanges", { enumerable: true, get: fun
91
93
  var prices_js_1 = require("./utils/prices.js");
92
94
  Object.defineProperty(exports, "getMultiLatestPrices", { enumerable: true, get: function () { return prices_js_1.getMultiLatestPrices; } });
93
95
  Object.defineProperty(exports, "getLatestPrices", { enumerable: true, get: function () { return prices_js_1.getLatestPrices; } });
96
+ Object.defineProperty(exports, "fetchRequiredPrices", { enumerable: true, get: function () { return prices_js_1.fetchRequiredPrices; } });
94
97
  var userHoldings_js_1 = require("./utils/userHoldings.js");
95
98
  Object.defineProperty(exports, "liquidityToTokens", { enumerable: true, get: function () { return userHoldings_js_1.liquidityToTokens; } });
96
99
  Object.defineProperty(exports, "multiTokensToUsd", { enumerable: true, get: function () { return userHoldings_js_1.multiTokensToUsd; } });
@@ -114,6 +117,7 @@ Object.defineProperty(exports, "singleAssetPoolCoinMap", { enumerable: true, get
114
117
  Object.defineProperty(exports, "loopingPoolCoinMap", { enumerable: true, get: function () { return maps_js_1.loopingPoolCoinMap; } });
115
118
  Object.defineProperty(exports, "naviAssetMap", { enumerable: true, get: function () { return maps_js_1.naviAssetMap; } });
116
119
  Object.defineProperty(exports, "ignoredWalletsForDailyRevenue", { enumerable: true, get: function () { return maps_js_1.ignoredWalletsForDailyRevenue; } });
120
+ Object.defineProperty(exports, "alphalendMarketIdMap", { enumerable: true, get: function () { return maps_js_1.alphalendMarketIdMap; } });
117
121
  var constants_js_1 = require("./common/constants.js");
118
122
  Object.defineProperty(exports, "getConf", { enumerable: true, get: function () { return constants_js_1.getConf; } });
119
123
  var coins_js_1 = require("./common/coins.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n setSuiNodeUrl,\n setSuiClient,\n setCustomSuiClient,\n getSuiNodeUrl,\n getSuiClient,\n} from \"./sui-sdk/client.js\";\n\nexport {\n getVaults,\n getSingleAssetVaults,\n getDoubleAssetVaults,\n} from \"./getVaults.js\";\n\nexport {\n getVaultBalance,\n getAlphaVaultBalance,\n getSingleAssetVaultBalance,\n getDoubleAssetVaultBalance,\n getAllVaultBalances,\n} from \"./getVaultBalances.js\";\n\n// transactions\n\nexport {\n depositDoubleAssetTxb,\n depositSingleAssetTxb,\n getAmounts,\n getCoinAmountsFromLiquidity,\n getLiquidity,\n} from \"./transactions/deposit.js\";\n\nexport {\n withdrawTxb,\n coinAmountToXTokensDoubleAsset,\n coinAmountToXTokensSingleAsset,\n} from \"./transactions/withdraw.js\";\n\nexport { withdrawAlphaTxb } from \"./transactions/alpha.js\";\n\nexport { claimRewardTxb } from \"./transactions/collect_rewards.js\";\n\nexport {\n claimBlueRewardTxb,\n pendingBlueRewardAmount,\n} from \"./transactions/blueRewards.js\";\n\nexport { zapDepositTxb, getZapAmounts } from \"./transactions/zapDeposit.js\";\n\n//\nexport {\n getAllVaults,\n getAllDoubleAssetVaults,\n getAllSingleAssetVaults,\n} from \"./getAllVaults.js\";\n\nexport { getAirdropShare } from \"./getAirdropShare.js\";\n\nexport {\n alphaLpBreakdown,\n cetusLpBreakdown,\n lastAutocompoundTime,\n} from \"./vaultFunctions.js\";\n\nexport { getApr, getAprs, getApy, getApys } from \"./getAprs.js\";\n\nexport {\n getRebalanceHistory,\n getRebalanceHistories,\n} from \"./getRebalanceHistory.js\";\n\nexport { getTVLs, getTvls, fetchTVL } from \"./getTvls.js\";\n\nexport { getLastAutoCompoundTime } from \"./getLastAutoCompoundTime.js\";\n\nexport * from \"./common/types.js\";\n\n// src/index.ts\nexport * from \"./graphql/fetchData.js\";\nexport * from \"./graphql/parseData.js\";\nexport * from \"./graphql/executeMutations.js\";\nexport * from \"./graphql/getMultiReceipts.js\";\n\nexport {\n getReceipts,\n getPool,\n getParentPool,\n getInvestor,\n getMultiInvestor,\n getMultiParentPool,\n getMultiPool,\n getMultiReceipts,\n getCetusPool,\n getDistributor,\n getMultiCetusPool,\n getPoolExchangeRate,\n fetchVoloExchangeRate,\n} from \"./sui-sdk/functions/getReceipts.js\";\n\nexport {\n getPositionRange,\n getPositionRanges,\n} from \"./sui-sdk/functions/getPositionRange.js\";\n\nexport { getMultiLatestPrices, getLatestPrices } from \"./utils/prices.js\";\n\nexport {\n liquidityToTokens,\n multiTokensToUsd,\n multiXTokensToLiquidity,\n multiLiquidityToTokens,\n} from \"./utils/userHoldings.js\";\n\nexport {\n poolInfo,\n getCetusSqrtPriceMap,\n getCetusInvestorTicksMap,\n getInvestorPoolMap,\n getPoolExchangeRateMap,\n defunctPoolsSet,\n poolIdPoolNameMap,\n coinsInPool,\n stableCoins,\n cetusPoolMap,\n bluefinPoolMap,\n loopingAccountAddresses,\n doubleAssetPoolCoinMap,\n singleAssetPoolCoinMap,\n loopingPoolCoinMap,\n naviAssetMap,\n ignoredWalletsForDailyRevenue,\n} from \"./common/maps.js\";\n\nexport { getConf } from \"./common/constants.js\";\n\nexport { coinsList } from \"./common/coins.js\";\n\nexport { getAlphaUnlocks } from \"./getAlphaUnlocks.js\";\n\nexport { fetchLiquidityChangeEvents } from \"./sui-sdk/events/fetchLiquidityChangeEvents.js\";\nexport { fetchAutoCompoundingEvents } from \"./sui-sdk/events/fetchAutoCompoundingEvents.js\";\nexport { fetchWithdrawV2Events } from \"./sui-sdk/events/fetchWithdrawV2Events.js\";\nexport { fetchAfterTransactionEvents } from \"./sui-sdk/events/fetchAfterTransactionEvents.js\";\nexport { fetchCheckRatioEvents } from \"./sui-sdk/events/fetchCheckRatioEvents.js\";\nexport { fetchMultiCategoryEvents } from \"./sui-sdk/events/fetchMultiCategoryEvents.js\";\nexport { fetchEvents } from \"./sui-sdk/events/fetchEvents.js\";\nexport { fetchAirdropClaimEvents } from \"./sui-sdk/events/fetchAirdropClaimEvent.js\";\n\nexport {\n LiquidityChangeEventNode,\n AutoCompoundingEventNode,\n WithdrawV2EventNode,\n AfterTransactionEventNode,\n CommonEventAttributes,\n EventNode,\n eventCategories,\n EventCategory,\n VoteCastEvent,\n AirdropClaimEventNode,\n} from \"./sui-sdk/events/types.js\";\n\nexport { ReceiptGQL } from \"./graphql/types.js\";\n\nexport * from \"./types.js\";\n\nexport * from \"./adminFunctions.js\";\n\nexport { fetchTransactions } from \"./sui-sdk/transactions/fetchTransactions.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n setSuiNodeUrl,\n setSuiClient,\n setCustomSuiClient,\n getSuiNodeUrl,\n getSuiClient,\n} from \"./sui-sdk/client.js\";\n\nexport {\n getVaults,\n getSingleAssetVaults,\n getDoubleAssetVaults,\n} from \"./getVaults.js\";\n\nexport {\n getVaultBalance,\n getAlphaVaultBalance,\n getSingleAssetVaultBalance,\n getDoubleAssetVaultBalance,\n getAllVaultBalances,\n} from \"./getVaultBalances.js\";\n\n// transactions\n\nexport {\n depositDoubleAssetTxb,\n depositSingleAssetTxb,\n getAmounts,\n getCoinAmountsFromLiquidity,\n getLiquidity,\n} from \"./transactions/deposit.js\";\nexport { migrateBoostedToLoop } from \"./transactions/navi-looping.js\";\nexport {\n withdrawTxb,\n coinAmountToXTokensDoubleAsset,\n coinAmountToXTokensSingleAsset,\n} from \"./transactions/withdraw.js\";\n\nexport { withdrawAlphaTxb } from \"./transactions/alpha.js\";\n\nexport { claimRewardTxb } from \"./transactions/collect_rewards.js\";\n\nexport {\n claimRewardsTxb,\n pendingRewardAmount,\n} from \"./transactions/blueRewards.js\";\n\nexport { zapDepositTxb, getZapAmounts } from \"./transactions/zapDeposit.js\";\n\n//\nexport {\n getAllVaults,\n getAllDoubleAssetVaults,\n getAllSingleAssetVaults,\n} from \"./getAllVaults.js\";\n\nexport { getAirdropShare } from \"./getAirdropShare.js\";\n\nexport {\n alphaLpBreakdown,\n cetusLpBreakdown,\n lastAutocompoundTime,\n} from \"./vaultFunctions.js\";\n\nexport { getApr, getAprs, getApy, getApys } from \"./getAprs.js\";\n\nexport {\n getRebalanceHistory,\n getRebalanceHistories,\n} from \"./getRebalanceHistory.js\";\n\nexport { getTVLs, getTvls, fetchTVL } from \"./getTvls.js\";\n\nexport { getLastAutoCompoundTime } from \"./getLastAutoCompoundTime.js\";\n\nexport * from \"./common/types.js\";\n\n// src/index.ts\nexport * from \"./graphql/fetchData.js\";\nexport * from \"./graphql/parseData.js\";\nexport * from \"./graphql/executeMutations.js\";\nexport * from \"./graphql/getMultiReceipts.js\";\n\nexport {\n getReceipts,\n getPool,\n getParentPool,\n getInvestor,\n getMultiInvestor,\n getMultiParentPool,\n getMultiPool,\n getMultiReceipts,\n getCetusPool,\n getDistributor,\n getMultiCetusPool,\n getPoolExchangeRate,\n fetchVoloExchangeRate,\n} from \"./sui-sdk/functions/getReceipts.js\";\n\nexport {\n getPositionRange,\n getPositionRanges,\n} from \"./sui-sdk/functions/getPositionRange.js\";\n\nexport {\n getMultiLatestPrices,\n getLatestPrices,\n fetchRequiredPrices,\n} from \"./utils/prices.js\";\n\nexport {\n liquidityToTokens,\n multiTokensToUsd,\n multiXTokensToLiquidity,\n multiLiquidityToTokens,\n} from \"./utils/userHoldings.js\";\n\nexport {\n poolInfo,\n getCetusSqrtPriceMap,\n getCetusInvestorTicksMap,\n getInvestorPoolMap,\n getPoolExchangeRateMap,\n defunctPoolsSet,\n poolIdPoolNameMap,\n coinsInPool,\n stableCoins,\n cetusPoolMap,\n bluefinPoolMap,\n loopingAccountAddresses,\n doubleAssetPoolCoinMap,\n singleAssetPoolCoinMap,\n loopingPoolCoinMap,\n naviAssetMap,\n ignoredWalletsForDailyRevenue,\n alphalendMarketIdMap,\n} from \"./common/maps.js\";\n\nexport { getConf } from \"./common/constants.js\";\n\nexport { coinsList } from \"./common/coins.js\";\n\nexport { getAlphaUnlocks } from \"./getAlphaUnlocks.js\";\n\nexport { fetchLiquidityChangeEvents } from \"./sui-sdk/events/fetchLiquidityChangeEvents.js\";\nexport { fetchAutoCompoundingEvents } from \"./sui-sdk/events/fetchAutoCompoundingEvents.js\";\nexport { fetchWithdrawV2Events } from \"./sui-sdk/events/fetchWithdrawV2Events.js\";\nexport { fetchAfterTransactionEvents } from \"./sui-sdk/events/fetchAfterTransactionEvents.js\";\nexport { fetchCheckRatioEvents } from \"./sui-sdk/events/fetchCheckRatioEvents.js\";\nexport { fetchMultiCategoryEvents } from \"./sui-sdk/events/fetchMultiCategoryEvents.js\";\nexport { fetchEvents } from \"./sui-sdk/events/fetchEvents.js\";\nexport { fetchAirdropClaimEvents } from \"./sui-sdk/events/fetchAirdropClaimEvent.js\";\n\nexport {\n LiquidityChangeEventNode,\n AutoCompoundingEventNode,\n WithdrawV2EventNode,\n AfterTransactionEventNode,\n CommonEventAttributes,\n EventNode,\n eventCategories,\n EventCategory,\n VoteCastEvent,\n AirdropClaimEventNode,\n} from \"./sui-sdk/events/types.js\";\n\nexport { ReceiptGQL } from \"./graphql/types.js\";\n\nexport * from \"./types.js\";\n\nexport * from \"./adminFunctions.js\";\n\nexport { fetchTransactions } from \"./sui-sdk/transactions/fetchTransactions.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchAutoCompoundingEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAGpB,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAmHrC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,CA2NjB;AA6CD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAYnC"}
1
+ {"version":3,"file":"fetchAutoCompoundingEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAGpB,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAmHrC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,CAiOjB;AA6CD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAYnC"}
@@ -21,8 +21,8 @@ async function fetchAutoCompoundingEvents(params) {
21
21
  }
22
22
  else {
23
23
  // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set
24
- Object.values(maps_js_1.poolInfo).forEach((info) => {
25
- const eventType = info.autoCompoundingEventType;
24
+ Object.keys(maps_js_1.poolInfo).forEach((poolName) => {
25
+ const eventType = maps_js_1.poolInfo[poolName].autoCompoundingEventType;
26
26
  if (eventType !== undefined && eventType !== null && eventType !== "") {
27
27
  eventTypesSet.add(eventType);
28
28
  }
@@ -129,36 +129,43 @@ async function calculateAprForInvestor(events) {
129
129
  let prevCompoundB = 0n;
130
130
  const investorPoolMap = (0, maps_js_1.getInvestorPoolMap)();
131
131
  if (events.length > 0 &&
132
- investorPoolMap
133
- .get(events[0].investor_id.toString())
134
- ?.toString()
135
- .includes("AUTOBALANCE")) {
132
+ "amount" in events[0] &&
133
+ "total_amount_a" in events[0]
134
+ // investorPoolMap
135
+ // .get(events[0].investor_id.toString())
136
+ // ?.toString()
137
+ // .includes("AUTOBALANCE")
138
+ ) {
136
139
  let sumOfGrowths = new decimal_js_1.Decimal(0);
137
140
  const poolName = investorPoolMap.get(events[0].investor_id.toString());
138
141
  const c1 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin1;
139
142
  const c2 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin2;
140
143
  const [c1Price, c2Price] = await (0, index_js_1.getLatestPrices)([`${c1}/USD`, `${c2}/USD`], false);
141
- const [bluePrice] = await (0, index_js_1.getLatestPrices)(["BLUE/USD"], false);
144
+ const coinTypeToCoin = maps_js_1.coinTypeMap;
142
145
  for (const event of events) {
143
- if ("blue_reward_amount" in event) {
144
- const blueReward = new decimal_js_1.Decimal(event.blue_reward_amount.toString());
146
+ if ("amount" in event && "total_amount_a" in event) {
147
+ const reward = new decimal_js_1.Decimal(event.amount.toString());
148
+ const rewardType = event.coin_type.name.toString();
149
+ const rewardCoin = coinTypeToCoin["0x" + rewardType];
145
150
  const totalAmountA = new decimal_js_1.Decimal(event.total_amount_a.toString());
146
151
  const totalAmountB = new decimal_js_1.Decimal(event.total_amount_b.toString());
147
- const blueRewardPrice = blueReward
148
- .mul(bluePrice)
149
- .div(Math.pow(10, coins_js_1.coinsList["BLUE"].expo));
152
+ const [price] = await (0, index_js_1.getLatestPrices)([`${rewardCoin}/USD`], false);
153
+ const rewardPrice = reward
154
+ .mul(price)
155
+ .div(Math.pow(10, coins_js_1.coinsList[rewardCoin].expo));
150
156
  const baseAmountsPrice = totalAmountA
151
157
  .mul(c1Price)
152
158
  .div(Math.pow(10, coins_js_1.coinsList[c1].expo))
153
159
  .plus(totalAmountB.mul(c2Price).div(Math.pow(10, coins_js_1.coinsList[c2].expo)));
154
160
  if (baseAmountsPrice.gt(0)) {
155
- sumOfGrowths = sumOfGrowths.plus(blueRewardPrice.div(baseAmountsPrice));
161
+ sumOfGrowths = sumOfGrowths.plus(rewardPrice.div(baseAmountsPrice));
156
162
  }
157
163
  }
158
164
  }
159
165
  return sumOfGrowths.mul(36500).toDecimalPlaces(4).toNumber();
160
166
  }
161
167
  // const matchInvestor =
168
+ // "0x3e8937974f3dac64eb8ee9f86a80ccc24852bd2f74d18753d071bbdad73a4c97"; // ALPHALEND-SUI-LOOP
162
169
  // "0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065"; // NAVI-USDC
163
170
  // // "0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9"; // HASUI
164
171
  // ("0x227226f22bd9e484e541005916904ca066db1d42b8a80351800ef37b26c6cd89"); // AUSD
@@ -283,7 +290,10 @@ async function calculateAprForInvestor(events) {
283
290
  : compoundAmount / totalAmount;
284
291
  const poolName = investorPoolMap.get(event.investor_id);
285
292
  const coinName = maps_js_1.singleAssetPoolCoinMap[poolName].coin;
286
- growthRate = growthRate * Math.pow(10, 9 - coins_js_1.coinsList[coinName].expo);
293
+ if (maps_js_1.poolInfo[investorPoolMap.get(event.investor_id)]
294
+ .parentProtocolName === "NAVI") {
295
+ growthRate = growthRate * Math.pow(10, 9 - coins_js_1.coinsList[coinName].expo);
296
+ }
287
297
  // if (event.investor_id === matchInvestor) {
288
298
  // console.log(
289
299
  // `${event.compound_amount},${event.total_amount},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,
@@ -1 +1 @@
1
- {"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport { coinsList } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n singleAssetPoolCoinMap,\n poolInfo,\n doubleAssetPoolCoinMap,\n} from \"../../common/maps.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../../common/types.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport {\n AutoCompoundingEventNode,\n FetchAutoCompoundingEventsParams,\n} from \"./types.js\";\nimport { getLatestPrices } from \"../../index.js\";\n\nexport async function fetchAutoCompoundingEvents(\n params: FetchAutoCompoundingEventsParams,\n): Promise<AutoCompoundingEventNode[]> {\n const eventTypesSet = new Set<string>();\n // const rebalanceEventTypesSet = new Set<string>();\n if (params.poolNames) {\n params.poolNames.forEach((poolName) => {\n const eventType = poolInfo[poolName].autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n } else {\n // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n Object.values(poolInfo).forEach((info) => {\n const eventType = info.autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n }\n // for rebalance\n // if (params.poolNames) {\n // params.poolNames.forEach((poolName) => {\n // const eventType = poolInfo[poolName].rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // } else {\n // // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n // Object.values(poolInfo).forEach((info) => {\n // const eventType = info.rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // }\n\n const eventTypes = Array.from(eventTypesSet);\n // const rebalanceEventTypes = Array.from(rebalanceEventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = (\n await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n order: params.order,\n })\n ).filter((e) => {\n if (params.poolNames) {\n return params.poolNames\n .map((poolName) => poolInfo[poolName].investorId)\n .includes((e as AutoCompoundingEventNode).investor_id);\n } else {\n return true;\n }\n });\n return events;\n });\n // const rebalanceEventsPromises = rebalanceEventTypes.map(async (eventType) => {\n // const events = (\n // await fetchEvents({\n // startTime: params.startTime,\n // endTime: params.endTime,\n // eventTypes: [eventType],\n // })\n // ).filter((e) => {\n // if (params.poolNames) {\n // return params.poolNames\n // .map((poolName) => poolInfo[poolName].investorId)\n // .includes((e as AutoCompoundingEventNode).investor_id);\n // } else {\n // return true;\n // }\n // });\n // return events;\n // });\n\n const events = (await Promise.all(eventsPromises)).flat();\n\n const autoCompoundingEvents = events.map((e) => {\n return e as AutoCompoundingEventNode;\n });\n\n // const rebalanceEvents = (await Promise.all(rebalanceEventsPromises)).flat();\n\n // const rebalancingEvents = rebalanceEvents.map((e) => {\n // return e as RebalanceEventNode;\n // });\n\n // const investorPoolMap = await getInvestorPoolMap();\n\n // for (const x of autoCompoundingEvents) {\n // if (\n // investorPoolMap.get(x.investor_id) &&\n // poolInfo[investorPoolMap.get(x.investor_id)!].parentProtocolName ==\n // \"CETUS\"\n // ) {\n // if (\n // \"total_amount_a\" in x &&\n // x.total_amount_a == 0n &&\n // x.total_amount_b == 0n\n // ) {\n // for (const y of rebalancingEvents) {\n // if (y.investor_id == x.investor_id && y.timestamp == x.timestamp) {\n // // works if its guaranteed that for one timestamp there is only one rebalance for one pool\n // x.total_amount_a = BigInt(y.amount_a_before);\n // x.total_amount_b = BigInt(y.amount_b_before);\n // }\n // }\n // }\n // }\n // }\n\n return autoCompoundingEvents;\n}\n\nexport async function calculateAprForInvestor(\n events: AutoCompoundingEventNode[],\n): Promise<number> {\n let totalGrowth = 0;\n let totalTimeSpan = 0;\n let apr = 0;\n\n try {\n // Sort events by timestamp to process them in order\n events.sort((a, b) => a.timestamp - b.timestamp);\n\n let previousTimestamp = events[0].timestamp; // Start with the timestamp of the first event\n let previousGrowthRate = 0;\n let previousTimeDiff = 0;\n let prevCompoundA = 0n;\n let prevCompoundB = 0n;\n\n const investorPoolMap = getInvestorPoolMap();\n\n if (\n events.length > 0 &&\n investorPoolMap\n .get(events[0].investor_id.toString())\n ?.toString()\n .includes(\"AUTOBALANCE\")\n ) {\n let sumOfGrowths = new Decimal(0);\n const poolName = investorPoolMap.get(events[0].investor_id.toString());\n const c1 = doubleAssetPoolCoinMap[poolName!].coin1;\n const c2 = doubleAssetPoolCoinMap[poolName!].coin2;\n const [c1Price, c2Price] = await getLatestPrices(\n [`${c1}/USD`, `${c2}/USD`],\n false,\n );\n const [bluePrice] = await getLatestPrices([\"BLUE/USD\"], false);\n\n for (const event of events) {\n if (\"blue_reward_amount\" in event) {\n const blueReward = new Decimal(event.blue_reward_amount.toString());\n const totalAmountA = new Decimal(event.total_amount_a.toString());\n const totalAmountB = new Decimal(event.total_amount_b.toString());\n const blueRewardPrice = blueReward\n .mul(bluePrice)\n .div(Math.pow(10, coinsList[\"BLUE\"].expo));\n const baseAmountsPrice = totalAmountA\n .mul(c1Price)\n .div(Math.pow(10, coinsList[c1].expo))\n .plus(\n totalAmountB.mul(c2Price).div(Math.pow(10, coinsList[c2].expo)),\n );\n if (baseAmountsPrice.gt(0)) {\n sumOfGrowths = sumOfGrowths.plus(\n blueRewardPrice.div(baseAmountsPrice),\n );\n }\n }\n }\n return sumOfGrowths.mul(36500).toDecimalPlaces(4).toNumber();\n }\n\n // const matchInvestor =\n // \"0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065\"; // NAVI-USDC\n // // \"0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9\"; // HASUI\n // (\"0x227226f22bd9e484e541005916904ca066db1d42b8a80351800ef37b26c6cd89\"); // AUSD\n // // \"0xf43c62ca04c2f8d4583630872429ba6f5d8a7316ccb9552c86bb1fcf9dee3ce2\"; // USDY\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund Amount,Total Amount,GrowthRate,Timestamp,TimeDiff (Min)\",\n // );\n // }\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund A,Total A,Compound B,Total B,Freebalance A,Freebalance B,GrowthA,GrowthB,AvgGrowth,Timestamp,TimeDiff (Min)\",\n // );\n // }\n for (const event of events) {\n // if (event.investor_id === matchInvestor) {\n // console.log(event);\n // }\n // Calculate the time difference from the previous event\n let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);\n\n // Calculate growth rate\n let growthRate = 0;\n if (\n \"total_amount_a\" in event &&\n \"total_amount_b\" in event &&\n \"compound_amount_a\" in event\n ) {\n let growthA = 0;\n let growthB = 0;\n\n if (Number(event.total_amount_a) === 0) {\n prevCompoundA += event.compound_amount_a;\n } else {\n prevCompoundA = 0n;\n }\n if (prevCompoundA > 0n) {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a + prevCompoundA) /\n Number(event.total_amount_a - prevCompoundA);\n } else {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a) / Number(event.total_amount_a);\n }\n\n if (Number(event.total_amount_b) === 0) {\n prevCompoundB += event.compound_amount_b;\n } else {\n prevCompoundB = 0n;\n }\n\n if (prevCompoundB > 0n) {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b + prevCompoundB) /\n Number(event.total_amount_b - prevCompoundB);\n } else {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b) / Number(event.total_amount_b);\n }\n\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // timeDiff / (1000 * 60),\n // event.timestamp,\n // event.timestamp - previousTimestamp,\n // );\n // }\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // event.compound_amount_a,\n // event.total_amount_a,\n // growthA,\n // event.compound_amount_b,\n // event.total_amount_b,\n // growthB,\n // );\n // }\n growthRate = (growthA + growthB) / 2; // Averaging growth rates for token A and B\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount_a},${event.total_amount_a},${event.compound_amount_b},${event.total_amount_b},${event.free_balance_a},${event.free_balance_b},${growthA},${growthB},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n if (Math.abs(growthA - growthB) > 0.5) {\n // skip row, fill with previous event\n growthRate = previousGrowthRate;\n timeDiff = previousTimeDiff;\n }\n if (growthRate > 0.005) {\n growthRate = 0;\n }\n } else if (\"total_amount\" in event) {\n let compoundAmount: number = Number(event.compound_amount);\n let totalAmount: number = Number(event.total_amount);\n if (\"cur_total_debt\" in event && \"accrued_interest\" in event) {\n compoundAmount = Number(\n event.compound_amount - event.accrued_interest,\n );\n totalAmount = Number(event.total_amount - event.cur_total_debt);\n }\n // NaviAutoCompoundingEvent\n growthRate = isNaN(compoundAmount / totalAmount)\n ? 0\n : compoundAmount / totalAmount;\n const poolName = investorPoolMap.get(\n event.investor_id,\n ) as SingleAssetPoolNames;\n const coinName = singleAssetPoolCoinMap[poolName].coin;\n\n growthRate = growthRate * Math.pow(10, 9 - coinsList[coinName].expo);\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount},${event.total_amount},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n }\n\n // Accumulate the time-weighted growth\n totalGrowth = (totalGrowth + 1) * (1 + growthRate) - 1;\n previousGrowthRate = growthRate;\n\n // Accumulate the total time span\n totalTimeSpan += timeDiff;\n previousTimeDiff = timeDiff;\n\n // Update the previous timestamp to the current event's timestamp\n previousTimestamp = event.timestamp;\n }\n\n apr = (totalGrowth / totalTimeSpan) * (1000 * 60 * 60 * 24 * 365) * 100;\n } catch (error) {\n console.error(\"Error calculating apr from events.\", error);\n if (events.length > 0) {\n console.error(\"Investor-ID: \", events[0].investor_id);\n }\n }\n\n return apr;\n}\n\nasync function calculateAprForInvestors(\n events: AutoCompoundingEventNode[],\n): Promise<Record<string, number>> {\n const investorEvents: Record<string, AutoCompoundingEventNode[]> = {};\n\n // Step 1: Segregate events by investor_id\n for (const event of events) {\n const investorId = event.investor_id;\n if (!investorEvents[investorId]) {\n investorEvents[investorId] = [];\n }\n investorEvents[investorId].push(event);\n }\n\n // Step 2: Calculate APR for each event and aggregate for each investor\n const aprPromises: Promise<{ investorId: string; apr: number }>[] = [];\n\n for (const investorId in investorEvents) {\n const investorEventList = investorEvents[investorId];\n // Push a promise that resolves to an object containing the investorId and the corresponding APR\n aprPromises.push(\n calculateAprForInvestor(investorEventList).then((apr) => ({\n investorId,\n apr,\n })),\n );\n }\n\n // Resolve all promises and map them to the corresponding APR\n const aprs = await Promise.all(aprPromises);\n\n // Convert the array of results into an object mapping investorId to APR\n const aprMap = aprs.reduce(\n (map, result) => {\n map[result.investorId] = result.apr;\n return map;\n },\n {} as Record<string, number>,\n );\n\n return aprMap;\n}\n\nexport async function calculateAprForPools(\n events: AutoCompoundingEventNode[],\n): Promise<Record<PoolName, number>> {\n const aprMap: Record<string, number> = {};\n const investorPoolNameMap = await getInvestorPoolMap();\n\n const investorAprMap = await calculateAprForInvestors(events);\n for (const investorId in investorAprMap) {\n const poolName = investorPoolNameMap.get(investorId);\n if (poolName) {\n aprMap[poolName] = investorAprMap[investorId];\n }\n }\n return aprMap;\n}\n"]}
1
+ {"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport { coinsList } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n singleAssetPoolCoinMap,\n poolInfo,\n doubleAssetPoolCoinMap,\n coinTypeMap,\n} from \"../../common/maps.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../../common/types.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport {\n AutoCompoundingEventNode,\n FetchAutoCompoundingEventsParams,\n} from \"./types.js\";\nimport { getLatestPrices } from \"../../index.js\";\n\nexport async function fetchAutoCompoundingEvents(\n params: FetchAutoCompoundingEventsParams,\n): Promise<AutoCompoundingEventNode[]> {\n const eventTypesSet = new Set<string>();\n // const rebalanceEventTypesSet = new Set<string>();\n if (params.poolNames) {\n params.poolNames.forEach((poolName) => {\n const eventType = poolInfo[poolName].autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n } else {\n // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n Object.keys(poolInfo).forEach((poolName) => {\n const eventType = poolInfo[poolName].autoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n }\n // for rebalance\n // if (params.poolNames) {\n // params.poolNames.forEach((poolName) => {\n // const eventType = poolInfo[poolName].rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // } else {\n // // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n // Object.values(poolInfo).forEach((info) => {\n // const eventType = info.rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // }\n\n const eventTypes = Array.from(eventTypesSet);\n // const rebalanceEventTypes = Array.from(rebalanceEventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = (\n await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n order: params.order,\n })\n ).filter((e) => {\n if (params.poolNames) {\n return params.poolNames\n .map((poolName) => poolInfo[poolName].investorId)\n .includes((e as AutoCompoundingEventNode).investor_id);\n } else {\n return true;\n }\n });\n return events;\n });\n // const rebalanceEventsPromises = rebalanceEventTypes.map(async (eventType) => {\n // const events = (\n // await fetchEvents({\n // startTime: params.startTime,\n // endTime: params.endTime,\n // eventTypes: [eventType],\n // })\n // ).filter((e) => {\n // if (params.poolNames) {\n // return params.poolNames\n // .map((poolName) => poolInfo[poolName].investorId)\n // .includes((e as AutoCompoundingEventNode).investor_id);\n // } else {\n // return true;\n // }\n // });\n // return events;\n // });\n\n const events = (await Promise.all(eventsPromises)).flat();\n\n const autoCompoundingEvents = events.map((e) => {\n return e as AutoCompoundingEventNode;\n });\n\n // const rebalanceEvents = (await Promise.all(rebalanceEventsPromises)).flat();\n\n // const rebalancingEvents = rebalanceEvents.map((e) => {\n // return e as RebalanceEventNode;\n // });\n\n // const investorPoolMap = await getInvestorPoolMap();\n\n // for (const x of autoCompoundingEvents) {\n // if (\n // investorPoolMap.get(x.investor_id) &&\n // poolInfo[investorPoolMap.get(x.investor_id)!].parentProtocolName ==\n // \"CETUS\"\n // ) {\n // if (\n // \"total_amount_a\" in x &&\n // x.total_amount_a == 0n &&\n // x.total_amount_b == 0n\n // ) {\n // for (const y of rebalancingEvents) {\n // if (y.investor_id == x.investor_id && y.timestamp == x.timestamp) {\n // // works if its guaranteed that for one timestamp there is only one rebalance for one pool\n // x.total_amount_a = BigInt(y.amount_a_before);\n // x.total_amount_b = BigInt(y.amount_b_before);\n // }\n // }\n // }\n // }\n // }\n\n return autoCompoundingEvents;\n}\n\nexport async function calculateAprForInvestor(\n events: AutoCompoundingEventNode[],\n): Promise<number> {\n let totalGrowth = 0;\n let totalTimeSpan = 0;\n let apr = 0;\n try {\n // Sort events by timestamp to process them in order\n events.sort((a, b) => a.timestamp - b.timestamp);\n\n let previousTimestamp = events[0].timestamp; // Start with the timestamp of the first event\n let previousGrowthRate = 0;\n let previousTimeDiff = 0;\n let prevCompoundA = 0n;\n let prevCompoundB = 0n;\n\n const investorPoolMap = getInvestorPoolMap();\n if (\n events.length > 0 &&\n \"amount\" in events[0] &&\n \"total_amount_a\" in events[0]\n // investorPoolMap\n // .get(events[0].investor_id.toString())\n // ?.toString()\n // .includes(\"AUTOBALANCE\")\n ) {\n let sumOfGrowths = new Decimal(0);\n const poolName = investorPoolMap.get(events[0].investor_id.toString());\n const c1 = doubleAssetPoolCoinMap[poolName!].coin1;\n const c2 = doubleAssetPoolCoinMap[poolName!].coin2;\n const [c1Price, c2Price] = await getLatestPrices(\n [`${c1}/USD`, `${c2}/USD`],\n false,\n );\n const coinTypeToCoin = coinTypeMap;\n for (const event of events) {\n if (\"amount\" in event && \"total_amount_a\" in event) {\n const reward = new Decimal(event.amount.toString());\n const rewardType = event.coin_type.name.toString();\n const rewardCoin = coinTypeToCoin[\"0x\" + rewardType];\n const totalAmountA = new Decimal(event.total_amount_a.toString());\n const totalAmountB = new Decimal(event.total_amount_b.toString());\n const [price] = await getLatestPrices([`${rewardCoin}/USD`], false);\n const rewardPrice = reward\n .mul(price)\n .div(Math.pow(10, coinsList[rewardCoin].expo));\n const baseAmountsPrice = totalAmountA\n .mul(c1Price)\n .div(Math.pow(10, coinsList[c1].expo))\n .plus(\n totalAmountB.mul(c2Price).div(Math.pow(10, coinsList[c2].expo)),\n );\n if (baseAmountsPrice.gt(0)) {\n sumOfGrowths = sumOfGrowths.plus(rewardPrice.div(baseAmountsPrice));\n }\n }\n }\n return sumOfGrowths.mul(36500).toDecimalPlaces(4).toNumber();\n }\n\n // const matchInvestor =\n // \"0x3e8937974f3dac64eb8ee9f86a80ccc24852bd2f74d18753d071bbdad73a4c97\"; // ALPHALEND-SUI-LOOP\n // \"0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065\"; // NAVI-USDC\n // // \"0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9\"; // HASUI\n // (\"0x227226f22bd9e484e541005916904ca066db1d42b8a80351800ef37b26c6cd89\"); // AUSD\n // // \"0xf43c62ca04c2f8d4583630872429ba6f5d8a7316ccb9552c86bb1fcf9dee3ce2\"; // USDY\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund Amount,Total Amount,GrowthRate,Timestamp,TimeDiff (Min)\",\n // );\n // }\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund A,Total A,Compound B,Total B,Freebalance A,Freebalance B,GrowthA,GrowthB,AvgGrowth,Timestamp,TimeDiff (Min)\",\n // );\n // }\n for (const event of events) {\n // if (event.investor_id === matchInvestor) {\n // console.log(event);\n // }\n // Calculate the time difference from the previous event\n let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);\n\n // Calculate growth rate\n let growthRate = 0;\n if (\n \"total_amount_a\" in event &&\n \"total_amount_b\" in event &&\n \"compound_amount_a\" in event\n ) {\n let growthA = 0;\n let growthB = 0;\n\n if (Number(event.total_amount_a) === 0) {\n prevCompoundA += event.compound_amount_a;\n } else {\n prevCompoundA = 0n;\n }\n if (prevCompoundA > 0n) {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a + prevCompoundA) /\n Number(event.total_amount_a - prevCompoundA);\n } else {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a) / Number(event.total_amount_a);\n }\n\n if (Number(event.total_amount_b) === 0) {\n prevCompoundB += event.compound_amount_b;\n } else {\n prevCompoundB = 0n;\n }\n\n if (prevCompoundB > 0n) {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b + prevCompoundB) /\n Number(event.total_amount_b - prevCompoundB);\n } else {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b) / Number(event.total_amount_b);\n }\n\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // timeDiff / (1000 * 60),\n // event.timestamp,\n // event.timestamp - previousTimestamp,\n // );\n // }\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // event.compound_amount_a,\n // event.total_amount_a,\n // growthA,\n // event.compound_amount_b,\n // event.total_amount_b,\n // growthB,\n // );\n // }\n growthRate = (growthA + growthB) / 2; // Averaging growth rates for token A and B\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount_a},${event.total_amount_a},${event.compound_amount_b},${event.total_amount_b},${event.free_balance_a},${event.free_balance_b},${growthA},${growthB},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n if (Math.abs(growthA - growthB) > 0.5) {\n // skip row, fill with previous event\n growthRate = previousGrowthRate;\n timeDiff = previousTimeDiff;\n }\n if (growthRate > 0.005) {\n growthRate = 0;\n }\n } else if (\"total_amount\" in event) {\n let compoundAmount: number = Number(event.compound_amount);\n let totalAmount: number = Number(event.total_amount);\n if (\"cur_total_debt\" in event && \"accrued_interest\" in event) {\n compoundAmount = Number(\n event.compound_amount - event.accrued_interest,\n );\n totalAmount = Number(event.total_amount - event.cur_total_debt);\n }\n // NaviAutoCompoundingEvent\n growthRate = isNaN(compoundAmount / totalAmount)\n ? 0\n : compoundAmount / totalAmount;\n const poolName = investorPoolMap.get(\n event.investor_id,\n ) as SingleAssetPoolNames;\n const coinName = singleAssetPoolCoinMap[poolName].coin;\n\n if (\n poolInfo[investorPoolMap.get(event.investor_id)!]\n .parentProtocolName === \"NAVI\"\n ) {\n growthRate = growthRate * Math.pow(10, 9 - coinsList[coinName].expo);\n }\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount},${event.total_amount},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n }\n\n // Accumulate the time-weighted growth\n totalGrowth = (totalGrowth + 1) * (1 + growthRate) - 1;\n previousGrowthRate = growthRate;\n\n // Accumulate the total time span\n totalTimeSpan += timeDiff;\n previousTimeDiff = timeDiff;\n\n // Update the previous timestamp to the current event's timestamp\n previousTimestamp = event.timestamp;\n }\n\n apr = (totalGrowth / totalTimeSpan) * (1000 * 60 * 60 * 24 * 365) * 100;\n } catch (error) {\n console.error(\"Error calculating apr from events.\", error);\n if (events.length > 0) {\n console.error(\"Investor-ID: \", events[0].investor_id);\n }\n }\n\n return apr;\n}\n\nasync function calculateAprForInvestors(\n events: AutoCompoundingEventNode[],\n): Promise<Record<string, number>> {\n const investorEvents: Record<string, AutoCompoundingEventNode[]> = {};\n\n // Step 1: Segregate events by investor_id\n for (const event of events) {\n const investorId = event.investor_id;\n if (!investorEvents[investorId]) {\n investorEvents[investorId] = [];\n }\n investorEvents[investorId].push(event);\n }\n\n // Step 2: Calculate APR for each event and aggregate for each investor\n const aprPromises: Promise<{ investorId: string; apr: number }>[] = [];\n\n for (const investorId in investorEvents) {\n const investorEventList = investorEvents[investorId];\n // Push a promise that resolves to an object containing the investorId and the corresponding APR\n aprPromises.push(\n calculateAprForInvestor(investorEventList).then((apr) => ({\n investorId,\n apr,\n })),\n );\n }\n\n // Resolve all promises and map them to the corresponding APR\n const aprs = await Promise.all(aprPromises);\n\n // Convert the array of results into an object mapping investorId to APR\n const aprMap = aprs.reduce(\n (map, result) => {\n map[result.investorId] = result.apr;\n return map;\n },\n {} as Record<string, number>,\n );\n\n return aprMap;\n}\n\nexport async function calculateAprForPools(\n events: AutoCompoundingEventNode[],\n): Promise<Record<PoolName, number>> {\n const aprMap: Record<string, number> = {};\n const investorPoolNameMap = await getInvestorPoolMap();\n\n const investorAprMap = await calculateAprForInvestors(events);\n for (const investorId in investorAprMap) {\n const poolName = investorPoolNameMap.get(investorId);\n if (poolName) {\n aprMap[poolName] = investorAprMap[investorId];\n }\n }\n return aprMap;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCheckRatioEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchCheckRatioEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9E,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuChC"}
1
+ {"version":3,"file":"fetchCheckRatioEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchCheckRatioEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAE9E,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA0ChC"}
@@ -7,7 +7,8 @@ async function fetchCheckRatioEvents(params) {
7
7
  const eventTypesSet = new Set();
8
8
  if (params.poolNames) {
9
9
  params.poolNames.forEach((poolName) => {
10
- if (maps_js_1.poolInfo[poolName].strategyType !== "LOOPING") {
10
+ if (maps_js_1.poolInfo[poolName].strategyType !== "LOOPING" &&
11
+ maps_js_1.poolInfo[poolName].strategyType !== "SINGLE-LOOPING") {
11
12
  console.error("Check Ratio event only applicable in looping pools");
12
13
  throw new Error("Inavlid Params");
13
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetchCheckRatioEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchCheckRatioEvents.ts"],"names":[],"mappings":";;AAIA,sDAyCC;AA7CD,kDAAgD;AAChD,qDAA+C;AAGxC,KAAK,UAAU,qBAAqB,CACzC,MAAmC;IAEnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAClD,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,SAAS,GAAG,kBAAQ,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;YACzD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACtE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,sFAAsF;QACtF,MAAM,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACtE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAAC;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,OAAO,CAAwB,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC","sourcesContent":["import { poolInfo } from \"../../common/maps.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport { CheckRatioEventNode, FetchCheckRatioEventsParams } from \"./types.js\";\n\nexport async function fetchCheckRatioEvents(\n params: FetchCheckRatioEventsParams,\n): Promise<CheckRatioEventNode[]> {\n const eventTypesSet = new Set<string>();\n if (params.poolNames) {\n params.poolNames.forEach((poolName) => {\n if (poolInfo[poolName].strategyType !== \"LOOPING\") {\n console.error(\"Check Ratio event only applicable in looping pools\");\n throw new Error(\"Inavlid Params\");\n }\n const eventType = poolInfo[poolName].checkRatioEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n } else {\n // Iterate over all the values in poolInfo and add each checkRatioEventType to the Set\n Object.values(poolInfo).forEach((info) => {\n const eventType = info.checkRatioEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n }\n const eventTypes = Array.from(eventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n order: params.order,\n });\n return events;\n });\n const events = (await Promise.all(eventsPromises)).flat();\n const checkRatioEvents = events.map((e) => {\n return e as CheckRatioEventNode;\n });\n\n return checkRatioEvents;\n}\n"]}
1
+ {"version":3,"file":"fetchCheckRatioEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchCheckRatioEvents.ts"],"names":[],"mappings":";;AAIA,sDA4CC;AAhDD,kDAAgD;AAChD,qDAA+C;AAGxC,KAAK,UAAU,qBAAqB,CACzC,MAAmC;IAEnC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpC,IACE,kBAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,SAAS;gBAC7C,kBAAQ,CAAC,QAAQ,CAAC,CAAC,YAAY,KAAK,gBAAgB,EACpD,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,SAAS,GAAG,kBAAQ,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC;YACzD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACtE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,sFAAsF;QACtF,MAAM,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;gBACtE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAW,EAAC;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxC,OAAO,CAAwB,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC","sourcesContent":["import { poolInfo } from \"../../common/maps.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport { CheckRatioEventNode, FetchCheckRatioEventsParams } from \"./types.js\";\n\nexport async function fetchCheckRatioEvents(\n params: FetchCheckRatioEventsParams,\n): Promise<CheckRatioEventNode[]> {\n const eventTypesSet = new Set<string>();\n if (params.poolNames) {\n params.poolNames.forEach((poolName) => {\n if (\n poolInfo[poolName].strategyType !== \"LOOPING\" &&\n poolInfo[poolName].strategyType !== \"SINGLE-LOOPING\"\n ) {\n console.error(\"Check Ratio event only applicable in looping pools\");\n throw new Error(\"Inavlid Params\");\n }\n const eventType = poolInfo[poolName].checkRatioEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n } else {\n // Iterate over all the values in poolInfo and add each checkRatioEventType to the Set\n Object.values(poolInfo).forEach((info) => {\n const eventType = info.checkRatioEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n });\n }\n const eventTypes = Array.from(eventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n order: params.order,\n });\n return events;\n });\n const events = (await Promise.all(eventsPromises)).flat();\n const checkRatioEvents = events.map((e) => {\n return e as CheckRatioEventNode;\n });\n\n return checkRatioEvents;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"fetchEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EACT,iBAAiB,EAYlB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC,CAmZtB"}
1
+ {"version":3,"file":"fetchEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchEvents.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,SAAS,EACT,iBAAiB,EAYlB,MAAM,YAAY,CAAC;AAIpB,wBAAsB,WAAW,CAC/B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC,CAuZtB"}
@@ -104,7 +104,8 @@ async function fetchEvents(params) {
104
104
  }
105
105
  }
106
106
  else if (isAutoCompoundingEvent(suiEvent.type) &&
107
- "amount" in suiEventJson) {
107
+ "amount" in suiEventJson &&
108
+ !("total_amount_a" in suiEventJson)) {
108
109
  eventNode = {
109
110
  type: suiEvent.type,
110
111
  timestamp: Number(suiEvent.timestampMs),
@@ -117,16 +118,15 @@ async function fetchEvents(params) {
117
118
  };
118
119
  }
119
120
  else if (isAutoCompoundingEvent(suiEvent.type) &&
120
- "blue_reward_amount" in suiEventJson) {
121
+ "amount" in suiEventJson &&
122
+ "total_amount_a" in suiEventJson) {
121
123
  // Handling CetusAutoCompoundingEvent
122
124
  eventNode = {
123
125
  type: suiEvent.type,
124
126
  timestamp: Number(suiEvent.timestampMs),
125
- blue_reward_amount: BigInt(suiEventJson.blue_reward_amount.toString()),
126
- current_liquidity: BigInt(suiEventJson.current_liquidity.toString()),
127
+ amount: BigInt(suiEventJson.amount.toString()),
128
+ coin_type: suiEventJson.coin_type,
127
129
  fee_collected: BigInt(suiEventJson.fee_collected.toString()),
128
- free_balance_a: BigInt(suiEventJson.free_balance_a.toString()),
129
- free_balance_b: BigInt(suiEventJson.free_balance_b.toString()),
130
130
  investor_id: suiEventJson.investor_id,
131
131
  total_amount_a: BigInt(suiEventJson.total_amount_a.toString()),
132
132
  total_amount_b: BigInt(suiEventJson.total_amount_b.toString()),
@@ -342,8 +342,9 @@ async function fetchEvents(params) {
342
342
  };
343
343
  }
344
344
  else {
345
- console.error("event: ", suiEvent, "json: ", suiEventJson);
346
- throw new Error("Unknown event type");
345
+ console.error("Unknown event type \n event: ", suiEvent, "json: ", suiEventJson);
346
+ // throw new Error("Unknown event type");
347
+ continue;
347
348
  }
348
349
  allEvents.push(eventNode);
349
350
  }