@alphafi/alphafi-sdk 0.0.100 → 0.0.102

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 (284) hide show
  1. package/dist/cjs/adminFunctions.d.ts.map +1 -1
  2. package/dist/cjs/adminFunctions.js +27 -1
  3. package/dist/cjs/adminFunctions.js.map +1 -1
  4. package/dist/cjs/common/constants.d.ts +10 -0
  5. package/dist/cjs/common/constants.d.ts.map +1 -1
  6. package/dist/cjs/common/constants.js +30 -20
  7. package/dist/cjs/common/constants.js.map +1 -1
  8. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  9. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +7 -1
  10. package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  11. package/dist/cjs/transactions/7k.js +1 -1
  12. package/dist/cjs/transactions/7k.js.map +1 -1
  13. package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
  14. package/dist/cjs/transactions/bluefin.js +38 -3
  15. package/dist/cjs/transactions/bluefin.js.map +1 -1
  16. package/dist/cjs/transactions/collect_rewards.js +3 -3
  17. package/dist/cjs/transactions/collect_rewards.js.map +1 -1
  18. package/dist/cjs/transactions/navi-looping.d.ts.map +1 -1
  19. package/dist/cjs/transactions/navi-looping.js +4 -4
  20. package/dist/cjs/transactions/navi-looping.js.map +1 -1
  21. package/dist/cjs/transactions/navi.d.ts.map +1 -1
  22. package/dist/cjs/transactions/navi.js +2 -2
  23. package/dist/cjs/transactions/navi.js.map +1 -1
  24. package/dist/cjs/transactions/naviOracle.d.ts +2 -1
  25. package/dist/cjs/transactions/naviOracle.d.ts.map +1 -1
  26. package/dist/cjs/transactions/naviOracle.js +11 -2
  27. package/dist/cjs/transactions/naviOracle.js.map +1 -1
  28. package/dist/cjs/transactions/withdraw.d.ts.map +1 -1
  29. package/dist/cjs/transactions/withdraw.js +10 -2
  30. package/dist/cjs/transactions/withdraw.js.map +1 -1
  31. package/dist/cjs/transactions/zapDeposit.d.ts +2 -1
  32. package/dist/cjs/transactions/zapDeposit.d.ts.map +1 -1
  33. package/dist/cjs/transactions/zapDeposit.js +79 -320
  34. package/dist/cjs/transactions/zapDeposit.js.map +1 -1
  35. package/dist/esm/adminFunctions.d.ts.map +1 -1
  36. package/dist/esm/adminFunctions.js +27 -1
  37. package/dist/esm/adminFunctions.js.map +1 -1
  38. package/dist/esm/common/constants.d.ts +10 -0
  39. package/dist/esm/common/constants.d.ts.map +1 -1
  40. package/dist/esm/common/constants.js +30 -20
  41. package/dist/esm/common/constants.js.map +1 -1
  42. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -1
  43. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +7 -1
  44. package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +1 -1
  45. package/dist/esm/transactions/7k.js +1 -1
  46. package/dist/esm/transactions/7k.js.map +1 -1
  47. package/dist/esm/transactions/bluefin.d.ts.map +1 -1
  48. package/dist/esm/transactions/bluefin.js +38 -3
  49. package/dist/esm/transactions/bluefin.js.map +1 -1
  50. package/dist/esm/transactions/collect_rewards.js +3 -3
  51. package/dist/esm/transactions/collect_rewards.js.map +1 -1
  52. package/dist/esm/transactions/navi-looping.d.ts.map +1 -1
  53. package/dist/esm/transactions/navi-looping.js +4 -4
  54. package/dist/esm/transactions/navi-looping.js.map +1 -1
  55. package/dist/esm/transactions/navi.d.ts.map +1 -1
  56. package/dist/esm/transactions/navi.js +2 -2
  57. package/dist/esm/transactions/navi.js.map +1 -1
  58. package/dist/esm/transactions/naviOracle.d.ts +2 -1
  59. package/dist/esm/transactions/naviOracle.d.ts.map +1 -1
  60. package/dist/esm/transactions/naviOracle.js +11 -2
  61. package/dist/esm/transactions/naviOracle.js.map +1 -1
  62. package/dist/esm/transactions/withdraw.d.ts.map +1 -1
  63. package/dist/esm/transactions/withdraw.js +11 -3
  64. package/dist/esm/transactions/withdraw.js.map +1 -1
  65. package/dist/esm/transactions/zapDeposit.d.ts +2 -1
  66. package/dist/esm/transactions/zapDeposit.d.ts.map +1 -1
  67. package/dist/esm/transactions/zapDeposit.js +78 -321
  68. package/dist/esm/transactions/zapDeposit.js.map +1 -1
  69. package/docs/assets/highlight.css +1 -1
  70. package/docs/functions/alphaLpBreakdown.html +1 -1
  71. package/docs/functions/cetusLpBreakdown.html +1 -1
  72. package/docs/functions/claimRewardTxb.html +1 -1
  73. package/docs/functions/claimRewardsTxb.html +1 -1
  74. package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -1
  75. package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -1
  76. package/docs/functions/coinsInPool.html +1 -1
  77. package/docs/functions/collectAndSwapRewardsLyf.html +1 -1
  78. package/docs/functions/collectAndSwapRewardsSingleLoop.html +1 -1
  79. package/docs/functions/collectRewardTxb.html +1 -1
  80. package/docs/functions/collectRewards.html +1 -1
  81. package/docs/functions/deposit.html +1 -1
  82. package/docs/functions/depositDoubleAssetTxb.html +1 -1
  83. package/docs/functions/depositSingleAssetTxb.html +1 -1
  84. package/docs/functions/fetchAfterTransactionEvents.html +1 -1
  85. package/docs/functions/fetchAirdropClaimEvents.html +1 -1
  86. package/docs/functions/fetchAutoCompoundingEvents.html +1 -1
  87. package/docs/functions/fetchAutoCompoundingEventsGql.html +1 -1
  88. package/docs/functions/fetchCetusPools.html +1 -1
  89. package/docs/functions/fetchChainIdentifier.html +1 -1
  90. package/docs/functions/fetchCheckRatioEvents.html +1 -1
  91. package/docs/functions/fetchEvents.html +1 -1
  92. package/docs/functions/fetchLiquidityChangeEvents.html +1 -1
  93. package/docs/functions/fetchMultiCategoryEvents.html +1 -1
  94. package/docs/functions/fetchMultiReceipts.html +1 -1
  95. package/docs/functions/fetchNftHolders.html +1 -1
  96. package/docs/functions/fetchPools.html +1 -1
  97. package/docs/functions/fetchPortfolioData.html +1 -1
  98. package/docs/functions/fetchProtocolData.html +1 -1
  99. package/docs/functions/fetchRequiredPrices.html +1 -1
  100. package/docs/functions/fetchTVL.html +1 -1
  101. package/docs/functions/fetchTransactions.html +1 -1
  102. package/docs/functions/fetchUserVaultBalances.html +1 -1
  103. package/docs/functions/fetchUserVaults.html +1 -1
  104. package/docs/functions/fetchUserWalletData.html +1 -1
  105. package/docs/functions/fetchVoloExchangeRate.html +1 -1
  106. package/docs/functions/fetchWithdrawV2Events.html +1 -1
  107. package/docs/functions/getAirdropShare.html +1 -1
  108. package/docs/functions/getAllDoubleAssetVaults.html +1 -1
  109. package/docs/functions/getAllSingleAssetVaults.html +1 -1
  110. package/docs/functions/getAllVaultBalances.html +1 -1
  111. package/docs/functions/getAllVaults.html +1 -1
  112. package/docs/functions/getAlphaUnlocks.html +1 -1
  113. package/docs/functions/getAlphaVaultBalance.html +1 -1
  114. package/docs/functions/getAmounts.html +1 -1
  115. package/docs/functions/getApr.html +1 -1
  116. package/docs/functions/getAprs.html +1 -1
  117. package/docs/functions/getApy.html +1 -1
  118. package/docs/functions/getApys.html +1 -1
  119. package/docs/functions/getCetusInvestorTicksMap.html +1 -1
  120. package/docs/functions/getCetusPool.html +1 -1
  121. package/docs/functions/getCetusSqrtPriceMap.html +1 -1
  122. package/docs/functions/getCoinAmountsFromLiquidity.html +1 -1
  123. package/docs/functions/getConf.html +1 -1
  124. package/docs/functions/getCurrentTick.html +1 -1
  125. package/docs/functions/getDistributor.html +1 -1
  126. package/docs/functions/getDoubleAssetVaultBalance.html +1 -1
  127. package/docs/functions/getDoubleAssetVaults.html +1 -1
  128. package/docs/functions/getInvestor.html +1 -1
  129. package/docs/functions/getInvestorPoolMap.html +1 -1
  130. package/docs/functions/getLastAutoCompoundTime.html +1 -1
  131. package/docs/functions/getLatestPrices.html +1 -1
  132. package/docs/functions/getLiquidity.html +1 -1
  133. package/docs/functions/getMultiCetusPool.html +1 -1
  134. package/docs/functions/getMultiInvestor.html +1 -1
  135. package/docs/functions/getMultiLatestPrices.html +1 -1
  136. package/docs/functions/getMultiParentPool.html +1 -1
  137. package/docs/functions/getMultiPool.html +1 -1
  138. package/docs/functions/getMultiReceipts.html +1 -1
  139. package/docs/functions/getParentPool.html +1 -1
  140. package/docs/functions/getPool.html +1 -1
  141. package/docs/functions/getPoolExchangeRate.html +1 -1
  142. package/docs/functions/getPoolExchangeRateMap.html +1 -1
  143. package/docs/functions/getPoolsWeightDistribution.html +1 -1
  144. package/docs/functions/getPositionRange.html +1 -1
  145. package/docs/functions/getPositionRanges.html +1 -1
  146. package/docs/functions/getPositionTicks.html +1 -1
  147. package/docs/functions/getPriceToTick.html +1 -1
  148. package/docs/functions/getRebalanceHistories.html +1 -1
  149. package/docs/functions/getRebalanceHistory.html +1 -1
  150. package/docs/functions/getReceipts.html +1 -1
  151. package/docs/functions/getSingleAssetVaultBalance.html +1 -1
  152. package/docs/functions/getSingleAssetVaults.html +1 -1
  153. package/docs/functions/getSuiClient.html +2 -2
  154. package/docs/functions/getSuiNodeUrl.html +2 -2
  155. package/docs/functions/getTVLs-1.html +1 -1
  156. package/docs/functions/getTickSpacing.html +1 -1
  157. package/docs/functions/getTickToPrice.html +1 -1
  158. package/docs/functions/getTvls.html +1 -1
  159. package/docs/functions/getVaultBalance.html +1 -1
  160. package/docs/functions/getVaults.html +1 -1
  161. package/docs/functions/lastAutocompoundTime.html +1 -1
  162. package/docs/functions/liquidityToTokens.html +1 -1
  163. package/docs/functions/migrateBoostedToLoop.html +1 -1
  164. package/docs/functions/multiLiquidityToTokens.html +1 -1
  165. package/docs/functions/multiTokensToUsd.html +1 -1
  166. package/docs/functions/multiXTokensToLiquidity.html +1 -1
  167. package/docs/functions/parseUserWalletData.html +1 -1
  168. package/docs/functions/pendingRewardAmount.html +1 -1
  169. package/docs/functions/setCustomSuiClient.html +3 -3
  170. package/docs/functions/setSuiClient.html +2 -2
  171. package/docs/functions/setSuiNodeUrl.html +2 -2
  172. package/docs/functions/setWeights.html +1 -1
  173. package/docs/functions/withdraw.html +1 -1
  174. package/docs/functions/withdrawAlphaTxb.html +1 -1
  175. package/docs/functions/withdrawTxb.html +1 -1
  176. package/docs/functions/zapDepositQuoteTxb.html +1 -1
  177. package/docs/functions/zapDepositTxb.html +1 -1
  178. package/docs/hierarchy.html +1 -1
  179. package/docs/index.html +19 -19
  180. package/docs/interfaces/Coin.html +6 -6
  181. package/docs/interfaces/CoinPair.html +2 -2
  182. package/docs/interfaces/CommonEventAttributes.html +2 -2
  183. package/docs/interfaces/NaviVoloData.html +2 -2
  184. package/docs/interfaces/PoolData.html +2 -2
  185. package/docs/interfaces/PoolWeightDistribution.html +2 -2
  186. package/docs/interfaces/RebalanceHistoryType.html +2 -2
  187. package/docs/modules.html +1 -1
  188. package/docs/types/AfterTransactionEventNode.html +1 -1
  189. package/docs/types/AirdropClaimEventNode.html +1 -1
  190. package/docs/types/Allocator.html +2 -2
  191. package/docs/types/AlphaFiDoubleAssetVault.html +2 -2
  192. package/docs/types/AlphaFiMultiVaultBalance.html +1 -1
  193. package/docs/types/AlphaFiSingleAssetVault.html +2 -2
  194. package/docs/types/AlphaFiVault.html +1 -1
  195. package/docs/types/AlphaFiVaultBalance.html +1 -1
  196. package/docs/types/AlphaLendInvestor.html +1 -1
  197. package/docs/types/AlphaPoolType.html +2 -2
  198. package/docs/types/AlphaReceipt.html +2 -2
  199. package/docs/types/AlphaReceiptFields.html +2 -2
  200. package/docs/types/AlphaVaultBalance.html +2 -2
  201. package/docs/types/AutoBalancePoolNames.html +1 -1
  202. package/docs/types/AutoCompoundingEventNode.html +1 -1
  203. package/docs/types/BluefinInvestor.html +1 -1
  204. package/docs/types/BluefinLyfInvestor.html +1 -1
  205. package/docs/types/BluefinPoolType.html +2 -2
  206. package/docs/types/BucketInvestor.html +2 -2
  207. package/docs/types/CetusInvestor.html +2 -2
  208. package/docs/types/CetusPoolType.html +2 -2
  209. package/docs/types/CetusSwapOptions.html +1 -1
  210. package/docs/types/CoinAmounts.html +2 -2
  211. package/docs/types/CoinName.html +1 -1
  212. package/docs/types/CoinType.html +1 -1
  213. package/docs/types/CommonInvestorFields.html +2 -2
  214. package/docs/types/CreatePoolOptions.html +2 -2
  215. package/docs/types/Distributor.html +2 -2
  216. package/docs/types/DoubleAssetMultiVaultBalance.html +2 -2
  217. package/docs/types/DoubleAssetPoolNames.html +1 -1
  218. package/docs/types/DoubleAssetTokenHoldings.html +2 -2
  219. package/docs/types/DoubleAssetVaultBalance.html +2 -2
  220. package/docs/types/EventCategory.html +1 -1
  221. package/docs/types/EventNode.html +1 -1
  222. package/docs/types/GetHoldersParams.html +2 -2
  223. package/docs/types/GetTokenHoldingsParams.html +2 -2
  224. package/docs/types/GetUserTokensFromTransactionsParams.html +2 -2
  225. package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +2 -2
  226. package/docs/types/GetVaultBalanceParams.html +1 -1
  227. package/docs/types/HoldingsObj.html +2 -2
  228. package/docs/types/Icon.html +1 -1
  229. package/docs/types/Investor.html +1 -1
  230. package/docs/types/LiquidityChangeEventNode.html +1 -1
  231. package/docs/types/LiquidityToTokensParams.html +2 -2
  232. package/docs/types/LiquidityToUsdParams.html +2 -2
  233. package/docs/types/LoopingDebt.html +2 -2
  234. package/docs/types/LoopingPoolNames.html +1 -1
  235. package/docs/types/LpBreakdownType.html +2 -2
  236. package/docs/types/MemberPoolDataType.html +2 -2
  237. package/docs/types/MemberType.html +2 -2
  238. package/docs/types/MultiGetVaultBalancesParams.html +2 -2
  239. package/docs/types/NaviInvestor.html +2 -2
  240. package/docs/types/OtherReceiptFields.html +2 -2
  241. package/docs/types/PoolName.html +1 -1
  242. package/docs/types/PoolReceipt.html +1 -1
  243. package/docs/types/PoolType.html +2 -2
  244. package/docs/types/Receipt.html +2 -2
  245. package/docs/types/ReceiptGQL.html +2 -2
  246. package/docs/types/SingleAssetMultiVaultBalance.html +2 -2
  247. package/docs/types/SingleAssetPoolNames.html +1 -1
  248. package/docs/types/SingleAssetTokenHoldings.html +2 -2
  249. package/docs/types/SingleAssetVaultBalance.html +2 -2
  250. package/docs/types/SingleGetVaultBalancesParams.html +2 -2
  251. package/docs/types/StrategyType.html +1 -1
  252. package/docs/types/SuiNetwork.html +1 -1
  253. package/docs/types/SwapOptions.html +1 -1
  254. package/docs/types/TickSpacing.html +1 -1
  255. package/docs/types/TotalWeightType.html +2 -2
  256. package/docs/types/TransactionBlockType.html +2 -2
  257. package/docs/types/UserPoolLiquidity.html +2 -2
  258. package/docs/types/UserPoolTokenHoldings.html +1 -1
  259. package/docs/types/UserUsdHoldings.html +2 -2
  260. package/docs/types/VaultBalance.html +1 -1
  261. package/docs/types/VoteCastEvent.html +1 -1
  262. package/docs/types/WithdrawV2EventNode.html +1 -1
  263. package/docs/variables/AUTOBALANCE_SUI_FIRST_POOLS.html +1 -1
  264. package/docs/variables/AUTOBALANCE_SUI_SECOND_POOLS.html +1 -1
  265. package/docs/variables/AUTOBALANCE_TYPE_1_POOLS.html +1 -1
  266. package/docs/variables/alphalendMarketIdMap.html +1 -1
  267. package/docs/variables/bluefinPoolMap.html +1 -1
  268. package/docs/variables/cetusPoolMap.html +1 -1
  269. package/docs/variables/coinsList.html +1 -1
  270. package/docs/variables/defunctPoolsSet.html +1 -1
  271. package/docs/variables/doubleAssetPoolCoinMap.html +1 -1
  272. package/docs/variables/eventCategories.html +1 -1
  273. package/docs/variables/ignoredWalletsForDailyRevenue.html +1 -1
  274. package/docs/variables/loopingAccountAddresses.html +1 -1
  275. package/docs/variables/loopingPoolCoinMap.html +1 -1
  276. package/docs/variables/naviAssetMap.html +1 -1
  277. package/docs/variables/poolIdPoolNameMap.html +1 -1
  278. package/docs/variables/poolInfo.html +1 -1
  279. package/docs/variables/singleAssetPoolCoinMap.html +1 -1
  280. package/docs/variables/stableCoins.html +1 -1
  281. package/package.json +5 -4
  282. package/scripts/testRun.ts +1 -4
  283. package/#package.json# +0 -98
  284. package/FETCH_OVERRIDE_FIX.md +0 -222
