@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,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTVLs = getTVLs;
4
- exports.fetchTVL = fetchTVL;
5
- exports.fetchAlphafiV3PoolTVL = fetchAlphafiV3PoolTVL;
6
- const tslib_1 = require("tslib");
7
- const decimal_js_1 = require("decimal.js");
8
- const index_js_1 = require("./index.js");
9
- const getReceipts_js_1 = require("./sui-sdk/functions/getReceipts.js");
10
- const prices_js_1 = require("./utils/prices.js");
11
- const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
12
- const cetus_sui_clmm_sdk_1 = require("@cetusprotocol/cetus-sui-clmm-sdk");
13
- async function getTVLs() {
14
- const tvlMap = new Map();
15
- await (0, getReceipts_js_1.getMultiInvestor)();
16
- await (0, prices_js_1.getMultiLatestPrices)();
17
- await (0, getReceipts_js_1.getMultiParentPool)();
18
- // await getMultiPool();
19
- const pools = Object.keys(index_js_1.poolInfo);
20
- for (const key of pools) {
21
- const tvl = await fetchTVL(key, false);
22
- tvlMap.set(key, tvl);
23
- }
24
- return tvlMap;
25
- }
26
- async function fetchTVL(poolName, ignoreCache) {
27
- const pool = await (0, index_js_1.getPool)(poolName, ignoreCache);
28
- if (index_js_1.poolInfo[poolName].parentProtocolName == "NAVI") {
29
- const poolToken = index_js_1.singleAssetPoolCoinMap[poolName].coin;
30
- const [priceOfCoin] = await (0, prices_js_1.getLatestPrices)([`${poolToken}/USD`], ignoreCache);
31
- let tvl = new decimal_js_1.Decimal(0);
32
- if (index_js_1.poolInfo[poolName].strategyType === "LOOPING") {
33
- const investor = (await (0, getReceipts_js_1.getInvestor)(poolName, ignoreCache));
34
- const liquidity = new decimal_js_1.Decimal(investor.content.fields.tokensDeposited);
35
- const debtToSupplyRatio = new decimal_js_1.Decimal(investor.content.fields.current_debt_to_supply_ratio);
36
- const tokensInvested = liquidity.mul(new decimal_js_1.Decimal(1).minus(debtToSupplyRatio.div(new decimal_js_1.Decimal(1e20))));
37
- if (poolName == "NAVI-LOOP-SUI-VSUI") {
38
- const [vsuiPrice] = await (0, prices_js_1.getLatestPrices)([`VSUI/USD`], ignoreCache);
39
- if (vsuiPrice) {
40
- tvl = new decimal_js_1.Decimal(tokensInvested).mul(vsuiPrice).div(1e9);
41
- }
42
- }
43
- else {
44
- tvl = tokensInvested.div(1e9).mul(priceOfCoin);
45
- }
46
- }
47
- else {
48
- const liquidity = new decimal_js_1.Decimal(pool.content.fields.tokensInvested);
49
- const tokensInvested = liquidity.div(new decimal_js_1.Decimal(Math.pow(10, 9)));
50
- tvl = tokensInvested.mul(priceOfCoin);
51
- }
52
- return tvl.toString();
53
- }
54
- else if (index_js_1.poolInfo[poolName].parentProtocolName == "BUCKET") {
55
- const poolToken = index_js_1.singleAssetPoolCoinMap[poolName].coin;
56
- const [priceOfCoin] = await (0, prices_js_1.getLatestPrices)([`${poolToken}/USD`], ignoreCache);
57
- const liquidity = new decimal_js_1.Decimal(pool.content.fields.tokensInvested);
58
- const tokensInvested = liquidity.div(new decimal_js_1.Decimal(Math.pow(10, index_js_1.coinsList[index_js_1.singleAssetPoolCoinMap[poolName].coin].expo)));
59
- const tvl = tokensInvested.mul(priceOfCoin);
60
- return tvl.toString();
61
- }
62
- else if (index_js_1.poolInfo[poolName].parentProtocolName === "ALPHAFI") {
63
- const distributor = await (0, getReceipts_js_1.getDistributor)(ignoreCache);
64
- const [priceOfAlpha] = await (0, prices_js_1.getLatestPrices)(["ALPHA/USD"], ignoreCache);
65
- if (pool && distributor && priceOfAlpha) {
66
- const tokensInvested = new decimal_js_1.Decimal(pool.content.fields.tokensInvested);
67
- const tvl = tokensInvested.div(1e9).mul(new decimal_js_1.Decimal(priceOfAlpha));
68
- return tvl.toString();
69
- }
70
- }
71
- else if (index_js_1.poolInfo[poolName].parentProtocolName === "CETUS") {
72
- const cetus_pool = (await (0, getReceipts_js_1.getParentPool)(poolName, ignoreCache));
73
- const investor = (await (0, getReceipts_js_1.getInvestor)(poolName, ignoreCache));
74
- return await fetchAlphafiV3PoolTVL(poolName, cetus_pool, investor, ignoreCache);
75
- }
76
- else if (index_js_1.poolInfo[poolName].parentProtocolName === "BLUEFIN") {
77
- const bluefin_pool = (await (0, getReceipts_js_1.getParentPool)(poolName, ignoreCache));
78
- const investor = (await (0, getReceipts_js_1.getInvestor)(poolName, ignoreCache));
79
- return await fetchAlphafiV3PoolTVL(poolName, bluefin_pool, investor, ignoreCache);
80
- }
81
- return "0";
82
- }
83
- async function fetchAlphafiV3PoolTVL(poolName, clmmPool, investor, ignoreCache) {
84
- const pool = await (0, index_js_1.getPool)(poolName, ignoreCache);
85
- const pool1 = index_js_1.doubleAssetPoolCoinMap[poolName].coin1;
86
- const pool2 = index_js_1.doubleAssetPoolCoinMap[poolName].coin2;
87
- const [priceOfCoin0, priceOfCoin1] = await (0, prices_js_1.getLatestPrices)([`${pool1}/USD`, `${pool2}/USD`], ignoreCache);
88
- const liquidity = new bn_js_1.default(pool.content.fields.tokensInvested);
89
- const current_sqrt_price = new bn_js_1.default(clmmPool.content.fields.current_sqrt_price);
90
- let upper_tick = parseInt(investor.content.fields.upper_tick);
91
- let lower_tick = parseInt(investor.content.fields.lower_tick);
92
- if (Math.abs(lower_tick - Math.pow(2, 32)) < lower_tick) {
93
- lower_tick = lower_tick - Math.pow(2, 32);
94
- }
95
- if (Math.abs(upper_tick - Math.pow(2, 32)) < upper_tick) {
96
- upper_tick = upper_tick - Math.pow(2, 32);
97
- }
98
- const upper_sqrt_price = cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(upper_tick);
99
- const lower_sqrt_price = cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(lower_tick);
100
- const { coinA, coinB } = cetus_sui_clmm_sdk_1.ClmmPoolUtil.getCoinAmountFromLiquidity(liquidity, current_sqrt_price, lower_sqrt_price, upper_sqrt_price, false);
101
- let amount0 = new decimal_js_1.Decimal(coinA.toString());
102
- let amount1 = new decimal_js_1.Decimal(coinB.toString());
103
- const ten = new decimal_js_1.Decimal(10);
104
- amount0 = amount0.div(ten.pow(index_js_1.coinsList[pool1].expo));
105
- amount1 = amount1.div(ten.pow(index_js_1.coinsList[pool2].expo));
106
- const tvl = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));
107
- return tvl.toString();
108
- }
109
- //# sourceMappingURL=getTVL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTVL.js","sourceRoot":"","sources":["../../src/getTVL.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(): 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 +0,0 @@
1
- //# sourceMappingURL=deposit1.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deposit1.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit1.ts"],"names":[],"mappings":""}
@@ -1,86 +0,0 @@
1
- "use strict";
2
- // import { Transaction } from "@mysten/sui/transactions";
3
- // import { doubleAssetPoolCoinMap, poolInfo } from "../common/maps.js";
4
- // import { depositAlphaTxb } from "./alpha.js";
5
- // import { naviDepositTx } from "./navi.js";
6
- // import { bucketDepositTx } from "./bucket.js";
7
- // import {
8
- // depositCetusAlphaSuiTxb,
9
- // depositCetusSuiTxb,
10
- // depositCetusTxb,
11
- // } from "./cetus.js";
12
- // import {
13
- // depositBluefinSuiFirstTxb,
14
- // depositBluefinType1Txb,
15
- // } from "./bluefin.js";
16
- // import {
17
- // DepositParams,
18
- // DoubleAssetDepositParams,
19
- // SingleAssetDepositParams,
20
- // } from "./types.js";
21
- // export async function depositTxb(params: DepositParams) {
22
- // let txb = new Transaction();
23
- // if (poolInfo[params.poolName].assetType.length === 1) {
24
- // txb = await depositSingleAssetTxb(params as SingleAssetDepositParams);
25
- // } else if (poolInfo[params.poolName].assetType.length === 1) {
26
- // txb = await depositDoubleAssetTxb(params as DoubleAssetDepositParams);
27
- // }
28
- // return txb;
29
- // }
30
- // export async function depositSingleAssetTxb(params: SingleAssetDepositParams) {
31
- // let txb = new Transaction();
32
- // const { poolName, address, amount } = params;
33
- // if (poolInfo[poolName].parentProtocolName === "ALPHAFI") {
34
- // txb = await depositAlphaTxb(amount, address);
35
- // } else if (poolInfo[poolName].parentProtocolName === "NAVI") {
36
- // txb = await naviDepositTx(Number(amount), poolName, { address });
37
- // } else if (poolInfo[poolName].parentProtocolName === "BUCKET") {
38
- // txb = await bucketDepositTx(Number(amount), { address });
39
- // }
40
- // return txb;
41
- // }
42
- // export async function depositDoubleAssetTxb(params: DoubleAssetDepositParams) {
43
- // let txb = new Transaction();
44
- // const { poolName, address, amount, isAmountA } = params;
45
- // if (poolInfo[poolName].parentProtocolName === "CETUS") {
46
- // const coin1 = doubleAssetPoolCoinMap[poolName].coin1;
47
- // const coin2 = doubleAssetPoolCoinMap[poolName].coin2;
48
- // if (coin1 === "CETUS" && coin2 === "SUI") {
49
- // txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });
50
- // } else if (coin2 === "SUI") {
51
- // txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {
52
- // address,
53
- // });
54
- // } else {
55
- // txb = await depositCetusTxb(amount, poolName, isAmountA, { address });
56
- // }
57
- // } else if (poolInfo[poolName].parentProtocolName === "BLUEFIN") {
58
- // const coin1 = doubleAssetPoolCoinMap[poolName].coin1;
59
- // if (coin1 === "SUI") {
60
- // txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {
61
- // address,
62
- // });
63
- // } else {
64
- // txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {
65
- // address,
66
- // });
67
- // }
68
- // }
69
- // return txb;
70
- // }
71
- // function extractXTokensAmount(transaction: Transaction): string {
72
- // const inputWithPure = transaction
73
- // .getData()
74
- // .inputs.find((input) => input.Pure !== undefined);
75
- // if (!inputWithPure || !inputWithPure.Pure?.bytes) {
76
- // throw new Error("Unable to extract xTokensAmount from inputs");
77
- // }
78
- // const bytes = inputWithPure.Pure.bytes;
79
- // console.log(bytes);
80
- // const parsedU128 = bcs.u128().parse(fromB64(bytes));
81
- // const parsedBytes = bcs.bytes(4).parse(fromB64(bytes));
82
- // console.log("u128", parsedU128);
83
- // console.log("bytes", parsedBytes);
84
- // return new BigNumber(toHEX(fromB64(bytes)), 16).toString();
85
- // }
86
- //# sourceMappingURL=deposit1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deposit1.js","sourceRoot":"","sources":["../../../src/transactions/deposit1.ts"],"names":[],"mappings":";AAAA,0DAA0D;AAC1D,wEAAwE;AACxE,gDAAgD;AAChD,6CAA6C;AAC7C,iDAAiD;AACjD,WAAW;AACX,6BAA6B;AAC7B,wBAAwB;AACxB,qBAAqB;AACrB,uBAAuB;AACvB,WAAW;AACX,+BAA+B;AAC/B,4BAA4B;AAC5B,yBAAyB;AACzB,WAAW;AACX,mBAAmB;AACnB,8BAA8B;AAC9B,8BAA8B;AAC9B,uBAAuB;AAEvB,4DAA4D;AAC5D,iCAAiC;AACjC,4DAA4D;AAC5D,6EAA6E;AAC7E,mEAAmE;AACnE,6EAA6E;AAC7E,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,kFAAkF;AAClF,iCAAiC;AACjC,kDAAkD;AAClD,+DAA+D;AAC/D,oDAAoD;AACpD,mEAAmE;AACnE,wEAAwE;AACxE,qEAAqE;AACrE,gEAAgE;AAChE,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,kFAAkF;AAClF,iCAAiC;AACjC,6DAA6D;AAC7D,6DAA6D;AAC7D,4DAA4D;AAC5D,4DAA4D;AAC5D,kDAAkD;AAClD,kFAAkF;AAClF,oCAAoC;AACpC,2EAA2E;AAC3E,mBAAmB;AACnB,YAAY;AACZ,eAAe;AACf,+EAA+E;AAC/E,QAAQ;AACR,sEAAsE;AACtE,4DAA4D;AAC5D,6BAA6B;AAC7B,6EAA6E;AAC7E,mBAAmB;AACnB,YAAY;AACZ,eAAe;AACf,0EAA0E;AAC1E,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,MAAM;AACN,gBAAgB;AAChB,IAAI;AAEJ,oEAAoE;AACpE,sCAAsC;AACtC,iBAAiB;AACjB,yDAAyD;AACzD,wDAAwD;AACxD,sEAAsE;AACtE,MAAM;AAEN,4CAA4C;AAC5C,wBAAwB;AACxB,yDAAyD;AACzD,4DAA4D;AAC5D,qCAAqC;AACrC,uCAAuC;AACvC,gEAAgE;AAChE,IAAI","sourcesContent":["// import { Transaction } from \"@mysten/sui/transactions\";\n// import { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\n// import { depositAlphaTxb } from \"./alpha.js\";\n// import { naviDepositTx } from \"./navi.js\";\n// import { bucketDepositTx } from \"./bucket.js\";\n// import {\n// depositCetusAlphaSuiTxb,\n// depositCetusSuiTxb,\n// depositCetusTxb,\n// } from \"./cetus.js\";\n// import {\n// depositBluefinSuiFirstTxb,\n// depositBluefinType1Txb,\n// } from \"./bluefin.js\";\n// import {\n// DepositParams,\n// DoubleAssetDepositParams,\n// SingleAssetDepositParams,\n// } from \"./types.js\";\n\n// export async function depositTxb(params: DepositParams) {\n// let txb = new Transaction();\n// if (poolInfo[params.poolName].assetType.length === 1) {\n// txb = await depositSingleAssetTxb(params as SingleAssetDepositParams);\n// } else if (poolInfo[params.poolName].assetType.length === 1) {\n// txb = await depositDoubleAssetTxb(params as DoubleAssetDepositParams);\n// }\n// return txb;\n// }\n\n// export async function depositSingleAssetTxb(params: SingleAssetDepositParams) {\n// let txb = new Transaction();\n// const { poolName, address, amount } = params;\n// if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n// txb = await depositAlphaTxb(amount, address);\n// } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n// txb = await naviDepositTx(Number(amount), poolName, { address });\n// } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n// txb = await bucketDepositTx(Number(amount), { address });\n// }\n// return txb;\n// }\n\n// export async function depositDoubleAssetTxb(params: DoubleAssetDepositParams) {\n// let txb = new Transaction();\n// const { poolName, address, amount, isAmountA } = params;\n// if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n// const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n// const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n// if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n// txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n// } else if (coin2 === \"SUI\") {\n// txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n// address,\n// });\n// } else {\n// txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n// }\n// } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n// const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n// if (coin1 === \"SUI\") {\n// txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n// address,\n// });\n// } else {\n// txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n// address,\n// });\n// }\n// }\n// return txb;\n// }\n\n// function extractXTokensAmount(transaction: Transaction): string {\n// const inputWithPure = transaction\n// .getData()\n// .inputs.find((input) => input.Pure !== undefined);\n// if (!inputWithPure || !inputWithPure.Pure?.bytes) {\n// throw new Error(\"Unable to extract xTokensAmount from inputs\");\n// }\n\n// const bytes = inputWithPure.Pure.bytes;\n// console.log(bytes);\n// const parsedU128 = bcs.u128().parse(fromB64(bytes));\n// const parsedBytes = bcs.bytes(4).parse(fromB64(bytes));\n// console.log(\"u128\", parsedU128);\n// console.log(\"bytes\", parsedBytes);\n// return new BigNumber(toHEX(fromB64(bytes)), 16).toString();\n// }\n"]}
@@ -1,6 +0,0 @@
1
- import { SuiObjectResponse } from "@mysten/sui/client";
2
- import { LiquidityToUsdParams } from "../types.js";
3
- export declare function parseTokensFromReceipts(receipts: SuiObjectResponse[]): Promise<[string, string, string][]>;
4
- export declare function liquidityToUsd(params: LiquidityToUsdParams): string | undefined;
5
- export declare function mergeDuplicateHoldings(userTokens: [string, string, string][]): [string, string, string][];
6
- //# sourceMappingURL=getHoldersFromTransactionsUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getHoldersFromTransactionsUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/getHoldersFromTransactionsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAGL,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAiBrB,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAuBrC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,oBAAoB,GAC3B,MAAM,GAAG,SAAS,CAcpB;AAqGD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GACrC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAkB5B"}
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseTokensFromReceipts = parseTokensFromReceipts;
4
- exports.liquidityToUsd = liquidityToUsd;
5
- exports.mergeDuplicateHoldings = mergeDuplicateHoldings;
6
- const maps_js_1 = require("../common/maps.js");
7
- const decimal_js_1 = require("decimal.js");
8
- const bn_js_1 = require("bn.js");
9
- const cetus_sui_clmm_sdk_1 = require("@cetusprotocol/cetus-sui-clmm-sdk");
10
- const coins_js_1 = require("../common/coins.js");
11
- async function parseTokensFromReceipts(receipts) {
12
- let userTokens = [];
13
- for (const receipt of receipts) {
14
- const nftData = receipt.data?.content;
15
- if (nftData?.dataType === "moveObject") {
16
- const fields = nftData.fields;
17
- const owner = fields.owner;
18
- const pool = maps_js_1.poolIdPoolNameMap[fields.pool_id];
19
- const xTokens = fields.xTokenBalance;
20
- userTokens.push([owner, pool, xTokens]);
21
- }
22
- }
23
- const conversionMap = await (0, maps_js_1.getPoolExchangeRateMap)();
24
- userTokens = userTokens.map(([owner, pool, xTokens]) => {
25
- const conversion = new decimal_js_1.Decimal(conversionMap.get(pool));
26
- const tokens = new decimal_js_1.Decimal(xTokens).mul(conversion).toFixed(4).toString();
27
- return [owner, pool, tokens];
28
- });
29
- return userTokens;
30
- }
31
- function liquidityToUsd(params) {
32
- let holdingUSD;
33
- if (params.poolName.slice(0, 4) === "NAVI") {
34
- holdingUSD = singleAssetLiquidityToUSD(params.liquidity, params.poolName, params.tokenPriceMap);
35
- }
36
- else if (params.poolName === "ALPHA") {
37
- holdingUSD = alphaLiquidityToUSD(params.liquidity, params.tokenPriceMap);
38
- }
39
- else {
40
- holdingUSD = doubleAssetliquidityToUSD(params);
41
- }
42
- return holdingUSD;
43
- }
44
- function doubleAssetliquidityToUSD(params) {
45
- const pool = params.poolName;
46
- const liquidity = params.liquidity;
47
- const ticksCetusMap = params.ticksCetusMap;
48
- const sqrtPriceCetusMap = params.sqrtPriceCetusMap;
49
- const tokenPriceMap = params.tokenPriceMap;
50
- try {
51
- const upper_bound = 443636;
52
- let lower_tick = Number(ticksCetusMap[pool].lower);
53
- let upper_tick = Number(ticksCetusMap[pool].upper);
54
- if (lower_tick > upper_bound) {
55
- lower_tick = -~(lower_tick - 1);
56
- }
57
- if (upper_tick > upper_bound) {
58
- upper_tick = -~(upper_tick - 1);
59
- }
60
- const liquidityInt = Math.floor(Number(liquidity));
61
- const sqrtPrice = sqrtPriceCetusMap.get(pool);
62
- const coin_amounts = cetus_sui_clmm_sdk_1.ClmmPoolUtil.getCoinAmountFromLiquidity(new bn_js_1.BN(`${liquidityInt}`), new bn_js_1.BN(sqrtPrice), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(lower_tick), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(upper_tick), true);
63
- const coinAmounts = [
64
- coin_amounts.coinA.toNumber(),
65
- coin_amounts.coinB.toNumber(),
66
- ];
67
- const ten = new decimal_js_1.Decimal(10);
68
- const coin1 = maps_js_1.doubleAssetPoolCoinMap[pool].coin1;
69
- const coin2 = maps_js_1.doubleAssetPoolCoinMap[pool].coin2;
70
- const amount1 = new decimal_js_1.Decimal(coinAmounts[0]).div(ten.pow(coins_js_1.coinsList[coin1].expo));
71
- const amount2 = new decimal_js_1.Decimal(coinAmounts[1]).div(ten.pow(coins_js_1.coinsList[coin2].expo));
72
- const priceOfCoin1 = tokenPriceMap.get(coin1);
73
- const priceOfCoin2 = tokenPriceMap.get(coin2);
74
- if (priceOfCoin1 && priceOfCoin2) {
75
- const amount = amount1.mul(priceOfCoin1).add(amount2.mul(priceOfCoin2));
76
- return amount.toFixed(2).toString();
77
- }
78
- }
79
- catch (error) {
80
- console.error(`Error fetching price of ${pool}:`, error);
81
- return undefined;
82
- }
83
- }
84
- function alphaLiquidityToUSD(liquidity, tokenPriceMap) {
85
- try {
86
- const priceOfAlpha = tokenPriceMap.get("ALPHA");
87
- if (priceOfAlpha) {
88
- let amount = new decimal_js_1.Decimal(liquidity).div(1e9);
89
- amount = amount.mul(priceOfAlpha);
90
- return amount.toFixed(2).toString();
91
- }
92
- }
93
- catch (error) {
94
- console.error(`Error fetching price of ALPHA:`, error);
95
- return undefined;
96
- }
97
- }
98
- function singleAssetLiquidityToUSD(liquidity, pool, tokenPriceMap) {
99
- try {
100
- const singlePool = pool;
101
- const coin = maps_js_1.singleAssetPoolCoinMap[singlePool].coin;
102
- let amount = new decimal_js_1.Decimal(liquidity).div(Math.pow(10, 9 - coins_js_1.coinsList[coin].expo));
103
- amount = amount.div(new decimal_js_1.Decimal(Math.pow(10, coins_js_1.coinsList[coin].expo)));
104
- const priceOfCoin = tokenPriceMap.get(coin);
105
- if (priceOfCoin) {
106
- const amountInUSD = amount.mul(priceOfCoin);
107
- return amountInUSD.toFixed(2).toString();
108
- }
109
- }
110
- catch (error) {
111
- console.error(`Error fetching price of ${pool}:`, error);
112
- return undefined;
113
- }
114
- }
115
- function mergeDuplicateHoldings(userTokens) {
116
- const address_poolValueMap = new Map();
117
- userTokens.forEach(([address, pool, value]) => {
118
- const key = `${address}_${pool}`;
119
- const numericValue = parseFloat(value);
120
- if (address_poolValueMap.has(key)) {
121
- address_poolValueMap.set(key, address_poolValueMap.get(key) + numericValue);
122
- }
123
- else {
124
- address_poolValueMap.set(key, numericValue);
125
- }
126
- });
127
- return Array.from(address_poolValueMap.entries()).map(([key, value]) => {
128
- const [address, pool] = key.split("_");
129
- return [address, pool, value.toFixed(2).toString()];
130
- });
131
- }
132
- //# sourceMappingURL=getHoldersFromTransactionsUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getHoldersFromTransactionsUtils.js","sourceRoot":"","sources":["../../../src/utils/getHoldersFromTransactionsUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import { SuiObjectResponse } from \"@mysten/sui/client\";\nimport {\n AlphaReceiptFields,\n OtherReceiptFields,\n LiquidityToUsdParams,\n} from \"../types.js\";\nimport {\n poolIdPoolNameMap,\n doubleAssetPoolCoinMap,\n getPoolExchangeRateMap,\n singleAssetPoolCoinMap,\n} from \"../common/maps.js\";\nimport { Decimal } from \"decimal.js\";\nimport { BN } from \"bn.js\";\nimport { PoolName, CoinName } from \"../common/types.js\";\nimport {\n ClmmPoolUtil,\n TickMath,\n CoinAmounts,\n} from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport { coinsList } from \"../common/coins.js\";\n\nexport async function parseTokensFromReceipts(\n receipts: SuiObjectResponse[],\n): Promise<[string, string, string][]> {\n let userTokens: [string, string, string][] = [];\n\n for (const receipt of receipts) {\n const nftData = receipt.data?.content;\n if (nftData?.dataType === \"moveObject\") {\n const fields = nftData.fields as AlphaReceiptFields | OtherReceiptFields;\n const owner = fields.owner;\n const pool = poolIdPoolNameMap[fields.pool_id] as string;\n const xTokens = fields.xTokenBalance;\n userTokens.push([owner, pool, xTokens]);\n }\n }\n const conversionMap = await getPoolExchangeRateMap();\n userTokens = userTokens.map(([owner, pool, xTokens]) => {\n const conversion = new Decimal(\n conversionMap.get(pool as PoolName) as string,\n );\n const tokens = new Decimal(xTokens).mul(conversion).toFixed(4).toString();\n return [owner, pool, tokens];\n });\n\n return userTokens;\n}\n\nexport function liquidityToUsd(\n params: LiquidityToUsdParams,\n): string | undefined {\n let holdingUSD: string | undefined;\n if (params.poolName.slice(0, 4) === \"NAVI\") {\n holdingUSD = singleAssetLiquidityToUSD(\n params.liquidity,\n params.poolName,\n params.tokenPriceMap,\n );\n } else if (params.poolName === \"ALPHA\") {\n holdingUSD = alphaLiquidityToUSD(params.liquidity, params.tokenPriceMap);\n } else {\n holdingUSD = doubleAssetliquidityToUSD(params);\n }\n return holdingUSD;\n}\nfunction doubleAssetliquidityToUSD(params: {\n liquidity: string;\n poolName: string;\n ticksCetusMap: { [pool: string]: { lower: string; upper: string } };\n sqrtPriceCetusMap: Map<PoolName, string>;\n tokenPriceMap: Map<CoinName, string>;\n}): string | undefined {\n const pool = params.poolName;\n const liquidity = params.liquidity;\n const ticksCetusMap = params.ticksCetusMap;\n const sqrtPriceCetusMap = params.sqrtPriceCetusMap;\n const tokenPriceMap = params.tokenPriceMap;\n\n try {\n const upper_bound = 443636;\n let lower_tick = Number(ticksCetusMap[pool].lower);\n let upper_tick = Number(ticksCetusMap[pool].upper);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n const liquidityInt = Math.floor(Number(liquidity));\n const sqrtPrice = sqrtPriceCetusMap.get(pool as PoolName) as string;\n const coin_amounts: CoinAmounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(sqrtPrice),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n const coinAmounts = [\n coin_amounts.coinA.toNumber(),\n coin_amounts.coinB.toNumber(),\n ];\n const ten = new Decimal(10);\n const coin1 = doubleAssetPoolCoinMap[pool].coin1;\n const coin2 = doubleAssetPoolCoinMap[pool].coin2;\n\n const amount1 = new Decimal(coinAmounts[0]).div(\n ten.pow(coinsList[coin1].expo),\n );\n const amount2 = new Decimal(coinAmounts[1]).div(\n ten.pow(coinsList[coin2].expo),\n );\n const priceOfCoin1 = tokenPriceMap.get(coin1);\n const priceOfCoin2 = tokenPriceMap.get(coin2);\n if (priceOfCoin1 && priceOfCoin2) {\n const amount = amount1.mul(priceOfCoin1).add(amount2.mul(priceOfCoin2));\n return amount.toFixed(2).toString();\n }\n } catch (error) {\n console.error(`Error fetching price of ${pool}:`, error);\n return undefined;\n }\n}\nfunction alphaLiquidityToUSD(\n liquidity: string,\n tokenPriceMap: Map<CoinName, string>,\n) {\n try {\n const priceOfAlpha = tokenPriceMap.get(\"ALPHA\");\n if (priceOfAlpha) {\n let amount = new Decimal(liquidity).div(1e9);\n amount = amount.mul(priceOfAlpha);\n return amount.toFixed(2).toString();\n }\n } catch (error) {\n console.error(`Error fetching price of ALPHA:`, error);\n return undefined;\n }\n}\nfunction singleAssetLiquidityToUSD(\n liquidity: string,\n pool: string,\n tokenPriceMap: Map<CoinName, string>,\n) {\n try {\n const singlePool = pool as Extract<\n PoolName,\n \"NAVI-VSUI\" | \"NAVI-SUI\" | \"NAVI-WETH\" | \"NAVI-USDC\" | \"NAVI-USDT\"\n >;\n const coin = singleAssetPoolCoinMap[singlePool].coin;\n let amount = new Decimal(liquidity).div(\n Math.pow(10, 9 - coinsList[coin].expo),\n );\n amount = amount.div(new Decimal(Math.pow(10, coinsList[coin].expo)));\n const priceOfCoin = tokenPriceMap.get(coin);\n if (priceOfCoin) {\n const amountInUSD = amount.mul(priceOfCoin);\n return amountInUSD.toFixed(2).toString();\n }\n } catch (error) {\n console.error(`Error fetching price of ${pool}:`, error);\n return undefined;\n }\n}\n\nexport function mergeDuplicateHoldings(\n userTokens: [string, string, string][],\n): [string, string, string][] {\n const address_poolValueMap = new Map<string, number>();\n userTokens.forEach(([address, pool, value]) => {\n const key = `${address}_${pool}`;\n const numericValue = parseFloat(value);\n if (address_poolValueMap.has(key)) {\n address_poolValueMap.set(\n key,\n address_poolValueMap.get(key)! + numericValue,\n );\n } else {\n address_poolValueMap.set(key, numericValue);\n }\n });\n return Array.from(address_poolValueMap.entries()).map(([key, value]) => {\n const [address, pool] = key.split(\"_\");\n return [address, pool, value.toFixed(2).toString()];\n });\n}\n"]}
@@ -1,2 +0,0 @@
1
- export declare function collectReward(): void;
2
- //# sourceMappingURL=collectReward.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collectReward.d.ts","sourceRoot":"","sources":["../../src/collectReward.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,SAE5B"}
@@ -1,4 +0,0 @@
1
- export function collectReward() {
2
- console.log("Not implemented");
3
- }
4
- //# sourceMappingURL=collectReward.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collectReward.js","sourceRoot":"","sources":["../../src/collectReward.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACjC,CAAC","sourcesContent":["export function collectReward() {\n console.log(\"Not implemented\");\n}\n"]}
@@ -1,9 +0,0 @@
1
- import { GetUserTokensFromTransactionsParams, GetUserTokensInUsdFromTransactionsParams, UserUsdHoldings } from "./types.js";
2
- export declare function getHoldersFromTransactions(params?: {
3
- poolNames?: string[];
4
- startTime?: number;
5
- endTime?: number;
6
- }): Promise<string[]>;
7
- export declare function getUserTokensFromTransactions(params?: GetUserTokensFromTransactionsParams): Promise<[string, string, string][]>;
8
- export declare function getUserTokensInUsdFromTransactions(params?: GetUserTokensInUsdFromTransactionsParams): Promise<UserUsdHoldings[]>;
9
- //# sourceMappingURL=getHoldersFromTransactions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getHoldersFromTransactions.d.ts","sourceRoot":"","sources":["../../src/getHoldersFromTransactions.ts"],"names":[],"mappings":"AASA,OAAO,EACL,mCAAmC,EACnC,wCAAwC,EACxC,eAAe,EAEhB,MAAM,YAAY,CAAC;AAepB,wBAAsB,0BAA0B,CAAC,MAAM,CAAC,EAAE;IACxD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuBpB;AAED,wBAAsB,6BAA6B,CACjD,MAAM,CAAC,EAAE,mCAAmC,GAC3C,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAiBrC;AAED,wBAAsB,kCAAkC,CACtD,MAAM,CAAC,EAAE,wCAAwC,GAChD,OAAO,CAAC,eAAe,EAAE,CAAC,CAoC5B"}
@@ -1,82 +0,0 @@
1
- import { fetchTransactions } from "./sui-sdk/transactions/fetchTransactions.js";
2
- import { nonAlphaDepositFilters, alphaDepositFilters, } from "./sui-sdk/transactions/constants.js";
3
- import { getReceipts } from "./utils/getReceipts.js";
4
- import { getCetusSqrtPriceMap, getCetusInvestorTicksMap, getTokenPriceMap, } from "./common/maps.js";
5
- import { parseTokensFromReceipts, liquidityToUsd, mergeDuplicateHoldings, } from "./utils/getHoldersFromTransactionsUtils.js";
6
- // TODO: add functionality for Pool
7
- export async function getHoldersFromTransactions(params) {
8
- const now = Date.now();
9
- const twentyFourHoursAgo = now - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago
10
- const startTime = params?.startTime ? params.startTime : twentyFourHoursAgo;
11
- const endTime = params?.endTime ? params.endTime : now;
12
- const filters = [
13
- ...alphaDepositFilters,
14
- ...nonAlphaDepositFilters,
15
- ];
16
- const transactions = await fetchTransactions({
17
- startTime: startTime,
18
- endTime: endTime,
19
- filter: filters,
20
- sort: "descending",
21
- });
22
- const users = transactions.map((tx) => {
23
- const owner = tx.effects?.gasObject.owner;
24
- return owner.AddressOwner;
25
- });
26
- const userSet = new Set(users);
27
- return Array.from(userSet);
28
- }
29
- export async function getUserTokensFromTransactions(params) {
30
- let owners;
31
- if (params?.owners) {
32
- owners = params.owners;
33
- }
34
- else {
35
- owners = await getHoldersFromTransactions({
36
- poolNames: params?.poolNames,
37
- startTime: params?.startTime,
38
- endTime: params?.endTime,
39
- });
40
- }
41
- const receipts = await getReceipts({
42
- poolNames: params?.poolNames,
43
- owners: owners,
44
- });
45
- const userTokens = parseTokensFromReceipts(receipts);
46
- return userTokens;
47
- }
48
- export async function getUserTokensInUsdFromTransactions(params) {
49
- let usdHoldings = [];
50
- // format: [address pool tokens][]
51
- let tokenHoldings;
52
- if (params?.userTokensHoldings) {
53
- tokenHoldings = params.userTokensHoldings;
54
- }
55
- else {
56
- tokenHoldings = await getUserTokensFromTransactions(params);
57
- }
58
- const sqrtPriceCetusMap = await getCetusSqrtPriceMap();
59
- const ticksCetusMap = await getCetusInvestorTicksMap();
60
- const tokenPriceMap = await getTokenPriceMap();
61
- usdHoldings = tokenHoldings.map(([address, poolName, tokens]) => {
62
- const params = {
63
- liquidity: tokens,
64
- poolName: poolName,
65
- ticksCetusMap: ticksCetusMap,
66
- sqrtPriceCetusMap: sqrtPriceCetusMap,
67
- tokenPriceMap: tokenPriceMap,
68
- };
69
- const usdVal = liquidityToUsd(params);
70
- return [address, poolName, usdVal];
71
- });
72
- usdHoldings = mergeDuplicateHoldings(usdHoldings);
73
- const userUsdHoldings = usdHoldings.map(([address, pool, value]) => {
74
- return {
75
- user: address,
76
- poolName: pool,
77
- usdHoldings: value,
78
- };
79
- });
80
- return userUsdHoldings;
81
- }
82
- //# sourceMappingURL=getHoldersFromTransactions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getHoldersFromTransactions.js","sourceRoot":"","sources":["../../src/getHoldersFromTransactions.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SuiTransactionBlockResponse,\n TransactionFilter,\n} from \"@mysten/sui/client\";\nimport { fetchTransactions } from \"./sui-sdk/transactions/fetchTransactions.js\";\nimport {\n nonAlphaDepositFilters,\n alphaDepositFilters,\n} from \"./sui-sdk/transactions/constants.js\";\nimport {\n GetUserTokensFromTransactionsParams,\n GetUserTokensInUsdFromTransactionsParams,\n UserUsdHoldings,\n LiquidityToUsdParams,\n} from \"./types.js\";\nimport { getReceipts } from \"./utils/getReceipts.js\";\nimport {\n getCetusSqrtPriceMap,\n getCetusInvestorTicksMap,\n getTokenPriceMap,\n} from \"./common/maps.js\";\nimport { PoolName } from \"./common/types.js\";\nimport {\n parseTokensFromReceipts,\n liquidityToUsd,\n mergeDuplicateHoldings,\n} from \"./utils/getHoldersFromTransactionsUtils.js\";\n\n// TODO: add functionality for Pool\nexport async function getHoldersFromTransactions(params?: {\n poolNames?: string[];\n startTime?: number;\n endTime?: number;\n}): Promise<string[]> {\n const now = Date.now();\n const twentyFourHoursAgo = now - 24 * 60 * 60 * 1000; // timestamp for 24 hours ago\n const startTime = params?.startTime ? params.startTime : twentyFourHoursAgo;\n const endTime = params?.endTime ? params.endTime : now;\n\n const filters: TransactionFilter[] = [\n ...alphaDepositFilters,\n ...nonAlphaDepositFilters,\n ];\n const transactions: SuiTransactionBlockResponse[] = await fetchTransactions({\n startTime: startTime,\n endTime: endTime,\n filter: filters,\n sort: \"descending\",\n });\n const users = transactions.map((tx) => {\n const owner = tx.effects?.gasObject.owner as { AddressOwner: string };\n return owner.AddressOwner;\n });\n\n const userSet = new Set<string>(users);\n return Array.from(userSet);\n}\n\nexport async function getUserTokensFromTransactions(\n params?: GetUserTokensFromTransactionsParams,\n): Promise<[string, string, string][]> {\n let owners: string[];\n if (params?.owners) {\n owners = params.owners;\n } else {\n owners = await getHoldersFromTransactions({\n poolNames: params?.poolNames,\n startTime: params?.startTime,\n endTime: params?.endTime,\n });\n }\n const receipts = await getReceipts({\n poolNames: params?.poolNames,\n owners: owners,\n });\n const userTokens = parseTokensFromReceipts(receipts);\n return userTokens;\n}\n\nexport async function getUserTokensInUsdFromTransactions(\n params?: GetUserTokensInUsdFromTransactionsParams,\n): Promise<UserUsdHoldings[]> {\n let usdHoldings: [string, string, string][] = [];\n\n // format: [address pool tokens][]\n let tokenHoldings: [string, string, string][];\n if (params?.userTokensHoldings) {\n tokenHoldings = params.userTokensHoldings;\n } else {\n tokenHoldings = await getUserTokensFromTransactions(params);\n }\n const sqrtPriceCetusMap = await getCetusSqrtPriceMap();\n const ticksCetusMap = await getCetusInvestorTicksMap();\n const tokenPriceMap = await getTokenPriceMap();\n usdHoldings = tokenHoldings.map(([address, poolName, tokens]) => {\n const params: LiquidityToUsdParams = {\n liquidity: tokens,\n poolName: poolName,\n ticksCetusMap: ticksCetusMap,\n sqrtPriceCetusMap: sqrtPriceCetusMap,\n tokenPriceMap: tokenPriceMap,\n };\n const usdVal = liquidityToUsd(params) as string;\n return [address, poolName, usdVal];\n });\n usdHoldings = mergeDuplicateHoldings(usdHoldings);\n const userUsdHoldings: UserUsdHoldings[] = usdHoldings.map(\n ([address, pool, value]) => {\n return {\n user: address,\n poolName: pool as PoolName,\n usdHoldings: value,\n };\n },\n );\n\n return userUsdHoldings;\n}\n"]}
@@ -1,5 +0,0 @@
1
- import { CetusInvestor, CommonInvestorFields, CetusPoolType, PoolName, BluefinInvestor, BluefinPoolType } from "./index.js";
2
- export declare function getTVLs(): Promise<Map<PoolName, string>>;
3
- export declare function fetchTVL(poolName: PoolName, ignoreCache: boolean): Promise<string>;
4
- export declare function fetchAlphafiV3PoolTVL(poolName: PoolName, clmmPool: CetusPoolType | BluefinPoolType, investor: (CetusInvestor | BluefinInvestor) & CommonInvestorFields, ignoreCache: boolean): Promise<string>;
5
- //# sourceMappingURL=getTVL.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTVL.d.ts","sourceRoot":"","sources":["../../src/getTVL.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,eAAe,EAIf,eAAe,EAGhB,MAAM,YAAY,CAAC;AAapB,wBAAsB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAY9D;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,CAkGjB;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,aAAa,GAAG,eAAe,EACzC,QAAQ,EAAE,CAAC,aAAa,GAAG,eAAe,CAAC,GAAG,oBAAoB,EAClE,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,CAuCjB"}