@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,103 +0,0 @@
1
- import { Decimal } from "decimal.js";
2
- import { getPool, poolInfo, singleAssetPoolCoinMap, coinsList, doubleAssetPoolCoinMap, } from "./index.js";
3
- import { getDistributor, getInvestor, getMultiInvestor, getMultiParentPool, getParentPool, } from "./sui-sdk/functions/getReceipts.js";
4
- import { getLatestPrices, getMultiLatestPrices } from "./utils/prices.js";
5
- import BN from "bn.js";
6
- import { ClmmPoolUtil, TickMath } from "@cetusprotocol/cetus-sui-clmm-sdk";
7
- export async function getTVLs() {
8
- const tvlMap = new Map();
9
- await getMultiInvestor();
10
- await getMultiLatestPrices();
11
- await getMultiParentPool();
12
- // await getMultiPool();
13
- const pools = Object.keys(poolInfo);
14
- for (const key of pools) {
15
- const tvl = await fetchTVL(key, false);
16
- tvlMap.set(key, tvl);
17
- }
18
- return tvlMap;
19
- }
20
- export async function fetchTVL(poolName, ignoreCache) {
21
- const pool = await getPool(poolName, ignoreCache);
22
- if (poolInfo[poolName].parentProtocolName == "NAVI") {
23
- const poolToken = singleAssetPoolCoinMap[poolName].coin;
24
- const [priceOfCoin] = await getLatestPrices([`${poolToken}/USD`], ignoreCache);
25
- let tvl = new Decimal(0);
26
- if (poolInfo[poolName].strategyType === "LOOPING") {
27
- const investor = (await getInvestor(poolName, ignoreCache));
28
- const liquidity = new Decimal(investor.content.fields.tokensDeposited);
29
- const debtToSupplyRatio = new Decimal(investor.content.fields.current_debt_to_supply_ratio);
30
- const tokensInvested = liquidity.mul(new Decimal(1).minus(debtToSupplyRatio.div(new Decimal(1e20))));
31
- if (poolName == "NAVI-LOOP-SUI-VSUI") {
32
- const [vsuiPrice] = await getLatestPrices([`VSUI/USD`], ignoreCache);
33
- if (vsuiPrice) {
34
- tvl = new Decimal(tokensInvested).mul(vsuiPrice).div(1e9);
35
- }
36
- }
37
- else {
38
- tvl = tokensInvested.div(1e9).mul(priceOfCoin);
39
- }
40
- }
41
- else {
42
- const liquidity = new Decimal(pool.content.fields.tokensInvested);
43
- const tokensInvested = liquidity.div(new Decimal(Math.pow(10, 9)));
44
- tvl = tokensInvested.mul(priceOfCoin);
45
- }
46
- return tvl.toString();
47
- }
48
- else if (poolInfo[poolName].parentProtocolName == "BUCKET") {
49
- const poolToken = singleAssetPoolCoinMap[poolName].coin;
50
- const [priceOfCoin] = await getLatestPrices([`${poolToken}/USD`], ignoreCache);
51
- const liquidity = new Decimal(pool.content.fields.tokensInvested);
52
- const tokensInvested = liquidity.div(new Decimal(Math.pow(10, coinsList[singleAssetPoolCoinMap[poolName].coin].expo)));
53
- const tvl = tokensInvested.mul(priceOfCoin);
54
- return tvl.toString();
55
- }
56
- else if (poolInfo[poolName].parentProtocolName === "ALPHAFI") {
57
- const distributor = await getDistributor(ignoreCache);
58
- const [priceOfAlpha] = await getLatestPrices(["ALPHA/USD"], ignoreCache);
59
- if (pool && distributor && priceOfAlpha) {
60
- const tokensInvested = new Decimal(pool.content.fields.tokensInvested);
61
- const tvl = tokensInvested.div(1e9).mul(new Decimal(priceOfAlpha));
62
- return tvl.toString();
63
- }
64
- }
65
- else if (poolInfo[poolName].parentProtocolName === "CETUS") {
66
- const cetus_pool = (await getParentPool(poolName, ignoreCache));
67
- const investor = (await getInvestor(poolName, ignoreCache));
68
- return await fetchAlphafiV3PoolTVL(poolName, cetus_pool, investor, ignoreCache);
69
- }
70
- else if (poolInfo[poolName].parentProtocolName === "BLUEFIN") {
71
- const bluefin_pool = (await getParentPool(poolName, ignoreCache));
72
- const investor = (await getInvestor(poolName, ignoreCache));
73
- return await fetchAlphafiV3PoolTVL(poolName, bluefin_pool, investor, ignoreCache);
74
- }
75
- return "0";
76
- }
77
- export async function fetchAlphafiV3PoolTVL(poolName, clmmPool, investor, ignoreCache) {
78
- const pool = await getPool(poolName, ignoreCache);
79
- const pool1 = doubleAssetPoolCoinMap[poolName].coin1;
80
- const pool2 = doubleAssetPoolCoinMap[poolName].coin2;
81
- const [priceOfCoin0, priceOfCoin1] = await getLatestPrices([`${pool1}/USD`, `${pool2}/USD`], ignoreCache);
82
- const liquidity = new BN(pool.content.fields.tokensInvested);
83
- const current_sqrt_price = new BN(clmmPool.content.fields.current_sqrt_price);
84
- let upper_tick = parseInt(investor.content.fields.upper_tick);
85
- let lower_tick = parseInt(investor.content.fields.lower_tick);
86
- if (Math.abs(lower_tick - Math.pow(2, 32)) < lower_tick) {
87
- lower_tick = lower_tick - Math.pow(2, 32);
88
- }
89
- if (Math.abs(upper_tick - Math.pow(2, 32)) < upper_tick) {
90
- upper_tick = upper_tick - Math.pow(2, 32);
91
- }
92
- const upper_sqrt_price = TickMath.tickIndexToSqrtPriceX64(upper_tick);
93
- const lower_sqrt_price = TickMath.tickIndexToSqrtPriceX64(lower_tick);
94
- const { coinA, coinB } = ClmmPoolUtil.getCoinAmountFromLiquidity(liquidity, current_sqrt_price, lower_sqrt_price, upper_sqrt_price, false);
95
- let amount0 = new Decimal(coinA.toString());
96
- let amount1 = new Decimal(coinB.toString());
97
- const ten = new Decimal(10);
98
- amount0 = amount0.div(ten.pow(coinsList[pool1].expo));
99
- amount1 = amount1.div(ten.pow(coinsList[pool2].expo));
100
- const tvl = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));
101
- return tvl.toString();
102
- }
103
- //# 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,2 +0,0 @@
1
- export {};
2
- //# 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
- // import { Transaction } from "@mysten/sui/transactions";
2
- // import { doubleAssetPoolCoinMap, poolInfo } from "../common/maps.js";
3
- // import { depositAlphaTxb } from "./alpha.js";
4
- // import { naviDepositTx } from "./navi.js";
5
- // import { bucketDepositTx } from "./bucket.js";
6
- // import {
7
- // depositCetusAlphaSuiTxb,
8
- // depositCetusSuiTxb,
9
- // depositCetusTxb,
10
- // } from "./cetus.js";
11
- // import {
12
- // depositBluefinSuiFirstTxb,
13
- // depositBluefinType1Txb,
14
- // } from "./bluefin.js";
15
- // import {
16
- // DepositParams,
17
- // DoubleAssetDepositParams,
18
- // SingleAssetDepositParams,
19
- // } from "./types.js";
20
- export {};
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,127 +0,0 @@
1
- import { poolIdPoolNameMap, doubleAssetPoolCoinMap, getPoolExchangeRateMap, singleAssetPoolCoinMap, } from "../common/maps.js";
2
- import { Decimal } from "decimal.js";
3
- import { BN } from "bn.js";
4
- import { ClmmPoolUtil, TickMath, } from "@cetusprotocol/cetus-sui-clmm-sdk";
5
- import { coinsList } from "../common/coins.js";
6
- export async function parseTokensFromReceipts(receipts) {
7
- let userTokens = [];
8
- for (const receipt of receipts) {
9
- const nftData = receipt.data?.content;
10
- if (nftData?.dataType === "moveObject") {
11
- const fields = nftData.fields;
12
- const owner = fields.owner;
13
- const pool = poolIdPoolNameMap[fields.pool_id];
14
- const xTokens = fields.xTokenBalance;
15
- userTokens.push([owner, pool, xTokens]);
16
- }
17
- }
18
- const conversionMap = await getPoolExchangeRateMap();
19
- userTokens = userTokens.map(([owner, pool, xTokens]) => {
20
- const conversion = new Decimal(conversionMap.get(pool));
21
- const tokens = new Decimal(xTokens).mul(conversion).toFixed(4).toString();
22
- return [owner, pool, tokens];
23
- });
24
- return userTokens;
25
- }
26
- export function liquidityToUsd(params) {
27
- let holdingUSD;
28
- if (params.poolName.slice(0, 4) === "NAVI") {
29
- holdingUSD = singleAssetLiquidityToUSD(params.liquidity, params.poolName, params.tokenPriceMap);
30
- }
31
- else if (params.poolName === "ALPHA") {
32
- holdingUSD = alphaLiquidityToUSD(params.liquidity, params.tokenPriceMap);
33
- }
34
- else {
35
- holdingUSD = doubleAssetliquidityToUSD(params);
36
- }
37
- return holdingUSD;
38
- }
39
- function doubleAssetliquidityToUSD(params) {
40
- const pool = params.poolName;
41
- const liquidity = params.liquidity;
42
- const ticksCetusMap = params.ticksCetusMap;
43
- const sqrtPriceCetusMap = params.sqrtPriceCetusMap;
44
- const tokenPriceMap = params.tokenPriceMap;
45
- try {
46
- const upper_bound = 443636;
47
- let lower_tick = Number(ticksCetusMap[pool].lower);
48
- let upper_tick = Number(ticksCetusMap[pool].upper);
49
- if (lower_tick > upper_bound) {
50
- lower_tick = -~(lower_tick - 1);
51
- }
52
- if (upper_tick > upper_bound) {
53
- upper_tick = -~(upper_tick - 1);
54
- }
55
- const liquidityInt = Math.floor(Number(liquidity));
56
- const sqrtPrice = sqrtPriceCetusMap.get(pool);
57
- const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(new BN(`${liquidityInt}`), new BN(sqrtPrice), TickMath.tickIndexToSqrtPriceX64(lower_tick), TickMath.tickIndexToSqrtPriceX64(upper_tick), true);
58
- const coinAmounts = [
59
- coin_amounts.coinA.toNumber(),
60
- coin_amounts.coinB.toNumber(),
61
- ];
62
- const ten = new Decimal(10);
63
- const coin1 = doubleAssetPoolCoinMap[pool].coin1;
64
- const coin2 = doubleAssetPoolCoinMap[pool].coin2;
65
- const amount1 = new Decimal(coinAmounts[0]).div(ten.pow(coinsList[coin1].expo));
66
- const amount2 = new Decimal(coinAmounts[1]).div(ten.pow(coinsList[coin2].expo));
67
- const priceOfCoin1 = tokenPriceMap.get(coin1);
68
- const priceOfCoin2 = tokenPriceMap.get(coin2);
69
- if (priceOfCoin1 && priceOfCoin2) {
70
- const amount = amount1.mul(priceOfCoin1).add(amount2.mul(priceOfCoin2));
71
- return amount.toFixed(2).toString();
72
- }
73
- }
74
- catch (error) {
75
- console.error(`Error fetching price of ${pool}:`, error);
76
- return undefined;
77
- }
78
- }
79
- function alphaLiquidityToUSD(liquidity, tokenPriceMap) {
80
- try {
81
- const priceOfAlpha = tokenPriceMap.get("ALPHA");
82
- if (priceOfAlpha) {
83
- let amount = new Decimal(liquidity).div(1e9);
84
- amount = amount.mul(priceOfAlpha);
85
- return amount.toFixed(2).toString();
86
- }
87
- }
88
- catch (error) {
89
- console.error(`Error fetching price of ALPHA:`, error);
90
- return undefined;
91
- }
92
- }
93
- function singleAssetLiquidityToUSD(liquidity, pool, tokenPriceMap) {
94
- try {
95
- const singlePool = pool;
96
- const coin = singleAssetPoolCoinMap[singlePool].coin;
97
- let amount = new Decimal(liquidity).div(Math.pow(10, 9 - coinsList[coin].expo));
98
- amount = amount.div(new Decimal(Math.pow(10, coinsList[coin].expo)));
99
- const priceOfCoin = tokenPriceMap.get(coin);
100
- if (priceOfCoin) {
101
- const amountInUSD = amount.mul(priceOfCoin);
102
- return amountInUSD.toFixed(2).toString();
103
- }
104
- }
105
- catch (error) {
106
- console.error(`Error fetching price of ${pool}:`, error);
107
- return undefined;
108
- }
109
- }
110
- export function mergeDuplicateHoldings(userTokens) {
111
- const address_poolValueMap = new Map();
112
- userTokens.forEach(([address, pool, value]) => {
113
- const key = `${address}_${pool}`;
114
- const numericValue = parseFloat(value);
115
- if (address_poolValueMap.has(key)) {
116
- address_poolValueMap.set(key, address_poolValueMap.get(key) + numericValue);
117
- }
118
- else {
119
- address_poolValueMap.set(key, numericValue);
120
- }
121
- });
122
- return Array.from(address_poolValueMap.entries()).map(([key, value]) => {
123
- const [address, pool] = key.split("_");
124
- return [address, pool, value.toFixed(2).toString()];
125
- });
126
- }
127
- //# 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 +0,0 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>claimBlueRewardTxb | @alphafi/alphafi-sdk - v0.0.83</title><meta name="description" content="Documentation for @alphafi/alphafi-sdk"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@alphafi/alphafi-sdk - v0.0.83</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@alphafi/alphafi-sdk</a></li><li><a href="claimBlueRewardTxb.html">claimBlueRewardTxb</a></li></ul><h1>Function claimBlueRewardTxb</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="claimBlueRewardTxb" class="tsd-anchor"></a><span class="tsd-kind-call-signature">claim<wbr/>Blue<wbr/>Reward<wbr/>Txb</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">userAddress</span>, <span class="tsd-kind-parameter">poolName</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ClaimRewardResponse</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span><a href="#claimBlueRewardTxb" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">userAddress</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">poolName</span>: <a href="../types/PoolName.html" class="tsd-signature-type tsd-kind-type-alias">PoolName</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ClaimRewardResponse</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/AlphaFiTech/alphafi-sdk/blob/b82e694790e6679e00a8b5be04366685bda6166b/src/transactions/blueRewards.ts#L16">transactions/blueRewards.ts:16</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@alphafi/alphafi-sdk - v0.0.83</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -1 +0,0 @@
1
- <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>pendingBlueRewardAmount | @alphafi/alphafi-sdk - v0.0.83</title><meta name="description" content="Documentation for @alphafi/alphafi-sdk"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@alphafi/alphafi-sdk - v0.0.83</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@alphafi/alphafi-sdk</a></li><li><a href="pendingBlueRewardAmount.html">pendingBlueRewardAmount</a></li></ul><h1>Function pendingBlueRewardAmount</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="pendingBlueRewardAmount" class="tsd-anchor"></a><span class="tsd-kind-call-signature">pending<wbr/>Blue<wbr/>Reward<wbr/>Amount</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">userAddress</span>, <span class="tsd-kind-parameter">poolName</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><a href="#pendingBlueRewardAmount" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">userAddress</span>: <span class="tsd-signature-type">string</span></span></li><li><span><span class="tsd-kind-parameter">poolName</span>: <a href="../types/PoolName.html" class="tsd-signature-type tsd-kind-type-alias">PoolName</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/AlphaFiTech/alphafi-sdk/blob/b82e694790e6679e00a8b5be04366685bda6166b/src/transactions/blueRewards.ts#L333">transactions/blueRewards.ts:333</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@alphafi/alphafi-sdk - v0.0.83</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>