@@ -1 +1 @@
1
- {"version":3,"file":"getPortfolioAmounts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getPortfolioAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EACL,QAAQ,EAUR,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAoBxB,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,EAAE,OAAO,+BA+CrB;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,EAAE,OAAO,+BASrB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAsCvC;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2B7B;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAa7B;AAED,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,mBA6LrB;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgC7B;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B"}
1
+ {"version":3,"file":"getPortfolioAmounts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getPortfolioAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EACL,QAAQ,EAUR,QAAQ,EAET,MAAM,gBAAgB,CAAC;AAoBxB,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,EAAE,OAAO,+BA+CrB;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,EAAE,OAAO,+BASrB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAqDvC;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2B7B;AAED,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAa7B;AAED,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,mBA6LrB;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgC7B;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAe7B"}
@@ -89,7 +89,13 @@ async function getPortfolioAmount(poolName, address, ignoreCache) {
89
89
  else {
90
90
  const receipts = await (0, getReceipts_js_1.getReceipts)(poolName, address, ignoreCache);
91
91
  if (receipts && receipts.length > 0) {
92
- const xTokens = receipts[0].content.fields.xTokenBalance;
92
+ let xTokens = receipts[0].content.fields.xTokenBalance;
93
+ if (poolName === "BLUEFIN-LYF-STSUI-SUI") {
94
+ let investor = (await (0, getReceipts_js_1.getInvestor)(poolName, true));
95
+ xTokens = new decimal_js_1.Decimal(xTokens)
96
+ .mul(new decimal_js_1.Decimal(1).minus(new decimal_js_1.Decimal(investor.content.fields.current_debt_to_supply_ratio.fields.value).div(1e18)))
97
+ .toString();
98
+ }
93
99
  totalXTokens = totalXTokens.add(xTokens);
94
100
  }
95
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getPortfolioAmounts.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getPortfolioAmounts.ts"],"names":[],"mappings":"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","sourcesContent":["import { SuiClient } from \"@mysten/sui/client\";\nimport { Decimal } from \"decimal.js\";\nimport {\n PoolName,\n NaviInvestor,\n CommonInvestorFields,\n poolInfo,\n loopingPoolCoinMap,\n getSuiClient,\n LoopingDebt,\n cetusPoolMap,\n getParentPool,\n getCoinAmountsFromLiquidity,\n CoinName,\n} from \"../../index.js\";\nimport {\n getPool,\n getPoolExchangeRate,\n getReceipts,\n fetchVoloExchangeRate,\n getInvestor,\n} from \"./getReceipts.js\";\nimport { coinsList } from \"../../common/coins.js\";\nimport {\n singleAssetPoolCoinMap,\n doubleAssetPoolCoinMap,\n} from \"../../common/maps.js\";\nimport { PythPriceIdPair } from \"../../common/pyth.js\";\nimport { getAlphaPrice } from \"../../utils/clmm/prices.js\";\nimport { getLatestPrices } from \"../../utils/prices.js\";\nimport { TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport { stSuiExchangeRate, getConf as getStSuiConf } from \"@alphafi/stsui-sdk\";\n\nexport async function getAlphaPortfolioAmount(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean,\n) {\n const receipts = await getReceipts(poolName, options.address, ignoreCache);\n const pool = await getPool(poolName, ignoreCache);\n if (!pool) {\n throw new Error(\"Pool not found\");\n }\n\n const exchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n let totalXTokens = new Decimal(0);\n if (!exchangeRate) {\n return \"0\"; // if pool has 0 xtokens\n }\n if (options.isLocked === true) {\n receipts.forEach(async (receipt) => {\n const xTokens = new Decimal(receipt.content.fields.xTokenBalance);\n const bal = new Decimal(\n Number(receipt.content.fields.unlocked_xtokens) *\n exchangeRate.toNumber(),\n );\n totalXTokens = totalXTokens.add(xTokens.sub(bal));\n });\n } else if (options.isLocked === false) {\n receipts.forEach((receipt) => {\n const bal = new Decimal(\n Number(receipt.content.fields.unlocked_xtokens) *\n exchangeRate.toNumber(),\n );\n totalXTokens = totalXTokens.add(bal);\n });\n } else {\n receipts.forEach((receipt) => {\n const xTokens = receipt.content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n });\n }\n if (totalXTokens.gt(0)) {\n const poolExchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n if (poolExchangeRate) {\n const tokens = totalXTokens.div(1e9).mul(poolExchangeRate);\n return `${tokens}`;\n } else {\n console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);\n }\n } else {\n return \"0\";\n }\n}\n\nexport async function getAlphaPortfolioAmountInUSD(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean,\n) {\n const tokens = await getAlphaPortfolioAmount(poolName, options, ignoreCache);\n const priceOfAlpha = await getAlphaPrice();\n if (priceOfAlpha && tokens) {\n let amount = new Decimal(tokens);\n amount = amount.mul(priceOfAlpha);\n return amount.toString();\n }\n}\n\nexport async function getPortfolioAmount(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n): Promise<[string, string] | undefined> {\n let portfolioAmount: [string, string] = [\"0\", \"0\"];\n let totalXTokens = new Decimal(0);\n if (poolName.toString().includes(\"-FUNGIBLE-\")) {\n const tokenBalance = await getTokenBalance(\n poolInfo[poolName].receiptName as CoinName,\n address,\n );\n if (tokenBalance) {\n totalXTokens = new Decimal(tokenBalance);\n } else {\n console.error(\n \"could not fetch fungible token balance for getPortfolioAmount\",\n );\n }\n } else {\n const receipts = await getReceipts(poolName, address, ignoreCache);\n if (receipts && receipts.length > 0) {\n const xTokens = receipts[0].content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n }\n }\n\n if (totalXTokens.gt(0)) {\n const poolExchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n if (poolExchangeRate) {\n const tokens = totalXTokens.mul(poolExchangeRate);\n const poolTokenAmounts = await getCoinAmountsFromLiquidity(\n poolName,\n tokens.toString(),\n ignoreCache,\n );\n portfolioAmount = poolTokenAmounts;\n } else {\n console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);\n }\n }\n return portfolioAmount;\n}\n\nexport async function getDoubleAssetPortfolioAmountInUSD(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n): Promise<string | undefined> {\n if (poolInfo[poolName].assetTypes.length === 2) {\n const amounts = await getPortfolioAmount(poolName, address, ignoreCache);\n if (amounts) {\n const ten = new Decimal(10);\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const amount0 = new Decimal(amounts[0]).div(\n ten.pow(coinsList[pool1].expo),\n );\n const amount1 = new Decimal(amounts[1]).div(\n ten.pow(coinsList[pool2].expo),\n );\n const [priceOfCoin0, priceOfCoin1] = await getLatestPrices(\n [`${pool1}/USD` as PythPriceIdPair, `${pool2}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n const amount = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));\n return amount.toString();\n } else {\n console.error(\n `getPortfolioAmountInUSD is not implemented for poolName: ${poolName}`,\n );\n }\n return \"0\";\n }\n}\n\nexport async function getNaviLoopingPoolDebt(\n poolName: PoolName,\n): Promise<string | undefined> {\n const debt = (\n (\n await getSuiClient().getDynamicFieldObject({\n parentId: poolInfo[poolName].investorId,\n name: {\n type: \"vector<u8>\",\n value: \"debt\".split(\"\").map((char) => char.charCodeAt(0)),\n },\n })\n ).data as LoopingDebt\n ).content.fields.value.toString();\n return debt;\n}\n\nexport async function getSingleAssetPortfolioAmount(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n) {\n let portfolioAmount: number = 0;\n const receipts = await getReceipts(poolName, address, ignoreCache);\n let totalXTokens = new Decimal(0);\n if (receipts) {\n receipts.forEach((receipt) => {\n const xTokens = receipt.content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n });\n }\n if (totalXTokens.gt(0)) {\n let pool;\n let investor;\n if (\n poolInfo[poolName].parentProtocolName == \"NAVI\" ||\n poolInfo[poolName].parentProtocolName === \"ALPHALEND\"\n ) {\n pool = await getPool(poolName, ignoreCache);\n investor = (await getInvestor(poolName, ignoreCache)) as NaviInvestor &\n CommonInvestorFields;\n }\n if (\n poolName == \"NAVI-LOOP-USDC-USDT\" ||\n poolName == \"NAVI-LOOP-USDT-USDC\"\n ) {\n const supplyCoin = loopingPoolCoinMap[poolName].supplyCoin;\n const borrowCoin = loopingPoolCoinMap[poolName].borrowCoin;\n if (pool && investor) {\n let tokensInvested = new Decimal(0);\n const currentDebt = await getNaviLoopingPoolDebt(poolName);\n\n const currentSupply =\n investor.content.fields.tokensDeposited.toString();\n if (\n cetusPoolMap[supplyCoin + \"-\" + borrowCoin] &&\n currentDebt &&\n currentSupply\n ) {\n const cetusPool = await getParentPool(\n supplyCoin + \"-\" + borrowCoin,\n ignoreCache,\n );\n if (cetusPool) {\n const sqrtPrice = cetusPool?.content.fields.current_sqrt_price;\n const price = TickMath.sqrtPriceX64ToPrice(\n new BN(sqrtPrice!),\n coinsList[supplyCoin].expo,\n coinsList[borrowCoin].expo,\n );\n const currentDebtInSupplyCoin = new Decimal(currentDebt).div(price);\n tokensInvested = new Decimal(currentSupply).minus(\n currentDebtInSupplyCoin,\n );\n } else {\n console.error(`couldnt fetch cetus pool`);\n }\n } else if (\n cetusPoolMap[borrowCoin + \"-\" + supplyCoin] &&\n currentDebt !== undefined &&\n currentSupply !== undefined\n ) {\n const cetusPool = await getParentPool(\n borrowCoin + \"-\" + supplyCoin,\n ignoreCache,\n );\n if (cetusPool) {\n const sqrtPrice = cetusPool?.content.fields.current_sqrt_price;\n const price = TickMath.sqrtPriceX64ToPrice(\n new BN(sqrtPrice!),\n coinsList[borrowCoin].expo,\n coinsList[supplyCoin].expo,\n );\n const currentDebtInSupplyCoin = new Decimal(currentDebt).mul(price);\n tokensInvested = new Decimal(currentSupply).minus(\n currentDebtInSupplyCoin,\n );\n } else {\n console.error(`couldnt fetch cetus pool`);\n }\n } else {\n console.error(\n `one or more of these are possibly undefined: currentDebt:${currentDebt}, currentSupply: ${currentSupply}, cetusPoolMap[supplyCoin+'-'+borrowCoin]:${cetusPoolMap[supplyCoin + \"-\" + borrowCoin]}, cetusPoolMap[borrowCoin+'-'+supplyCoin]: ${cetusPoolMap[borrowCoin + \"-\" + supplyCoin]}`,\n );\n }\n\n const xTokenSupplyInPool = new Decimal(\n pool.content.fields.xTokenSupply,\n );\n const userTokens = totalXTokens\n .mul(tokensInvested)\n .div(xTokenSupplyInPool);\n const tokens = userTokens.div(\n Math.pow(\n 10,\n 9 - coinsList[singleAssetPoolCoinMap[poolName].coin].expo,\n ),\n );\n portfolioAmount = Number(tokens);\n } else {\n console.error(`Could not get object for poolName: ${poolName}`);\n }\n } else if (\n poolName == \"NAVI-LOOP-HASUI-SUI\" ||\n poolName == \"NAVI-LOOP-SUI-VSUI\" ||\n poolName === \"ALPHALEND-LOOP-SUI-STSUI\" ||\n poolName === \"ALPHALEND-SINGLE-LOOP-TBTC\" ||\n poolName === \"ALPHALEND-SINGLE-LOOP-SUIBTC\" ||\n poolName === \"ALPHALEND-SINGLE-LOOP-XAUM\"\n ) {\n if (pool && investor) {\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(new Decimal(debtToSupplyRatio).div(1e20)),\n );\n const xTokenSupplyInPool = new Decimal(\n pool.content.fields.xTokenSupply,\n );\n const userTokens = totalXTokens\n .mul(tokensInvested)\n .div(xTokenSupplyInPool);\n let tokens = userTokens;\n if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n tokens = userTokens.div(\n Math.pow(\n 10,\n 9 - coinsList[singleAssetPoolCoinMap[poolName].coin].expo,\n ),\n );\n }\n if (poolName == \"NAVI-LOOP-SUI-VSUI\") {\n // const { SevenKGateway } = await import(\"../\");\n // const sevenKInstance = new SevenKGateway();\n // const numberOfTokensInSui = (await sevenKInstance.getQuote({\n // slippage: 1,\n // senderAddress: options.address,\n // pair: { coinA: coins[\"VSUI\"], coinB: coins[\"SUI\"] },\n // inAmount: new BN(tokens.toNumber()),\n // })) as QuoteResponse;\n const voloExchRate = await fetchVoloExchangeRate(false);\n portfolioAmount = Number(\n tokens.mul(parseFloat(voloExchRate.data.exchangeRate)),\n );\n } else if (poolName == \"ALPHALEND-LOOP-SUI-STSUI\") {\n // const { SevenKGateway } = await import(\"../\");\n // const sevenKInstance = new SevenKGateway();\n // const numberOfTokensInSui = (await sevenKInstance.getQuote({\n // slippage: 1,\n // senderAddress: options.address,\n // pair: { coinA: coins[\"VSUI\"], coinB: coins[\"SUI\"] },\n // inAmount: new BN(tokens.toNumber()),\n // })) as QuoteResponse;\n const suiTostSuiExchangeRate = await stSuiExchangeRate(\n getStSuiConf().LST_INFO,\n ignoreCache,\n );\n portfolioAmount = Number(\n tokens.mul(parseFloat(suiTostSuiExchangeRate)),\n );\n } else {\n portfolioAmount = Number(tokens);\n }\n } else {\n console.error(`Could not get object for poolName: ${poolName}`);\n }\n } else {\n const poolExchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n if (poolExchangeRate) {\n let tokens = totalXTokens.mul(poolExchangeRate);\n if (poolInfo[poolName].parentProtocolName == \"NAVI\") {\n tokens = tokens.div(\n Math.pow(\n 10,\n 9 - coinsList[singleAssetPoolCoinMap[poolName].coin].expo,\n ),\n );\n }\n portfolioAmount = tokens.toNumber();\n } else {\n console.error(\n `Could not get poolExchangeRate for poolName: ${poolName}`,\n );\n }\n }\n }\n return portfolioAmount;\n}\n\nexport async function getSingleAssetPortfolioAmountInUSD(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n): Promise<string | undefined> {\n const amounts = await getSingleAssetPortfolioAmount(\n poolName,\n address,\n ignoreCache,\n );\n\n if (amounts !== undefined) {\n let coinName = singleAssetPoolCoinMap[poolName].coin;\n if (\n poolName == \"NAVI-LOOP-SUI-VSUI\" ||\n poolName === \"ALPHALEND-LOOP-SUI-STSUI\"\n ) {\n coinName = \"SUI\";\n }\n const amount = new Decimal(amounts).div(\n new Decimal(Math.pow(10, coinsList[coinName].expo)),\n );\n const [priceOfCoin] = await getLatestPrices(\n [`${coinName}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n if (priceOfCoin) {\n const amountInUSD = amount.mul(priceOfCoin);\n return amountInUSD.toString();\n }\n } else {\n console.error(\n `getSingleAssetPortfolioAmountInUSD is not implemented for poolName: ${poolName}`,\n );\n }\n return \"0\";\n}\n\nexport async function getTokenBalance(\n tokenName: CoinName,\n address: string,\n): Promise<string | undefined> {\n const suiClient = getSuiClient();\n let balance = \"0\";\n try {\n const coinBalance = await suiClient.getBalance({\n owner: address,\n coinType: coinsList[tokenName].type,\n });\n\n const balanceInt = parseInt(coinBalance.totalBalance);\n balance = `${balanceInt}`;\n return balance;\n } catch {\n console.error(`Could not get Balance for token: ${tokenName}`);\n }\n}\n"]}
1
+ {"version":3,"file":"getPortfolioAmounts.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getPortfolioAmounts.ts"],"names":[],"mappings":"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","sourcesContent":["import { SuiClient } from \"@mysten/sui/client\";\nimport { Decimal } from \"decimal.js\";\nimport {\n PoolName,\n NaviInvestor,\n CommonInvestorFields,\n poolInfo,\n loopingPoolCoinMap,\n getSuiClient,\n LoopingDebt,\n cetusPoolMap,\n getParentPool,\n getCoinAmountsFromLiquidity,\n CoinName,\n BluefinLyfInvestor,\n} from \"../../index.js\";\nimport {\n getPool,\n getPoolExchangeRate,\n getReceipts,\n fetchVoloExchangeRate,\n getInvestor,\n} from \"./getReceipts.js\";\nimport { coinsList } from \"../../common/coins.js\";\nimport {\n singleAssetPoolCoinMap,\n doubleAssetPoolCoinMap,\n} from \"../../common/maps.js\";\nimport { PythPriceIdPair } from \"../../common/pyth.js\";\nimport { getAlphaPrice } from \"../../utils/clmm/prices.js\";\nimport { getLatestPrices } from \"../../utils/prices.js\";\nimport { TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport { stSuiExchangeRate, getConf as getStSuiConf } from \"@alphafi/stsui-sdk\";\n\nexport async function getAlphaPortfolioAmount(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean,\n) {\n const receipts = await getReceipts(poolName, options.address, ignoreCache);\n const pool = await getPool(poolName, ignoreCache);\n if (!pool) {\n throw new Error(\"Pool not found\");\n }\n\n const exchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n let totalXTokens = new Decimal(0);\n if (!exchangeRate) {\n return \"0\"; // if pool has 0 xtokens\n }\n if (options.isLocked === true) {\n receipts.forEach(async (receipt) => {\n const xTokens = new Decimal(receipt.content.fields.xTokenBalance);\n const bal = new Decimal(\n Number(receipt.content.fields.unlocked_xtokens) *\n exchangeRate.toNumber(),\n );\n totalXTokens = totalXTokens.add(xTokens.sub(bal));\n });\n } else if (options.isLocked === false) {\n receipts.forEach((receipt) => {\n const bal = new Decimal(\n Number(receipt.content.fields.unlocked_xtokens) *\n exchangeRate.toNumber(),\n );\n totalXTokens = totalXTokens.add(bal);\n });\n } else {\n receipts.forEach((receipt) => {\n const xTokens = receipt.content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n });\n }\n if (totalXTokens.gt(0)) {\n const poolExchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n if (poolExchangeRate) {\n const tokens = totalXTokens.div(1e9).mul(poolExchangeRate);\n return `${tokens}`;\n } else {\n console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);\n }\n } else {\n return \"0\";\n }\n}\n\nexport async function getAlphaPortfolioAmountInUSD(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean,\n) {\n const tokens = await getAlphaPortfolioAmount(poolName, options, ignoreCache);\n const priceOfAlpha = await getAlphaPrice();\n if (priceOfAlpha && tokens) {\n let amount = new Decimal(tokens);\n amount = amount.mul(priceOfAlpha);\n return amount.toString();\n }\n}\n\nexport async function getPortfolioAmount(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n): Promise<[string, string] | undefined> {\n let portfolioAmount: [string, string] = [\"0\", \"0\"];\n let totalXTokens = new Decimal(0);\n if (poolName.toString().includes(\"-FUNGIBLE-\")) {\n const tokenBalance = await getTokenBalance(\n poolInfo[poolName].receiptName as CoinName,\n address,\n );\n if (tokenBalance) {\n totalXTokens = new Decimal(tokenBalance);\n } else {\n console.error(\n \"could not fetch fungible token balance for getPortfolioAmount\",\n );\n }\n } else {\n const receipts = await getReceipts(poolName, address, ignoreCache);\n if (receipts && receipts.length > 0) {\n let xTokens = receipts[0].content.fields.xTokenBalance;\n if (poolName === \"BLUEFIN-LYF-STSUI-SUI\") {\n let investor = (await getInvestor(\n poolName,\n true,\n )) as BluefinLyfInvestor;\n xTokens = new Decimal(xTokens)\n .mul(\n new Decimal(1).minus(\n new Decimal(\n investor.content.fields.current_debt_to_supply_ratio.fields.value,\n ).div(1e18),\n ),\n )\n .toString();\n }\n totalXTokens = totalXTokens.add(xTokens);\n }\n }\n\n if (totalXTokens.gt(0)) {\n const poolExchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n if (poolExchangeRate) {\n const tokens = totalXTokens.mul(poolExchangeRate);\n const poolTokenAmounts = await getCoinAmountsFromLiquidity(\n poolName,\n tokens.toString(),\n ignoreCache,\n );\n portfolioAmount = poolTokenAmounts;\n } else {\n console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);\n }\n }\n return portfolioAmount;\n}\n\nexport async function getDoubleAssetPortfolioAmountInUSD(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n): Promise<string | undefined> {\n if (poolInfo[poolName].assetTypes.length === 2) {\n const amounts = await getPortfolioAmount(poolName, address, ignoreCache);\n if (amounts) {\n const ten = new Decimal(10);\n const pool1 = doubleAssetPoolCoinMap[poolName].coin1;\n const pool2 = doubleAssetPoolCoinMap[poolName].coin2;\n\n const amount0 = new Decimal(amounts[0]).div(\n ten.pow(coinsList[pool1].expo),\n );\n const amount1 = new Decimal(amounts[1]).div(\n ten.pow(coinsList[pool2].expo),\n );\n const [priceOfCoin0, priceOfCoin1] = await getLatestPrices(\n [`${pool1}/USD` as PythPriceIdPair, `${pool2}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n const amount = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));\n return amount.toString();\n } else {\n console.error(\n `getPortfolioAmountInUSD is not implemented for poolName: ${poolName}`,\n );\n }\n return \"0\";\n }\n}\n\nexport async function getNaviLoopingPoolDebt(\n poolName: PoolName,\n): Promise<string | undefined> {\n const debt = (\n (\n await getSuiClient().getDynamicFieldObject({\n parentId: poolInfo[poolName].investorId,\n name: {\n type: \"vector<u8>\",\n value: \"debt\".split(\"\").map((char) => char.charCodeAt(0)),\n },\n })\n ).data as LoopingDebt\n ).content.fields.value.toString();\n return debt;\n}\n\nexport async function getSingleAssetPortfolioAmount(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n) {\n let portfolioAmount: number = 0;\n const receipts = await getReceipts(poolName, address, ignoreCache);\n let totalXTokens = new Decimal(0);\n if (receipts) {\n receipts.forEach((receipt) => {\n const xTokens = receipt.content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n });\n }\n if (totalXTokens.gt(0)) {\n let pool;\n let investor;\n if (\n poolInfo[poolName].parentProtocolName == \"NAVI\" ||\n poolInfo[poolName].parentProtocolName === \"ALPHALEND\"\n ) {\n pool = await getPool(poolName, ignoreCache);\n investor = (await getInvestor(poolName, ignoreCache)) as NaviInvestor &\n CommonInvestorFields;\n }\n if (\n poolName == \"NAVI-LOOP-USDC-USDT\" ||\n poolName == \"NAVI-LOOP-USDT-USDC\"\n ) {\n const supplyCoin = loopingPoolCoinMap[poolName].supplyCoin;\n const borrowCoin = loopingPoolCoinMap[poolName].borrowCoin;\n if (pool && investor) {\n let tokensInvested = new Decimal(0);\n const currentDebt = await getNaviLoopingPoolDebt(poolName);\n\n const currentSupply =\n investor.content.fields.tokensDeposited.toString();\n if (\n cetusPoolMap[supplyCoin + \"-\" + borrowCoin] &&\n currentDebt &&\n currentSupply\n ) {\n const cetusPool = await getParentPool(\n supplyCoin + \"-\" + borrowCoin,\n ignoreCache,\n );\n if (cetusPool) {\n const sqrtPrice = cetusPool?.content.fields.current_sqrt_price;\n const price = TickMath.sqrtPriceX64ToPrice(\n new BN(sqrtPrice!),\n coinsList[supplyCoin].expo,\n coinsList[borrowCoin].expo,\n );\n const currentDebtInSupplyCoin = new Decimal(currentDebt).div(price);\n tokensInvested = new Decimal(currentSupply).minus(\n currentDebtInSupplyCoin,\n );\n } else {\n console.error(`couldnt fetch cetus pool`);\n }\n } else if (\n cetusPoolMap[borrowCoin + \"-\" + supplyCoin] &&\n currentDebt !== undefined &&\n currentSupply !== undefined\n ) {\n const cetusPool = await getParentPool(\n borrowCoin + \"-\" + supplyCoin,\n ignoreCache,\n );\n if (cetusPool) {\n const sqrtPrice = cetusPool?.content.fields.current_sqrt_price;\n const price = TickMath.sqrtPriceX64ToPrice(\n new BN(sqrtPrice!),\n coinsList[borrowCoin].expo,\n coinsList[supplyCoin].expo,\n );\n const currentDebtInSupplyCoin = new Decimal(currentDebt).mul(price);\n tokensInvested = new Decimal(currentSupply).minus(\n currentDebtInSupplyCoin,\n );\n } else {\n console.error(`couldnt fetch cetus pool`);\n }\n } else {\n console.error(\n `one or more of these are possibly undefined: currentDebt:${currentDebt}, currentSupply: ${currentSupply}, cetusPoolMap[supplyCoin+'-'+borrowCoin]:${cetusPoolMap[supplyCoin + \"-\" + borrowCoin]}, cetusPoolMap[borrowCoin+'-'+supplyCoin]: ${cetusPoolMap[borrowCoin + \"-\" + supplyCoin]}`,\n );\n }\n\n const xTokenSupplyInPool = new Decimal(\n pool.content.fields.xTokenSupply,\n );\n const userTokens = totalXTokens\n .mul(tokensInvested)\n .div(xTokenSupplyInPool);\n const tokens = userTokens.div(\n Math.pow(\n 10,\n 9 - coinsList[singleAssetPoolCoinMap[poolName].coin].expo,\n ),\n );\n portfolioAmount = Number(tokens);\n } else {\n console.error(`Could not get object for poolName: ${poolName}`);\n }\n } else if (\n poolName == \"NAVI-LOOP-HASUI-SUI\" ||\n poolName == \"NAVI-LOOP-SUI-VSUI\" ||\n poolName === \"ALPHALEND-LOOP-SUI-STSUI\" ||\n poolName === \"ALPHALEND-SINGLE-LOOP-TBTC\" ||\n poolName === \"ALPHALEND-SINGLE-LOOP-SUIBTC\" ||\n poolName === \"ALPHALEND-SINGLE-LOOP-XAUM\"\n ) {\n if (pool && investor) {\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(new Decimal(debtToSupplyRatio).div(1e20)),\n );\n const xTokenSupplyInPool = new Decimal(\n pool.content.fields.xTokenSupply,\n );\n const userTokens = totalXTokens\n .mul(tokensInvested)\n .div(xTokenSupplyInPool);\n let tokens = userTokens;\n if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n tokens = userTokens.div(\n Math.pow(\n 10,\n 9 - coinsList[singleAssetPoolCoinMap[poolName].coin].expo,\n ),\n );\n }\n if (poolName == \"NAVI-LOOP-SUI-VSUI\") {\n // const { SevenKGateway } = await import(\"../\");\n // const sevenKInstance = new SevenKGateway();\n // const numberOfTokensInSui = (await sevenKInstance.getQuote({\n // slippage: 1,\n // senderAddress: options.address,\n // pair: { coinA: coins[\"VSUI\"], coinB: coins[\"SUI\"] },\n // inAmount: new BN(tokens.toNumber()),\n // })) as QuoteResponse;\n const voloExchRate = await fetchVoloExchangeRate(false);\n portfolioAmount = Number(\n tokens.mul(parseFloat(voloExchRate.data.exchangeRate)),\n );\n } else if (poolName == \"ALPHALEND-LOOP-SUI-STSUI\") {\n // const { SevenKGateway } = await import(\"../\");\n // const sevenKInstance = new SevenKGateway();\n // const numberOfTokensInSui = (await sevenKInstance.getQuote({\n // slippage: 1,\n // senderAddress: options.address,\n // pair: { coinA: coins[\"VSUI\"], coinB: coins[\"SUI\"] },\n // inAmount: new BN(tokens.toNumber()),\n // })) as QuoteResponse;\n const suiTostSuiExchangeRate = await stSuiExchangeRate(\n getStSuiConf().LST_INFO,\n ignoreCache,\n );\n portfolioAmount = Number(\n tokens.mul(parseFloat(suiTostSuiExchangeRate)),\n );\n } else {\n portfolioAmount = Number(tokens);\n }\n } else {\n console.error(`Could not get object for poolName: ${poolName}`);\n }\n } else {\n const poolExchangeRate = await getPoolExchangeRate(poolName, ignoreCache);\n if (poolExchangeRate) {\n let tokens = totalXTokens.mul(poolExchangeRate);\n if (poolInfo[poolName].parentProtocolName == \"NAVI\") {\n tokens = tokens.div(\n Math.pow(\n 10,\n 9 - coinsList[singleAssetPoolCoinMap[poolName].coin].expo,\n ),\n );\n }\n portfolioAmount = tokens.toNumber();\n } else {\n console.error(\n `Could not get poolExchangeRate for poolName: ${poolName}`,\n );\n }\n }\n }\n return portfolioAmount;\n}\n\nexport async function getSingleAssetPortfolioAmountInUSD(\n poolName: PoolName,\n address: string,\n ignoreCache: boolean,\n): Promise<string | undefined> {\n const amounts = await getSingleAssetPortfolioAmount(\n poolName,\n address,\n ignoreCache,\n );\n\n if (amounts !== undefined) {\n let coinName = singleAssetPoolCoinMap[poolName].coin;\n if (\n poolName == \"NAVI-LOOP-SUI-VSUI\" ||\n poolName === \"ALPHALEND-LOOP-SUI-STSUI\"\n ) {\n coinName = \"SUI\";\n }\n const amount = new Decimal(amounts).div(\n new Decimal(Math.pow(10, coinsList[coinName].expo)),\n );\n const [priceOfCoin] = await getLatestPrices(\n [`${coinName}/USD` as PythPriceIdPair],\n ignoreCache,\n );\n if (priceOfCoin) {\n const amountInUSD = amount.mul(priceOfCoin);\n return amountInUSD.toString();\n }\n } else {\n console.error(\n `getSingleAssetPortfolioAmountInUSD is not implemented for poolName: ${poolName}`,\n );\n }\n return \"0\";\n}\n\nexport async function getTokenBalance(\n tokenName: CoinName,\n address: string,\n): Promise<string | undefined> {\n const suiClient = getSuiClient();\n let balance = \"0\";\n try {\n const coinBalance = await suiClient.getBalance({\n owner: address,\n coinType: coinsList[tokenName].type,\n });\n\n const balanceInt = parseInt(coinBalance.totalBalance);\n balance = `${balanceInt}`;\n return balance;\n } catch {\n console.error(`Could not get Balance for token: ${tokenName}`);\n }\n}\n"]}
@@ -8,7 +8,7 @@ class SevenKGateway {
8
8
  const quoteResponse = await (0, sdk_ts_1.getQuote)({
9
9
  tokenIn,
10
10
  tokenOut,
11
- amountIn: amountIn.toString(),
11
+ amountIn,
12
12
  excludedPools,
13
13
  });
14
14
  return quoteResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"7k.js","sourceRoot":"","sources":["../../../src/transactions/7k.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AAMtE,MAAa,aAAa;IACxB,gBAAe,CAAC;IAEhB,KAAK,CAAC,QAAQ,CACZ,OAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,aAAwB;QAExB,MAAM,aAAa,GAAG,MAAM,IAAA,iBAAQ,EAAC;YACnC,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;YAC7B,aAAa;SACd,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,EAAe,EACf,OAAe,EACf,aAA4B,EAC5B,QAAgB,EAChB,MAAkC;QAElC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gBAAO,EAAC;YAChC,aAAa;YACb,cAAc,EAAE,OAAO;YACvB,QAAQ;YACR,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO,EAAE,oCAAoC;gBACtD,aAAa,EAAE,CAAC,EAAE,iCAAiC;aACpD;YACD,QAAQ,EAAE;gBACR,EAAE;gBACF,MAAM;aACP;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAzCD,sCAyCC","sourcesContent":["import { buildTx, getQuote, QuoteResponse } from \"@7kprotocol/sdk-ts\";\nimport {\n Transaction,\n TransactionObjectArgument,\n} from \"@mysten/sui/transactions\";\n\nexport class SevenKGateway {\n constructor() {}\n\n async getQuote(\n tokenIn: string,\n tokenOut: string,\n amountIn: string,\n excludedPools?: string[],\n ) {\n const quoteResponse = await getQuote({\n tokenIn,\n tokenOut,\n amountIn: amountIn.toString(),\n excludedPools,\n });\n return quoteResponse;\n }\n\n async getTransactionBlock(\n tx: Transaction,\n address: string,\n quoteResponse: QuoteResponse,\n slippage: number,\n coinIn?: TransactionObjectArgument,\n ): Promise<TransactionObjectArgument | undefined> {\n const { coinOut } = await buildTx({\n quoteResponse,\n accountAddress: address,\n slippage,\n commission: {\n partner: address, // Use the user's address as partner\n commissionBps: 0, // 0 basis points = no commission\n },\n extendTx: {\n tx,\n coinIn,\n },\n });\n\n return coinOut;\n }\n}\n"]}
1
+ {"version":3,"file":"7k.js","sourceRoot":"","sources":["../../../src/transactions/7k.ts"],"names":[],"mappings":";;;AAAA,+CAAsE;AAMtE,MAAa,aAAa;IACxB,gBAAe,CAAC;IAEhB,KAAK,CAAC,QAAQ,CACZ,OAAe,EACf,QAAgB,EAChB,QAAgB,EAChB,aAAwB;QAExB,MAAM,aAAa,GAAG,MAAM,IAAA,iBAAQ,EAAC;YACnC,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,aAAa;SACd,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,EAAe,EACf,OAAe,EACf,aAA4B,EAC5B,QAAgB,EAChB,MAAkC;QAElC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,gBAAO,EAAC;YAChC,aAAa;YACb,cAAc,EAAE,OAAO;YACvB,QAAQ;YACR,UAAU,EAAE;gBACV,OAAO,EAAE,OAAO,EAAE,oCAAoC;gBACtD,aAAa,EAAE,CAAC,EAAE,iCAAiC;aACpD;YACD,QAAQ,EAAE;gBACR,EAAE;gBACF,MAAM;aACP;SACF,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAzCD,sCAyCC","sourcesContent":["import { buildTx, getQuote, QuoteResponse } from \"@7kprotocol/sdk-ts\";\nimport {\n Transaction,\n TransactionObjectArgument,\n} from \"@mysten/sui/transactions\";\n\nexport class SevenKGateway {\n constructor() {}\n\n async getQuote(\n tokenIn: string,\n tokenOut: string,\n amountIn: string,\n excludedPools?: string[],\n ) {\n const quoteResponse = await getQuote({\n tokenIn,\n tokenOut,\n amountIn,\n excludedPools,\n });\n return quoteResponse;\n }\n\n async getTransactionBlock(\n tx: Transaction,\n address: string,\n quoteResponse: QuoteResponse,\n slippage: number,\n coinIn?: TransactionObjectArgument,\n ): Promise<TransactionObjectArgument | undefined> {\n const { coinOut } = await buildTx({\n quoteResponse,\n accountAddress: address,\n slippage,\n commission: {\n partner: address, // Use the user's address as partner\n commissionBps: 0, // 0 basis points = no commission\n },\n extendTx: {\n tx,\n coinIn,\n },\n });\n\n return coinOut;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"bluefin.d.ts","sourceRoot":"","sources":["../../../src/transactions/bluefin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAalC,OAAO,EAAE,QAAQ,EAAW,MAAM,oBAAoB,CAAC;AAQvD,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAmLrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CA8OrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAsiBrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAqPrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAqTrB,CAAC;AACF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,KAAK,WAAW,KACf,OAAO,CAAC,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAuCxD,CAAC;AACF,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAmFrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAqJ7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAuM7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAif7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAkL7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAkP7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAwC7B,CAAC"}
1
+ {"version":3,"file":"bluefin.d.ts","sourceRoot":"","sources":["../../../src/transactions/bluefin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAalC,OAAO,EAAE,QAAQ,EAAW,MAAM,oBAAoB,CAAC;AASvD,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAmLrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CA8OrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAsiBrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAqPrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAqTrB,CAAC;AACF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,KAAK,WAAW,KACf,OAAO,CAAC,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAuCxD,CAAC;AACF,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAmFrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAqJ7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBA2O7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAif7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAkL7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAkP7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAwC7B,CAAC"}
@@ -11,6 +11,7 @@ const deposit_js_1 = require("./deposit.js");
11
11
  const blueRewards_js_1 = require("./blueRewards.js");
12
12
  const index_js_1 = require("../index.js");
13
13
  const alphalend_js_1 = require("./alphalend.js");
14
+ const stsui_sdk_1 = require("@alphafi/stsui-sdk");
14
15
  const depositBluefinSuiFirstTxb = async (amount, poolName, isAmountA, options, transaction = undefined) => {
15
16
  const suiClient = (0, client_js_1.getSuiClient)();
16
17
  const address = options.address;
@@ -1942,8 +1943,8 @@ const withdrawBluefinSuiSecondTxb = async (xTokens, poolName, options) => {
1942
1943
  const coinBType = pool2 === "SUI" ? "0x2::sui::SUI" : coins_js_1.coinsList[pool2].type;
1943
1944
  await alphalend_js_1.alphalendClient.updatePrices(txb, [coinAType, coinBType]);
1944
1945
  await (0, index_js_1.collectAndSwapRewardsLyf)(poolName, txb);
1945
- txb.moveCall({
1946
- target: `${poolinfo.packageId}::alphafi_lyf_pool::user_withdraw`,
1946
+ const [lyfReceiptOption, lyfBalanceA, lyfBalanceB] = txb.moveCall({
1947
+ target: `${poolinfo.packageId}::alphafi_lyf_pool::withdraw`,
1947
1948
  typeArguments: [coins_js_1.coinsList[pool1].type, coins_js_1.coinsList[pool2].type],
1948
1949
  arguments: [
1949
1950
  txb.object((0, constants_js_1.getConf)().ALPHA_LYF_VERSION),
@@ -1952,8 +1953,8 @@ const withdrawBluefinSuiSecondTxb = async (xTokens, poolName, options) => {
1952
1953
  alpha_receipt,
1953
1954
  txb.object((0, constants_js_1.getConf)().ALPHA_POOL),
1954
1955
  txb.object(poolinfo.poolId),
1955
- txb.pure.u128(xTokens),
1956
1956
  txb.object((0, constants_js_1.getConf)().ALPHA_DISTRIBUTOR),
1957
+ txb.pure.u128(xTokens),
1957
1958
  txb.object((0, constants_js_1.getConf)().LENDING_PROTOCOL_ID),
1958
1959
  txb.object((0, constants_js_1.getConf)().BLUEFIN_GLOBAL_CONFIG),
1959
1960
  txb.object(poolinfo.parentPoolId),
@@ -1961,6 +1962,40 @@ const withdrawBluefinSuiSecondTxb = async (xTokens, poolName, options) => {
1961
1962
  txb.object((0, constants_js_1.getConf)().CLOCK_PACKAGE_ID),
1962
1963
  ],
1963
1964
  });
1965
+ if (receipt[0].content.fields.xTokenBalance !== xTokens) {
1966
+ const [lyfReceipt] = txb.moveCall({
1967
+ target: `0x1::option::extract`,
1968
+ typeArguments: [poolinfo.receiptType],
1969
+ arguments: [lyfReceiptOption],
1970
+ });
1971
+ txb.transferObjects([lyfReceipt], address);
1972
+ }
1973
+ txb.moveCall({
1974
+ target: `0x1::option::destroy_none`,
1975
+ typeArguments: [poolinfo.receiptType],
1976
+ arguments: [lyfReceiptOption],
1977
+ });
1978
+ const lyfCoinA = txb.moveCall({
1979
+ target: `0x2::coin::from_balance`,
1980
+ typeArguments: [poolinfo.assetTypes[0]],
1981
+ arguments: [lyfBalanceA],
1982
+ });
1983
+ const lyfCoinB = txb.moveCall({
1984
+ target: `0x2::coin::from_balance`,
1985
+ typeArguments: [poolinfo.assetTypes[1]],
1986
+ arguments: [lyfBalanceB],
1987
+ });
1988
+ const [sui] = txb.moveCall({
1989
+ target: (0, stsui_sdk_1.getConf)().STSUI_LATEST_PACKAGE_ID + "::liquid_staking::redeem",
1990
+ arguments: [
1991
+ txb.object((0, stsui_sdk_1.getConf)().LST_INFO),
1992
+ lyfCoinA,
1993
+ txb.object((0, stsui_sdk_1.getConf)().SUI_SYSTEM_STATE_OBJECT_ID),
1994
+ ],
1995
+ typeArguments: [(0, stsui_sdk_1.getConf)().STSUI_COIN_TYPE],
1996
+ });
1997
+ txb.mergeCoins(sui, [lyfCoinB]);
1998
+ txb.transferObjects([sui], address);
1964
1999
  }
1965
2000
  }
1966
2001
  }