@alphafi/alphafi-sdk 0.0.102 → 0.0.104
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.
- package/#package.json# +98 -0
- package/FETCH_OVERRIDE_FIX.md +222 -0
- package/dist/cjs/adminFunctions.d.ts +8 -0
- package/dist/cjs/adminFunctions.d.ts.map +1 -1
- package/dist/cjs/adminFunctions.js +97 -3
- package/dist/cjs/adminFunctions.js.map +1 -1
- package/dist/cjs/common/constants.d.ts +79 -10
- package/dist/cjs/common/constants.d.ts.map +1 -1
- package/dist/cjs/common/constants.js +120 -25
- package/dist/cjs/common/constants.js.map +1 -1
- package/dist/cjs/common/maps.d.ts.map +1 -1
- package/dist/cjs/common/maps.js +72 -4
- package/dist/cjs/common/maps.js.map +1 -1
- package/dist/cjs/common/types.d.ts +76 -26
- package/dist/cjs/common/types.d.ts.map +1 -1
- package/dist/cjs/common/types.js.map +1 -1
- package/dist/cjs/getAprs.d.ts.map +1 -1
- package/dist/cjs/getAprs.js +0 -27
- package/dist/cjs/getAprs.js.map +1 -1
- package/dist/cjs/graphql/getMultiReceipts.js +1 -1
- package/dist/cjs/graphql/getMultiReceipts.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +13 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +8 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +4 -0
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.js +31 -15
- package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/cjs/transactions/alphaVault.d.ts +26 -0
- package/dist/cjs/transactions/alphaVault.d.ts.map +1 -0
- package/dist/cjs/transactions/alphaVault.js +385 -0
- package/dist/cjs/transactions/alphaVault.js.map +1 -0
- package/dist/cjs/transactions/alphalend.d.ts.map +1 -1
- package/dist/cjs/transactions/alphalend.js +10 -32
- package/dist/cjs/transactions/alphalend.js.map +1 -1
- package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
- package/dist/cjs/transactions/bluefin.js +30 -80
- package/dist/cjs/transactions/bluefin.js.map +1 -1
- package/dist/cjs/transactions/bucket.d.ts.map +1 -1
- package/dist/cjs/transactions/bucket.js +5 -16
- package/dist/cjs/transactions/bucket.js.map +1 -1
- package/dist/cjs/transactions/cetus.d.ts.map +1 -1
- package/dist/cjs/transactions/cetus.js +17 -50
- package/dist/cjs/transactions/cetus.js.map +1 -1
- package/dist/cjs/transactions/collect_rewards.d.ts +1 -0
- package/dist/cjs/transactions/collect_rewards.d.ts.map +1 -1
- package/dist/cjs/transactions/collect_rewards.js +143 -38
- package/dist/cjs/transactions/collect_rewards.js.map +1 -1
- package/dist/cjs/transactions/deposit.d.ts.map +1 -1
- package/dist/cjs/transactions/deposit.js +4 -0
- package/dist/cjs/transactions/deposit.js.map +1 -1
- package/dist/cjs/transactions/navi-looping.d.ts +11 -11
- package/dist/cjs/transactions/navi-looping.d.ts.map +1 -1
- package/dist/cjs/transactions/navi-looping.js +61 -134
- package/dist/cjs/transactions/navi-looping.js.map +1 -1
- package/dist/cjs/transactions/navi.d.ts.map +1 -1
- package/dist/cjs/transactions/navi.js +61 -106
- package/dist/cjs/transactions/navi.js.map +1 -1
- package/dist/cjs/transactions/slush.d.ts +12 -0
- package/dist/cjs/transactions/slush.d.ts.map +1 -0
- package/dist/cjs/transactions/slush.js +143 -0
- package/dist/cjs/transactions/slush.js.map +1 -0
- package/dist/cjs/transactions/withdraw.d.ts.map +1 -1
- package/dist/cjs/transactions/withdraw.js +4 -0
- package/dist/cjs/transactions/withdraw.js.map +1 -1
- package/dist/esm/adminFunctions.d.ts +8 -0
- package/dist/esm/adminFunctions.d.ts.map +1 -1
- package/dist/esm/adminFunctions.js +95 -5
- package/dist/esm/adminFunctions.js.map +1 -1
- package/dist/esm/common/constants.d.ts +79 -10
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +120 -25
- package/dist/esm/common/constants.js.map +1 -1
- package/dist/esm/common/maps.d.ts.map +1 -1
- package/dist/esm/common/maps.js +72 -4
- package/dist/esm/common/maps.js.map +1 -1
- package/dist/esm/common/types.d.ts +76 -26
- package/dist/esm/common/types.d.ts.map +1 -1
- package/dist/esm/common/types.js.map +1 -1
- package/dist/esm/getAprs.d.ts.map +1 -1
- package/dist/esm/getAprs.js +0 -27
- package/dist/esm/getAprs.js.map +1 -1
- package/dist/esm/graphql/getMultiReceipts.js +1 -1
- package/dist/esm/graphql/getMultiReceipts.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +8 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts +4 -0
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.js +31 -15
- package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/esm/transactions/alphaVault.d.ts +26 -0
- package/dist/esm/transactions/alphaVault.d.ts.map +1 -0
- package/dist/esm/transactions/alphaVault.js +377 -0
- package/dist/esm/transactions/alphaVault.js.map +1 -0
- package/dist/esm/transactions/alphalend.d.ts.map +1 -1
- package/dist/esm/transactions/alphalend.js +10 -32
- package/dist/esm/transactions/alphalend.js.map +1 -1
- package/dist/esm/transactions/bluefin.d.ts.map +1 -1
- package/dist/esm/transactions/bluefin.js +30 -80
- package/dist/esm/transactions/bluefin.js.map +1 -1
- package/dist/esm/transactions/bucket.d.ts.map +1 -1
- package/dist/esm/transactions/bucket.js +5 -16
- package/dist/esm/transactions/bucket.js.map +1 -1
- package/dist/esm/transactions/cetus.d.ts.map +1 -1
- package/dist/esm/transactions/cetus.js +17 -50
- package/dist/esm/transactions/cetus.js.map +1 -1
- package/dist/esm/transactions/collect_rewards.d.ts +1 -0
- package/dist/esm/transactions/collect_rewards.d.ts.map +1 -1
- package/dist/esm/transactions/collect_rewards.js +142 -38
- package/dist/esm/transactions/collect_rewards.js.map +1 -1
- package/dist/esm/transactions/deposit.d.ts.map +1 -1
- package/dist/esm/transactions/deposit.js +4 -0
- package/dist/esm/transactions/deposit.js.map +1 -1
- package/dist/esm/transactions/navi-looping.d.ts +11 -11
- package/dist/esm/transactions/navi-looping.d.ts.map +1 -1
- package/dist/esm/transactions/navi-looping.js +61 -134
- package/dist/esm/transactions/navi-looping.js.map +1 -1
- package/dist/esm/transactions/navi.d.ts.map +1 -1
- package/dist/esm/transactions/navi.js +61 -106
- package/dist/esm/transactions/navi.js.map +1 -1
- package/dist/esm/transactions/slush.d.ts +12 -0
- package/dist/esm/transactions/slush.d.ts.map +1 -0
- package/dist/esm/transactions/slush.js +137 -0
- package/dist/esm/transactions/slush.js.map +1 -0
- package/dist/esm/transactions/withdraw.d.ts.map +1 -1
- package/dist/esm/transactions/withdraw.js +4 -0
- package/dist/esm/transactions/withdraw.js.map +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/functions/addAirdropCoin.html +1 -0
- package/docs/functions/alphaLpBreakdown.html +1 -1
- package/docs/functions/cetusLpBreakdown.html +1 -1
- package/docs/functions/claimAirdropTx.html +1 -0
- package/docs/functions/claimRewardTxb.html +1 -1
- package/docs/functions/claimRewardsTxb.html +1 -1
- package/docs/functions/claimWithdrawAlphaTx.html +1 -0
- package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -1
- package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -1
- package/docs/functions/coinsInPool.html +1 -1
- package/docs/functions/collectAndSwapRewardsLyf.html +1 -1
- package/docs/functions/collectAndSwapRewardsSingleLoop.html +1 -1
- package/docs/functions/collectRewardTxb.html +1 -1
- package/docs/functions/collectRewards.html +1 -1
- package/docs/functions/collectRewardsAndSwapSlush.html +1 -0
- package/docs/functions/collectUnsuppliedBalance.html +1 -0
- package/docs/functions/deposit.html +1 -1
- package/docs/functions/depositAlphaTx.html +1 -0
- package/docs/functions/depositDoubleAssetTxb.html +1 -1
- package/docs/functions/depositSingleAssetTxb.html +1 -1
- package/docs/functions/fetchAfterTransactionEvents.html +1 -1
- package/docs/functions/fetchAirdropClaimEvents.html +1 -1
- package/docs/functions/fetchAutoCompoundingEvents.html +1 -1
- package/docs/functions/fetchAutoCompoundingEventsGql.html +1 -1
- package/docs/functions/fetchCetusPools.html +1 -1
- package/docs/functions/fetchChainIdentifier.html +1 -1
- package/docs/functions/fetchCheckRatioEvents.html +1 -1
- package/docs/functions/fetchEvents.html +1 -1
- package/docs/functions/fetchLiquidityChangeEvents.html +1 -1
- package/docs/functions/fetchMultiCategoryEvents.html +1 -1
- package/docs/functions/fetchMultiReceipts.html +1 -1
- package/docs/functions/fetchNftHolders.html +1 -1
- package/docs/functions/fetchPools.html +1 -1
- package/docs/functions/fetchPortfolioData.html +1 -1
- package/docs/functions/fetchProtocolData.html +1 -1
- package/docs/functions/fetchRequiredPrices.html +1 -1
- package/docs/functions/fetchTVL.html +1 -1
- package/docs/functions/fetchTransactions.html +1 -1
- package/docs/functions/fetchUserVaultBalances.html +1 -1
- package/docs/functions/fetchUserVaults.html +1 -1
- package/docs/functions/fetchUserWalletData.html +1 -1
- package/docs/functions/fetchVoloExchangeRate.html +1 -1
- package/docs/functions/fetchWithdrawV2Events.html +1 -1
- package/docs/functions/getAirdropShare.html +1 -1
- package/docs/functions/getAllDoubleAssetVaults.html +1 -1
- package/docs/functions/getAllSingleAssetVaults.html +1 -1
- package/docs/functions/getAllVaultBalances.html +1 -1
- package/docs/functions/getAllVaults.html +1 -1
- package/docs/functions/getAlphaUnlocks.html +1 -1
- package/docs/functions/getAlphaVaultBalance.html +1 -1
- package/docs/functions/getAmounts.html +1 -1
- package/docs/functions/getApr.html +1 -1
- package/docs/functions/getAprs.html +1 -1
- package/docs/functions/getApy.html +1 -1
- package/docs/functions/getApys.html +1 -1
- package/docs/functions/getCetusInvestorTicksMap.html +1 -1
- package/docs/functions/getCetusPool.html +1 -1
- package/docs/functions/getCetusSqrtPriceMap.html +1 -1
- package/docs/functions/getCoinAmountsFromLiquidity.html +1 -1
- package/docs/functions/getConf.html +1 -1
- package/docs/functions/getCurrentTick.html +1 -1
- package/docs/functions/getDistributor.html +1 -1
- package/docs/functions/getDoubleAssetVaultBalance.html +1 -1
- package/docs/functions/getDoubleAssetVaults.html +1 -1
- package/docs/functions/getInvestor.html +1 -1
- package/docs/functions/getInvestorPoolMap.html +1 -1
- package/docs/functions/getLastAutoCompoundTime.html +1 -1
- package/docs/functions/getLatestPrices.html +1 -1
- package/docs/functions/getLiquidity.html +1 -1
- package/docs/functions/getMultiCetusPool.html +1 -1
- package/docs/functions/getMultiInvestor.html +1 -1
- package/docs/functions/getMultiLatestPrices.html +1 -1
- package/docs/functions/getMultiParentPool.html +1 -1
- package/docs/functions/getMultiPool.html +1 -1
- package/docs/functions/getMultiReceipts.html +1 -1
- package/docs/functions/getParentPool.html +1 -1
- package/docs/functions/getPool.html +1 -1
- package/docs/functions/getPoolExchangeRate.html +1 -1
- package/docs/functions/getPoolExchangeRateMap.html +1 -1
- package/docs/functions/getPoolsWeightDistribution.html +1 -1
- package/docs/functions/getPositionRange.html +1 -1
- package/docs/functions/getPositionRanges.html +1 -1
- package/docs/functions/getPositionTicks.html +1 -1
- package/docs/functions/getPriceToTick.html +1 -1
- package/docs/functions/getRebalanceHistories.html +1 -1
- package/docs/functions/getRebalanceHistory.html +1 -1
- package/docs/functions/getReceipts.html +1 -1
- package/docs/functions/getSingleAssetVaultBalance.html +1 -1
- package/docs/functions/getSingleAssetVaults.html +1 -1
- package/docs/functions/getSlushUserTotalXtokens.html +1 -0
- package/docs/functions/getSuiClient.html +2 -2
- package/docs/functions/getSuiNodeUrl.html +2 -2
- package/docs/functions/getTVLs-1.html +1 -1
- package/docs/functions/getTickSpacing.html +1 -1
- package/docs/functions/getTickToPrice.html +1 -1
- package/docs/functions/getTvls.html +1 -1
- package/docs/functions/getVaultBalance.html +1 -1
- package/docs/functions/getVaults.html +1 -1
- package/docs/functions/getWithdrawRequestAndUnsuppliedAmounts.html +1 -0
- package/docs/functions/initiateWithdrawAlpha.html +1 -0
- package/docs/functions/lastAutocompoundTime.html +1 -1
- package/docs/functions/liquidityToTokens.html +1 -1
- package/docs/functions/migrateBoostedToLoop.html +1 -1
- package/docs/functions/multiLiquidityToTokens.html +1 -1
- package/docs/functions/multiTokensToUsd.html +1 -1
- package/docs/functions/multiXTokensToLiquidity.html +1 -1
- package/docs/functions/parseUserWalletData.html +1 -1
- package/docs/functions/pendingRewardAmount.html +1 -1
- package/docs/functions/processWithdrawRequestsManual.html +1 -0
- package/docs/functions/setCustomSuiClient.html +2 -2
- package/docs/functions/setSuiClient.html +2 -2
- package/docs/functions/setSuiNodeUrl.html +2 -2
- package/docs/functions/setWeights.html +1 -1
- package/docs/functions/slushDeposit.html +1 -0
- package/docs/functions/slushWithdraw.html +1 -0
- package/docs/functions/withdraw.html +1 -1
- package/docs/functions/withdrawAlphaTxb.html +1 -1
- package/docs/functions/withdrawTxb.html +1 -1
- package/docs/functions/zapDepositQuoteTxb.html +1 -1
- package/docs/functions/zapDepositTxb.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +2 -2
- package/docs/interfaces/Coin.html +6 -6
- package/docs/interfaces/CoinPair.html +2 -2
- package/docs/interfaces/CommonEventAttributes.html +2 -2
- package/docs/interfaces/NaviVoloData.html +2 -2
- package/docs/interfaces/PoolData.html +2 -2
- package/docs/interfaces/PoolWeightDistribution.html +2 -2
- package/docs/interfaces/RebalanceHistoryType.html +2 -2
- package/docs/modules.html +1 -1
- package/docs/types/AfterTransactionEventNode.html +1 -1
- package/docs/types/AirdropClaimEventNode.html +1 -1
- package/docs/types/Allocator.html +2 -2
- package/docs/types/AlphaFiDoubleAssetVault.html +2 -2
- package/docs/types/AlphaFiMultiVaultBalance.html +1 -1
- package/docs/types/AlphaFiSingleAssetVault.html +2 -2
- package/docs/types/AlphaFiVault.html +1 -1
- package/docs/types/AlphaFiVaultBalance.html +1 -1
- package/docs/types/AlphaLendInvestor.html +1 -1
- package/docs/types/AlphaPoolType.html +2 -2
- package/docs/types/AlphaReceipt.html +2 -2
- package/docs/types/AlphaReceiptFields.html +2 -2
- package/docs/types/AlphaVaultBalance.html +2 -2
- package/docs/types/AutoBalancePoolNames.html +1 -1
- package/docs/types/AutoCompoundingEventNode.html +1 -1
- package/docs/types/Bag.html +3 -0
- package/docs/types/BluefinInvestor.html +1 -1
- package/docs/types/BluefinLyfInvestor.html +1 -1
- package/docs/types/BluefinPoolType.html +2 -2
- package/docs/types/BucketInvestor.html +2 -2
- package/docs/types/CetusInvestor.html +2 -2
- package/docs/types/CetusPoolType.html +2 -2
- package/docs/types/CetusSwapOptions.html +1 -1
- package/docs/types/CoinAmounts.html +2 -2
- package/docs/types/CoinName.html +1 -1
- package/docs/types/CoinType.html +1 -1
- package/docs/types/CommonInvestorFields.html +2 -2
- package/docs/types/CreatePoolOptions.html +2 -2
- package/docs/types/Distributor.html +2 -2
- package/docs/types/DoubleAssetMultiVaultBalance.html +2 -2
- package/docs/types/DoubleAssetPoolNames.html +1 -1
- package/docs/types/DoubleAssetTokenHoldings.html +2 -2
- package/docs/types/DoubleAssetVaultBalance.html +2 -2
- package/docs/types/EventCategory.html +1 -1
- package/docs/types/EventNode.html +1 -1
- package/docs/types/GetHoldersParams.html +2 -2
- package/docs/types/GetTokenHoldingsParams.html +2 -2
- package/docs/types/GetUserTokensFromTransactionsParams.html +2 -2
- package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +2 -2
- package/docs/types/GetVaultBalanceParams.html +1 -1
- package/docs/types/HoldingsObj.html +2 -2
- package/docs/types/Icon.html +1 -1
- package/docs/types/Investor.html +1 -1
- package/docs/types/LiquidityChangeEventNode.html +1 -1
- package/docs/types/LiquidityToTokensParams.html +2 -2
- package/docs/types/LiquidityToUsdParams.html +2 -2
- package/docs/types/LoopingDebt.html +2 -2
- package/docs/types/LoopingPoolNames.html +1 -1
- package/docs/types/LpBreakdownType.html +2 -2
- package/docs/types/MemberPoolDataType.html +2 -2
- package/docs/types/MemberType.html +2 -2
- package/docs/types/MultiGetVaultBalancesParams.html +2 -2
- package/docs/types/NaviInvestor.html +2 -2
- package/docs/types/ObjectTable.html +1 -0
- package/docs/types/OtherReceiptFields.html +2 -2
- package/docs/types/PoolName.html +1 -1
- package/docs/types/PoolReceipt.html +1 -1
- package/docs/types/PoolType.html +2 -2
- package/docs/types/Receipt.html +2 -2
- package/docs/types/ReceiptGQL.html +2 -2
- package/docs/types/SingleAssetMultiVaultBalance.html +2 -2
- package/docs/types/SingleAssetPoolNames.html +1 -1
- package/docs/types/SingleAssetTokenHoldings.html +2 -2
- package/docs/types/SingleAssetVaultBalance.html +2 -2
- package/docs/types/SingleGetVaultBalancesParams.html +2 -2
- package/docs/types/StrategyType.html +1 -1
- package/docs/types/SuiNetwork.html +1 -1
- package/docs/types/SwapOptions.html +1 -1
- package/docs/types/TickSpacing.html +1 -1
- package/docs/types/TotalWeightType.html +2 -2
- package/docs/types/TransactionBlockType.html +2 -2
- package/docs/types/UserPoolLiquidity.html +2 -2
- package/docs/types/UserPoolTokenHoldings.html +1 -1
- package/docs/types/UserUsdHoldings.html +2 -2
- package/docs/types/VaultBalance.html +1 -1
- package/docs/types/VecMap.html +3 -0
- package/docs/types/VoteCastEvent.html +1 -1
- package/docs/types/WithdrawV2EventNode.html +1 -1
- package/docs/variables/AUTOBALANCE_SUI_FIRST_POOLS.html +1 -1
- package/docs/variables/AUTOBALANCE_SUI_SECOND_POOLS.html +1 -1
- package/docs/variables/AUTOBALANCE_TYPE_1_POOLS.html +1 -1
- package/docs/variables/alphalendMarketIdMap.html +1 -1
- package/docs/variables/bluefinPoolMap.html +1 -1
- package/docs/variables/cetusPoolMap.html +1 -1
- package/docs/variables/coinsList.html +1 -1
- package/docs/variables/defunctPoolsSet.html +1 -1
- package/docs/variables/doubleAssetPoolCoinMap.html +1 -1
- package/docs/variables/eventCategories.html +1 -1
- package/docs/variables/ignoredWalletsForDailyRevenue.html +1 -1
- package/docs/variables/loopingAccountAddresses.html +1 -1
- package/docs/variables/loopingPoolCoinMap.html +1 -1
- package/docs/variables/naviAssetMap.html +1 -1
- package/docs/variables/poolIdPoolNameMap.html +1 -1
- package/docs/variables/poolInfo.html +1 -1
- package/docs/variables/singleAssetPoolCoinMap.html +1 -1
- package/docs/variables/stableCoins.html +1 -1
- package/package.json +2 -1
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,YAAY,GACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,2BAA2B,EAC3B,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EACL,WAAW,EACX,8BAA8B,EAC9B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,cAAc,EACd,+BAA+B,EAC/B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.fetchTransactions = exports.eventCategories = exports.fetchAirdropClaimEvents = exports.fetchEvents = void 0;
|
|
3
|
+
exports.getApys = exports.getApy = exports.getAprs = exports.getApr = exports.lastAutocompoundTime = exports.cetusLpBreakdown = exports.alphaLpBreakdown = exports.getAirdropShare = exports.getAllSingleAssetVaults = exports.getAllDoubleAssetVaults = exports.getAllVaults = exports.zapDepositQuoteTxb = exports.zapDepositTxb = exports.pendingRewardAmount = exports.claimRewardsTxb = exports.collectRewardTxb = exports.collectRewardsAndSwapSlush = exports.collectAndSwapRewardsLyf = exports.collectAndSwapRewardsSingleLoop = exports.claimRewardTxb = exports.claimWithdrawAlphaTx = exports.claimAirdropTx = exports.initiateWithdrawAlpha = exports.depositAlphaTx = exports.withdrawAlphaTxb = exports.coinAmountToXTokensSingleAsset = exports.coinAmountToXTokensDoubleAsset = exports.withdrawTxb = exports.migrateBoostedToLoop = exports.getLiquidity = exports.getCoinAmountsFromLiquidity = exports.getAmounts = exports.depositSingleAssetTxb = exports.depositDoubleAssetTxb = exports.getSlushUserTotalXtokens = exports.slushWithdraw = exports.slushDeposit = exports.getAllVaultBalances = exports.getDoubleAssetVaultBalance = exports.getSingleAssetVaultBalance = exports.getAlphaVaultBalance = exports.getVaultBalance = exports.getDoubleAssetVaults = exports.getSingleAssetVaults = exports.getVaults = exports.getSuiClient = exports.getSuiNodeUrl = exports.setCustomSuiClient = exports.setSuiClient = exports.setSuiNodeUrl = void 0;
|
|
4
|
+
exports.getConf = exports.AUTOBALANCE_TYPE_1_POOLS = exports.AUTOBALANCE_SUI_SECOND_POOLS = exports.AUTOBALANCE_SUI_FIRST_POOLS = exports.alphalendMarketIdMap = exports.ignoredWalletsForDailyRevenue = exports.naviAssetMap = exports.loopingPoolCoinMap = exports.singleAssetPoolCoinMap = exports.doubleAssetPoolCoinMap = exports.loopingAccountAddresses = exports.bluefinPoolMap = exports.cetusPoolMap = exports.stableCoins = exports.coinsInPool = exports.poolIdPoolNameMap = exports.defunctPoolsSet = exports.getPoolExchangeRateMap = exports.getInvestorPoolMap = exports.getCetusInvestorTicksMap = exports.getCetusSqrtPriceMap = exports.poolInfo = exports.multiLiquidityToTokens = exports.multiXTokensToLiquidity = exports.multiTokensToUsd = exports.liquidityToTokens = exports.fetchRequiredPrices = exports.getLatestPrices = exports.getMultiLatestPrices = exports.getPositionRanges = exports.getPositionRange = exports.fetchVoloExchangeRate = exports.getPoolExchangeRate = exports.getMultiCetusPool = exports.getDistributor = exports.getCetusPool = exports.getMultiReceipts = exports.getMultiPool = exports.getMultiParentPool = exports.getMultiInvestor = exports.getInvestor = exports.getParentPool = exports.getPool = exports.getReceipts = exports.getLastAutoCompoundTime = exports.fetchTVL = exports.getTvls = exports.getTVLs = exports.getRebalanceHistories = exports.getRebalanceHistory = void 0;
|
|
5
|
+
exports.fetchTransactions = exports.eventCategories = exports.fetchAirdropClaimEvents = exports.fetchEvents = exports.fetchMultiCategoryEvents = exports.fetchCheckRatioEvents = exports.fetchAfterTransactionEvents = exports.fetchWithdrawV2Events = exports.fetchAutoCompoundingEvents = exports.fetchLiquidityChangeEvents = exports.getAlphaUnlocks = exports.coinsList = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
var client_js_1 = require("./sui-sdk/client.js");
|
|
8
8
|
Object.defineProperty(exports, "setSuiNodeUrl", { enumerable: true, get: function () { return client_js_1.setSuiNodeUrl; } });
|
|
@@ -21,6 +21,10 @@ Object.defineProperty(exports, "getSingleAssetVaultBalance", { enumerable: true,
|
|
|
21
21
|
Object.defineProperty(exports, "getDoubleAssetVaultBalance", { enumerable: true, get: function () { return getVaultBalances_js_1.getDoubleAssetVaultBalance; } });
|
|
22
22
|
Object.defineProperty(exports, "getAllVaultBalances", { enumerable: true, get: function () { return getVaultBalances_js_1.getAllVaultBalances; } });
|
|
23
23
|
// transactions
|
|
24
|
+
var slush_js_1 = require("./transactions/slush.js");
|
|
25
|
+
Object.defineProperty(exports, "slushDeposit", { enumerable: true, get: function () { return slush_js_1.slushDeposit; } });
|
|
26
|
+
Object.defineProperty(exports, "slushWithdraw", { enumerable: true, get: function () { return slush_js_1.slushWithdraw; } });
|
|
27
|
+
Object.defineProperty(exports, "getSlushUserTotalXtokens", { enumerable: true, get: function () { return slush_js_1.getSlushUserTotalXtokens; } });
|
|
24
28
|
var deposit_js_1 = require("./transactions/deposit.js");
|
|
25
29
|
Object.defineProperty(exports, "depositDoubleAssetTxb", { enumerable: true, get: function () { return deposit_js_1.depositDoubleAssetTxb; } });
|
|
26
30
|
Object.defineProperty(exports, "depositSingleAssetTxb", { enumerable: true, get: function () { return deposit_js_1.depositSingleAssetTxb; } });
|
|
@@ -35,10 +39,16 @@ Object.defineProperty(exports, "coinAmountToXTokensDoubleAsset", { enumerable: t
|
|
|
35
39
|
Object.defineProperty(exports, "coinAmountToXTokensSingleAsset", { enumerable: true, get: function () { return withdraw_js_1.coinAmountToXTokensSingleAsset; } });
|
|
36
40
|
var alpha_js_1 = require("./transactions/alpha.js");
|
|
37
41
|
Object.defineProperty(exports, "withdrawAlphaTxb", { enumerable: true, get: function () { return alpha_js_1.withdrawAlphaTxb; } });
|
|
42
|
+
var alphaVault_js_1 = require("./transactions/alphaVault.js");
|
|
43
|
+
Object.defineProperty(exports, "depositAlphaTx", { enumerable: true, get: function () { return alphaVault_js_1.depositAlphaTx; } });
|
|
44
|
+
Object.defineProperty(exports, "initiateWithdrawAlpha", { enumerable: true, get: function () { return alphaVault_js_1.initiateWithdrawAlpha; } });
|
|
45
|
+
Object.defineProperty(exports, "claimAirdropTx", { enumerable: true, get: function () { return alphaVault_js_1.claimAirdropTx; } });
|
|
46
|
+
Object.defineProperty(exports, "claimWithdrawAlphaTx", { enumerable: true, get: function () { return alphaVault_js_1.claimWithdrawAlphaTx; } });
|
|
38
47
|
var collect_rewards_js_1 = require("./transactions/collect_rewards.js");
|
|
39
48
|
Object.defineProperty(exports, "claimRewardTxb", { enumerable: true, get: function () { return collect_rewards_js_1.claimRewardTxb; } });
|
|
40
49
|
Object.defineProperty(exports, "collectAndSwapRewardsSingleLoop", { enumerable: true, get: function () { return collect_rewards_js_1.collectAndSwapRewardsSingleLoop; } });
|
|
41
50
|
Object.defineProperty(exports, "collectAndSwapRewardsLyf", { enumerable: true, get: function () { return collect_rewards_js_1.collectAndSwapRewardsLyf; } });
|
|
51
|
+
Object.defineProperty(exports, "collectRewardsAndSwapSlush", { enumerable: true, get: function () { return collect_rewards_js_1.collectRewardsAndSwapSlush; } });
|
|
42
52
|
var blueRewards_js_1 = require("./transactions/blueRewards.js");
|
|
43
53
|
Object.defineProperty(exports, "collectRewardTxb", { enumerable: true, get: function () { return blueRewards_js_1.collectRewardTxb; } });
|
|
44
54
|
Object.defineProperty(exports, "claimRewardsTxb", { enumerable: true, get: function () { return blueRewards_js_1.claimRewardsTxb; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,iDAM6B;AAL3B,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAClB,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AAGd,+CAIwB;AAHtB,yGAAA,SAAS,OAAA;AACT,oHAAA,oBAAoB,OAAA;AACpB,oHAAA,oBAAoB,OAAA;AAGtB,6DAM+B;AAL7B,sHAAA,eAAe,OAAA;AACf,2HAAA,oBAAoB,OAAA;AACpB,iIAAA,0BAA0B,OAAA;AAC1B,iIAAA,0BAA0B,OAAA;AAC1B,0HAAA,mBAAmB,OAAA;AAGrB,eAAe;AACf,wDAMmC;AALjC,mHAAA,qBAAqB,OAAA;AACrB,mHAAA,qBAAqB,OAAA;AACrB,wGAAA,UAAU,OAAA;AACV,yHAAA,2BAA2B,OAAA;AAC3B,0GAAA,YAAY,OAAA;AAEd,kEAAsE;AAA7D,uHAAA,oBAAoB,OAAA;AAC7B,0DAIoC;AAHlC,0GAAA,WAAW,OAAA;AACX,6HAAA,8BAA8B,OAAA;AAC9B,6HAAA,8BAA8B,OAAA;AAGhC,oDAA2D;AAAlD,4GAAA,gBAAgB,OAAA;AAEzB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export {\n setSuiNodeUrl,\n setSuiClient,\n setCustomSuiClient,\n getSuiNodeUrl,\n getSuiClient,\n} from \"./sui-sdk/client.js\";\n\nexport {\n getVaults,\n getSingleAssetVaults,\n getDoubleAssetVaults,\n} from \"./getVaults.js\";\n\nexport {\n getVaultBalance,\n getAlphaVaultBalance,\n getSingleAssetVaultBalance,\n getDoubleAssetVaultBalance,\n getAllVaultBalances,\n} from \"./getVaultBalances.js\";\n\n// transactions\nexport {\n slushDeposit,\n slushWithdraw,\n getSlushUserTotalXtokens,\n} from \"./transactions/slush.js\";\nexport {\n depositDoubleAssetTxb,\n depositSingleAssetTxb,\n getAmounts,\n getCoinAmountsFromLiquidity,\n getLiquidity,\n} from \"./transactions/deposit.js\";\nexport { migrateBoostedToLoop } from \"./transactions/navi-looping.js\";\nexport {\n withdrawTxb,\n coinAmountToXTokensDoubleAsset,\n coinAmountToXTokensSingleAsset,\n} from \"./transactions/withdraw.js\";\n\nexport { withdrawAlphaTxb } from \"./transactions/alpha.js\";\n\nexport {\n depositAlphaTx,\n initiateWithdrawAlpha,\n claimAirdropTx,\n claimWithdrawAlphaTx,\n} from \"./transactions/alphaVault.js\";\n\nexport {\n claimRewardTxb,\n collectAndSwapRewardsSingleLoop,\n collectAndSwapRewardsLyf,\n collectRewardsAndSwapSlush,\n} from \"./transactions/collect_rewards.js\";\n\nexport {\n collectRewardTxb,\n claimRewardsTxb,\n pendingRewardAmount,\n} from \"./transactions/blueRewards.js\";\n\nexport {\n zapDepositTxb,\n zapDepositQuoteTxb,\n} from \"./transactions/zapDeposit.js\";\n\n//\nexport {\n getAllVaults,\n getAllDoubleAssetVaults,\n getAllSingleAssetVaults,\n} from \"./getAllVaults.js\";\n\nexport { getAirdropShare } from \"./getAirdropShare.js\";\n\nexport {\n alphaLpBreakdown,\n cetusLpBreakdown,\n lastAutocompoundTime,\n} from \"./vaultFunctions.js\";\n\nexport { getApr, getAprs, getApy, getApys } from \"./getAprs.js\";\n\nexport {\n getRebalanceHistory,\n getRebalanceHistories,\n} from \"./getRebalanceHistory.js\";\n\nexport { getTVLs, getTvls, fetchTVL } from \"./getTvls.js\";\n\nexport { getLastAutoCompoundTime } from \"./getLastAutoCompoundTime.js\";\n\nexport * from \"./common/types.js\";\n\n// src/index.ts\nexport * from \"./graphql/fetchData.js\";\nexport * from \"./graphql/parseData.js\";\nexport * from \"./graphql/executeMutations.js\";\nexport * from \"./graphql/getMultiReceipts.js\";\n\nexport {\n getReceipts,\n getPool,\n getParentPool,\n getInvestor,\n getMultiInvestor,\n getMultiParentPool,\n getMultiPool,\n getMultiReceipts,\n getCetusPool,\n getDistributor,\n getMultiCetusPool,\n getPoolExchangeRate,\n fetchVoloExchangeRate,\n} from \"./sui-sdk/functions/getReceipts.js\";\n\nexport {\n getPositionRange,\n getPositionRanges,\n} from \"./sui-sdk/functions/getPositionRange.js\";\n\nexport {\n getMultiLatestPrices,\n getLatestPrices,\n fetchRequiredPrices,\n} from \"./utils/prices.js\";\n\nexport {\n liquidityToTokens,\n multiTokensToUsd,\n multiXTokensToLiquidity,\n multiLiquidityToTokens,\n} from \"./utils/userHoldings.js\";\n\nexport {\n poolInfo,\n getCetusSqrtPriceMap,\n getCetusInvestorTicksMap,\n getInvestorPoolMap,\n getPoolExchangeRateMap,\n defunctPoolsSet,\n poolIdPoolNameMap,\n coinsInPool,\n stableCoins,\n cetusPoolMap,\n bluefinPoolMap,\n loopingAccountAddresses,\n doubleAssetPoolCoinMap,\n singleAssetPoolCoinMap,\n loopingPoolCoinMap,\n naviAssetMap,\n ignoredWalletsForDailyRevenue,\n alphalendMarketIdMap,\n AUTOBALANCE_SUI_FIRST_POOLS,\n AUTOBALANCE_SUI_SECOND_POOLS,\n AUTOBALANCE_TYPE_1_POOLS,\n} from \"./common/maps.js\";\n\nexport { getConf } from \"./common/constants.js\";\n\nexport { coinsList } from \"./common/coins.js\";\n\nexport { getAlphaUnlocks } from \"./getAlphaUnlocks.js\";\n\nexport { fetchLiquidityChangeEvents } from \"./sui-sdk/events/fetchLiquidityChangeEvents.js\";\nexport { fetchAutoCompoundingEvents } from \"./sui-sdk/events/fetchAutoCompoundingEvents.js\";\nexport { fetchWithdrawV2Events } from \"./sui-sdk/events/fetchWithdrawV2Events.js\";\nexport { fetchAfterTransactionEvents } from \"./sui-sdk/events/fetchAfterTransactionEvents.js\";\nexport { fetchCheckRatioEvents } from \"./sui-sdk/events/fetchCheckRatioEvents.js\";\nexport { fetchMultiCategoryEvents } from \"./sui-sdk/events/fetchMultiCategoryEvents.js\";\nexport { fetchEvents } from \"./sui-sdk/events/fetchEvents.js\";\nexport { fetchAirdropClaimEvents } from \"./sui-sdk/events/fetchAirdropClaimEvent.js\";\n\nexport {\n LiquidityChangeEventNode,\n AutoCompoundingEventNode,\n WithdrawV2EventNode,\n AfterTransactionEventNode,\n CommonEventAttributes,\n EventNode,\n eventCategories,\n EventCategory,\n VoteCastEvent,\n AirdropClaimEventNode,\n} from \"./sui-sdk/events/types.js\";\n\nexport { ReceiptGQL } from \"./graphql/types.js\";\n\nexport * from \"./types.js\";\n\nexport * from \"./adminFunctions.js\";\n\nexport { fetchTransactions } from \"./sui-sdk/transactions/fetchTransactions.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchAutoCompoundingEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAGpB,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAuHrC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"fetchAutoCompoundingEvents.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAwB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,YAAY,CAAC;AAGpB,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAuHrC;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,CAuTjB;AA6CD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,wBAAwB,EAAE,GACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAYnC"}
|
|
@@ -342,7 +342,14 @@ async function calculateAprForInvestor(events) {
|
|
|
342
342
|
// Update the previous timestamp to the current event's timestamp
|
|
343
343
|
previousTimestamp = event.timestamp;
|
|
344
344
|
}
|
|
345
|
-
|
|
345
|
+
// Handle case where there's only 1 event (totalTimeSpan = 0)
|
|
346
|
+
// In this case, we cannot calculate APR reliably, so return 0
|
|
347
|
+
if (totalTimeSpan === 0) {
|
|
348
|
+
apr = 0;
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
apr = (totalGrowth / totalTimeSpan) * (1000 * 60 * 60 * 24 * 365) * 100;
|
|
352
|
+
}
|
|
346
353
|
}
|
|
347
354
|
catch (error) {
|
|
348
355
|
console.error("Error calculating apr from events.", error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport { coinsList } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n singleAssetPoolCoinMap,\n poolInfo,\n doubleAssetPoolCoinMap,\n coinTypeMap,\n} from \"../../common/maps.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../../common/types.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport {\n AutoCompoundingEventNode,\n FetchAutoCompoundingEventsParams,\n} from \"./types.js\";\nimport { getLatestPrices } from \"../../index.js\";\n\nexport async function fetchAutoCompoundingEvents(\n params: FetchAutoCompoundingEventsParams,\n): Promise<AutoCompoundingEventNode[]> {\n const eventTypesSet = new Set<string>();\n // const rebalanceEventTypesSet = new Set<string>();\n const requiredPools = params.poolNames\n ? params.poolNames\n : Object.keys(poolInfo);\n\n requiredPools.forEach((poolName) => {\n const eventType = poolInfo[poolName].autoCompoundingEventType;\n const autobalanceOldEventType =\n poolInfo[poolName].autobalanceOldAutoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n if (\n autobalanceOldEventType !== undefined &&\n autobalanceOldEventType !== null &&\n autobalanceOldEventType !== \"\"\n ) {\n eventTypesSet.add(autobalanceOldEventType);\n }\n });\n\n // for rebalance\n // if (params.poolNames) {\n // params.poolNames.forEach((poolName) => {\n // const eventType = poolInfo[poolName].rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // } else {\n // // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n // Object.values(poolInfo).forEach((info) => {\n // const eventType = info.rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // }\n\n const eventTypes = Array.from(eventTypesSet);\n // const rebalanceEventTypes = Array.from(rebalanceEventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = (\n await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n order: params.order,\n })\n ).filter((e) => {\n if (params.poolNames) {\n return params.poolNames\n .map((poolName) => poolInfo[poolName].investorId)\n .includes((e as AutoCompoundingEventNode).investor_id);\n } else {\n return true;\n }\n });\n return events;\n });\n // const rebalanceEventsPromises = rebalanceEventTypes.map(async (eventType) => {\n // const events = (\n // await fetchEvents({\n // startTime: params.startTime,\n // endTime: params.endTime,\n // eventTypes: [eventType],\n // })\n // ).filter((e) => {\n // if (params.poolNames) {\n // return params.poolNames\n // .map((poolName) => poolInfo[poolName].investorId)\n // .includes((e as AutoCompoundingEventNode).investor_id);\n // } else {\n // return true;\n // }\n // });\n // return events;\n // });\n\n const events = (await Promise.all(eventsPromises)).flat();\n\n const autoCompoundingEvents = events.map((e) => {\n return e as AutoCompoundingEventNode;\n });\n\n // const rebalanceEvents = (await Promise.all(rebalanceEventsPromises)).flat();\n\n // const rebalancingEvents = rebalanceEvents.map((e) => {\n // return e as RebalanceEventNode;\n // });\n\n // const investorPoolMap = await getInvestorPoolMap();\n\n // for (const x of autoCompoundingEvents) {\n // if (\n // investorPoolMap.get(x.investor_id) &&\n // poolInfo[investorPoolMap.get(x.investor_id)!].parentProtocolName ==\n // \"CETUS\"\n // ) {\n // if (\n // \"total_amount_a\" in x &&\n // x.total_amount_a == 0n &&\n // x.total_amount_b == 0n\n // ) {\n // for (const y of rebalancingEvents) {\n // if (y.investor_id == x.investor_id && y.timestamp == x.timestamp) {\n // // works if its guaranteed that for one timestamp there is only one rebalance for one pool\n // x.total_amount_a = BigInt(y.amount_a_before);\n // x.total_amount_b = BigInt(y.amount_b_before);\n // }\n // }\n // }\n // }\n // }\n\n return autoCompoundingEvents;\n}\n\nexport async function calculateAprForInvestor(\n events: AutoCompoundingEventNode[],\n): Promise<number> {\n let totalGrowth = 0;\n let totalTimeSpan = 0;\n let apr = 0;\n try {\n // Sort events by timestamp to process them in order\n events.sort((a, b) => a.timestamp - b.timestamp);\n\n let previousTimestamp = events[0].timestamp; // Start with the timestamp of the first event\n let previousGrowthRate = 0;\n let previousTimeDiff = 0;\n let prevCompoundA = 0n;\n let prevCompoundB = 0n;\n\n const investorPoolMap = getInvestorPoolMap();\n if (\n events.length > 0 &&\n \"amount\" in events[0] &&\n \"total_amount_a\" in events[0]\n // investorPoolMap\n // .get(events[0].investor_id.toString())\n // ?.toString()\n // .includes(\"AUTOBALANCE\")\n ) {\n let sumOfGrowths = new Decimal(0);\n const poolName = investorPoolMap.get(events[0].investor_id.toString());\n const c1 = doubleAssetPoolCoinMap[poolName!].coin1;\n const c2 = doubleAssetPoolCoinMap[poolName!].coin2;\n const [c1Price, c2Price] = await getLatestPrices(\n [`${c1}/USD`, `${c2}/USD`],\n false,\n );\n const coinTypeToCoin = coinTypeMap;\n for (const event of events) {\n if (\"amount\" in event && \"total_amount_a\" in event) {\n const reward = new Decimal(event.amount.toString());\n const rewardType = event.coin_type.name.toString();\n const rewardCoin = coinTypeToCoin[\"0x\" + rewardType];\n if (rewardCoin === undefined) {\n continue;\n }\n const totalAmountA = new Decimal(event.total_amount_a.toString());\n const totalAmountB = new Decimal(event.total_amount_b.toString());\n const [price] = await getLatestPrices([`${rewardCoin}/USD`], false);\n const rewardPrice = reward\n .mul(price)\n .div(Math.pow(10, coinsList[rewardCoin].expo));\n const baseAmountsPrice = totalAmountA\n .mul(c1Price)\n .div(Math.pow(10, coinsList[c1].expo))\n .plus(\n totalAmountB.mul(c2Price).div(Math.pow(10, coinsList[c2].expo)),\n );\n if (baseAmountsPrice.gt(0)) {\n sumOfGrowths = sumOfGrowths.plus(rewardPrice.div(baseAmountsPrice));\n }\n }\n }\n return sumOfGrowths.mul(36500).toDecimalPlaces(4).toNumber();\n }\n\n // const matchInvestor =\n // \"0x3e8937974f3dac64eb8ee9f86a80ccc24852bd2f74d18753d071bbdad73a4c97\"; // ALPHALEND-SUI-LOOP\n // \"0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065\"; // NAVI-USDC\n // // \"0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9\"; // HASUI\n // (\"0x227226f22bd9e484e541005916904ca066db1d42b8a80351800ef37b26c6cd89\"); // AUSD\n // // \"0xf43c62ca04c2f8d4583630872429ba6f5d8a7316ccb9552c86bb1fcf9dee3ce2\"; // USDY\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund Amount,Total Amount,GrowthRate,Timestamp,TimeDiff (Min)\",\n // );\n // }\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund A,Total A,Compound B,Total B,Freebalance A,Freebalance B,GrowthA,GrowthB,AvgGrowth,Timestamp,TimeDiff (Min)\",\n // );\n // }\n for (const event of events) {\n // if (event.investor_id === matchInvestor) {\n // console.log(event);\n // }\n // Calculate the time difference from the previous event\n let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);\n\n // Calculate growth rate\n let growthRate = 0;\n if (\n \"total_amount_a\" in event &&\n \"total_amount_b\" in event &&\n \"compound_amount_a\" in event &&\n \"cur_debt_a\" in event\n ) {\n let prevCompound = new Decimal(0);\n const poolName = investorPoolMap.get(events[0].investor_id.toString());\n const c1 = doubleAssetPoolCoinMap[poolName!].coin1;\n const c2 = doubleAssetPoolCoinMap[poolName!].coin2;\n const [c1Price, c2Price] = await getLatestPrices(\n [`${c1}/USD`, `${c2}/USD`],\n false,\n );\n const totalAmountUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.total_amount_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.total_amount_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n );\n const totalAccruedInterestUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.accrued_interest_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.accrued_interest_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n );\n const totalCompoundUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.compound_amount_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.compound_amount_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n )\n .minus(totalAccruedInterestUsd);\n if (totalAmountUsd.gt(0)) {\n const totalDebtUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.cur_debt_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.cur_debt_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n );\n growthRate = Number(\n prevCompound\n .div(totalAmountUsd.minus(totalDebtUsd).minus(prevCompound))\n .plus(totalCompoundUsd.div(totalAmountUsd.minus(totalDebtUsd))),\n );\n prevCompound = new Decimal(0);\n } else {\n prevCompound = prevCompound.plus(totalCompoundUsd);\n }\n } else if (\n \"total_amount_a\" in event &&\n \"total_amount_b\" in event &&\n \"compound_amount_a\" in event\n ) {\n let growthA = 0;\n let growthB = 0;\n\n if (Number(event.total_amount_a) === 0) {\n prevCompoundA += event.compound_amount_a;\n } else {\n prevCompoundA = 0n;\n }\n if (prevCompoundA > 0n) {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a + prevCompoundA) /\n Number(event.total_amount_a - prevCompoundA);\n } else {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a) / Number(event.total_amount_a);\n }\n\n if (Number(event.total_amount_b) === 0) {\n prevCompoundB += event.compound_amount_b;\n } else {\n prevCompoundB = 0n;\n }\n\n if (prevCompoundB > 0n) {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b + prevCompoundB) /\n Number(event.total_amount_b - prevCompoundB);\n } else {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b) / Number(event.total_amount_b);\n }\n\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // timeDiff / (1000 * 60),\n // event.timestamp,\n // event.timestamp - previousTimestamp,\n // );\n // }\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // event.compound_amount_a,\n // event.total_amount_a,\n // growthA,\n // event.compound_amount_b,\n // event.total_amount_b,\n // growthB,\n // );\n // }\n growthRate = (growthA + growthB) / 2; // Averaging growth rates for token A and B\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount_a},${event.total_amount_a},${event.compound_amount_b},${event.total_amount_b},${event.free_balance_a},${event.free_balance_b},${growthA},${growthB},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n if (Math.abs(growthA - growthB) > 0.5) {\n // skip row, fill with previous event\n growthRate = previousGrowthRate;\n timeDiff = previousTimeDiff;\n }\n if (growthRate > 0.005) {\n growthRate = 0;\n }\n } else if (\"total_amount\" in event) {\n let compoundAmount: number = Number(event.compound_amount);\n let totalAmount: number = Number(event.total_amount);\n if (\"cur_total_debt\" in event && \"accrued_interest\" in event) {\n compoundAmount = Number(\n event.compound_amount - event.accrued_interest,\n );\n totalAmount = Number(event.total_amount - event.cur_total_debt);\n }\n // NaviAutoCompoundingEvent\n growthRate = isNaN(compoundAmount / totalAmount)\n ? 0\n : compoundAmount / totalAmount;\n const poolName = investorPoolMap.get(\n event.investor_id,\n ) as SingleAssetPoolNames;\n const coinName = singleAssetPoolCoinMap[poolName].coin;\n\n if (\n poolInfo[investorPoolMap.get(event.investor_id)!]\n .parentProtocolName === \"NAVI\"\n ) {\n growthRate = growthRate * Math.pow(10, 9 - coinsList[coinName].expo);\n }\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount},${event.total_amount},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n }\n\n // Accumulate the time-weighted growth\n totalGrowth = (totalGrowth + 1) * (1 + growthRate) - 1;\n previousGrowthRate = growthRate;\n\n // Accumulate the total time span\n totalTimeSpan += timeDiff;\n previousTimeDiff = timeDiff;\n\n // Update the previous timestamp to the current event's timestamp\n previousTimestamp = event.timestamp;\n }\n\n apr = (totalGrowth / totalTimeSpan) * (1000 * 60 * 60 * 24 * 365) * 100;\n } catch (error) {\n console.error(\"Error calculating apr from events.\", error);\n if (events.length > 0) {\n console.error(\"Investor-ID: \", events[0].investor_id);\n }\n }\n\n return apr;\n}\n\nasync function calculateAprForInvestors(\n events: AutoCompoundingEventNode[],\n): Promise<Record<string, number>> {\n const investorEvents: Record<string, AutoCompoundingEventNode[]> = {};\n\n // Step 1: Segregate events by investor_id\n for (const event of events) {\n const investorId = event.investor_id;\n if (!investorEvents[investorId]) {\n investorEvents[investorId] = [];\n }\n investorEvents[investorId].push(event);\n }\n\n // Step 2: Calculate APR for each event and aggregate for each investor\n const aprPromises: Promise<{ investorId: string; apr: number }>[] = [];\n\n for (const investorId in investorEvents) {\n const investorEventList = investorEvents[investorId];\n // Push a promise that resolves to an object containing the investorId and the corresponding APR\n aprPromises.push(\n calculateAprForInvestor(investorEventList).then((apr) => ({\n investorId,\n apr,\n })),\n );\n }\n\n // Resolve all promises and map them to the corresponding APR\n const aprs = await Promise.all(aprPromises);\n\n // Convert the array of results into an object mapping investorId to APR\n const aprMap = aprs.reduce(\n (map, result) => {\n map[result.investorId] = result.apr;\n return map;\n },\n {} as Record<string, number>,\n );\n\n return aprMap;\n}\n\nexport async function calculateAprForPools(\n events: AutoCompoundingEventNode[],\n): Promise<Record<PoolName, number>> {\n const aprMap: Record<string, number> = {};\n const investorPoolNameMap = await getInvestorPoolMap();\n\n const investorAprMap = await calculateAprForInvestors(events);\n for (const investorId in investorAprMap) {\n const poolName = investorPoolNameMap.get(investorId);\n if (poolName) {\n aprMap[poolName] = investorAprMap[investorId];\n }\n }\n return aprMap;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"fetchAutoCompoundingEvents.js","sourceRoot":"","sources":["../../../../src/sui-sdk/events/fetchAutoCompoundingEvents.ts"],"names":[],"mappings":"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","sourcesContent":["import { Decimal } from \"decimal.js\";\nimport { coinsList } from \"../../common/coins.js\";\nimport {\n getInvestorPoolMap,\n singleAssetPoolCoinMap,\n poolInfo,\n doubleAssetPoolCoinMap,\n coinTypeMap,\n} from \"../../common/maps.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../../common/types.js\";\nimport { fetchEvents } from \"./fetchEvents.js\";\nimport {\n AutoCompoundingEventNode,\n FetchAutoCompoundingEventsParams,\n} from \"./types.js\";\nimport { getLatestPrices } from \"../../index.js\";\n\nexport async function fetchAutoCompoundingEvents(\n params: FetchAutoCompoundingEventsParams,\n): Promise<AutoCompoundingEventNode[]> {\n const eventTypesSet = new Set<string>();\n // const rebalanceEventTypesSet = new Set<string>();\n const requiredPools = params.poolNames\n ? params.poolNames\n : Object.keys(poolInfo);\n\n requiredPools.forEach((poolName) => {\n const eventType = poolInfo[poolName].autoCompoundingEventType;\n const autobalanceOldEventType =\n poolInfo[poolName].autobalanceOldAutoCompoundingEventType;\n if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n eventTypesSet.add(eventType);\n }\n if (\n autobalanceOldEventType !== undefined &&\n autobalanceOldEventType !== null &&\n autobalanceOldEventType !== \"\"\n ) {\n eventTypesSet.add(autobalanceOldEventType);\n }\n });\n\n // for rebalance\n // if (params.poolNames) {\n // params.poolNames.forEach((poolName) => {\n // const eventType = poolInfo[poolName].rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // } else {\n // // Iterate over all the values in poolInfo and add each autoCompoundingEventType to the Set\n // Object.values(poolInfo).forEach((info) => {\n // const eventType = info.rebalanceEventType;\n // if (eventType !== undefined && eventType !== null && eventType !== \"\") {\n // rebalanceEventTypesSet.add(eventType);\n // }\n // });\n // }\n\n const eventTypes = Array.from(eventTypesSet);\n // const rebalanceEventTypes = Array.from(rebalanceEventTypesSet);\n\n const eventsPromises = eventTypes.map(async (eventType) => {\n const events = (\n await fetchEvents({\n startTime: params.startTime,\n endTime: params.endTime,\n eventTypes: [eventType],\n order: params.order,\n })\n ).filter((e) => {\n if (params.poolNames) {\n return params.poolNames\n .map((poolName) => poolInfo[poolName].investorId)\n .includes((e as AutoCompoundingEventNode).investor_id);\n } else {\n return true;\n }\n });\n return events;\n });\n // const rebalanceEventsPromises = rebalanceEventTypes.map(async (eventType) => {\n // const events = (\n // await fetchEvents({\n // startTime: params.startTime,\n // endTime: params.endTime,\n // eventTypes: [eventType],\n // })\n // ).filter((e) => {\n // if (params.poolNames) {\n // return params.poolNames\n // .map((poolName) => poolInfo[poolName].investorId)\n // .includes((e as AutoCompoundingEventNode).investor_id);\n // } else {\n // return true;\n // }\n // });\n // return events;\n // });\n\n const events = (await Promise.all(eventsPromises)).flat();\n\n const autoCompoundingEvents = events.map((e) => {\n return e as AutoCompoundingEventNode;\n });\n\n // const rebalanceEvents = (await Promise.all(rebalanceEventsPromises)).flat();\n\n // const rebalancingEvents = rebalanceEvents.map((e) => {\n // return e as RebalanceEventNode;\n // });\n\n // const investorPoolMap = await getInvestorPoolMap();\n\n // for (const x of autoCompoundingEvents) {\n // if (\n // investorPoolMap.get(x.investor_id) &&\n // poolInfo[investorPoolMap.get(x.investor_id)!].parentProtocolName ==\n // \"CETUS\"\n // ) {\n // if (\n // \"total_amount_a\" in x &&\n // x.total_amount_a == 0n &&\n // x.total_amount_b == 0n\n // ) {\n // for (const y of rebalancingEvents) {\n // if (y.investor_id == x.investor_id && y.timestamp == x.timestamp) {\n // // works if its guaranteed that for one timestamp there is only one rebalance for one pool\n // x.total_amount_a = BigInt(y.amount_a_before);\n // x.total_amount_b = BigInt(y.amount_b_before);\n // }\n // }\n // }\n // }\n // }\n\n return autoCompoundingEvents;\n}\n\nexport async function calculateAprForInvestor(\n events: AutoCompoundingEventNode[],\n): Promise<number> {\n let totalGrowth = 0;\n let totalTimeSpan = 0;\n let apr = 0;\n try {\n // Sort events by timestamp to process them in order\n events.sort((a, b) => a.timestamp - b.timestamp);\n\n let previousTimestamp = events[0].timestamp; // Start with the timestamp of the first event\n let previousGrowthRate = 0;\n let previousTimeDiff = 0;\n let prevCompoundA = 0n;\n let prevCompoundB = 0n;\n\n const investorPoolMap = getInvestorPoolMap();\n if (\n events.length > 0 &&\n \"amount\" in events[0] &&\n \"total_amount_a\" in events[0]\n // investorPoolMap\n // .get(events[0].investor_id.toString())\n // ?.toString()\n // .includes(\"AUTOBALANCE\")\n ) {\n let sumOfGrowths = new Decimal(0);\n const poolName = investorPoolMap.get(events[0].investor_id.toString());\n const c1 = doubleAssetPoolCoinMap[poolName!].coin1;\n const c2 = doubleAssetPoolCoinMap[poolName!].coin2;\n const [c1Price, c2Price] = await getLatestPrices(\n [`${c1}/USD`, `${c2}/USD`],\n false,\n );\n const coinTypeToCoin = coinTypeMap;\n for (const event of events) {\n if (\"amount\" in event && \"total_amount_a\" in event) {\n const reward = new Decimal(event.amount.toString());\n const rewardType = event.coin_type.name.toString();\n const rewardCoin = coinTypeToCoin[\"0x\" + rewardType];\n if (rewardCoin === undefined) {\n continue;\n }\n const totalAmountA = new Decimal(event.total_amount_a.toString());\n const totalAmountB = new Decimal(event.total_amount_b.toString());\n const [price] = await getLatestPrices([`${rewardCoin}/USD`], false);\n const rewardPrice = reward\n .mul(price)\n .div(Math.pow(10, coinsList[rewardCoin].expo));\n const baseAmountsPrice = totalAmountA\n .mul(c1Price)\n .div(Math.pow(10, coinsList[c1].expo))\n .plus(\n totalAmountB.mul(c2Price).div(Math.pow(10, coinsList[c2].expo)),\n );\n if (baseAmountsPrice.gt(0)) {\n sumOfGrowths = sumOfGrowths.plus(rewardPrice.div(baseAmountsPrice));\n }\n }\n }\n return sumOfGrowths.mul(36500).toDecimalPlaces(4).toNumber();\n }\n\n // const matchInvestor =\n // \"0x3e8937974f3dac64eb8ee9f86a80ccc24852bd2f74d18753d071bbdad73a4c97\"; // ALPHALEND-SUI-LOOP\n // \"0x681a30beb23d2532f9413c09127525ae5e562da7aa89f9f3498bd121fef22065\"; // NAVI-USDC\n // // \"0xa65eaadb556a80e4cb02fe35efebb2656d82d364897530f45dabc1e99d15a8a9\"; // HASUI\n // (\"0x227226f22bd9e484e541005916904ca066db1d42b8a80351800ef37b26c6cd89\"); // AUSD\n // // \"0xf43c62ca04c2f8d4583630872429ba6f5d8a7316ccb9552c86bb1fcf9dee3ce2\"; // USDY\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund Amount,Total Amount,GrowthRate,Timestamp,TimeDiff (Min)\",\n // );\n // }\n // if (\n // events &&\n // events.length > 0 &&\n // events[0].investor_id === matchInvestor\n // ) {\n // console.log(\n // \"Compund A,Total A,Compound B,Total B,Freebalance A,Freebalance B,GrowthA,GrowthB,AvgGrowth,Timestamp,TimeDiff (Min)\",\n // );\n // }\n for (const event of events) {\n // if (event.investor_id === matchInvestor) {\n // console.log(event);\n // }\n // Calculate the time difference from the previous event\n let timeDiff = event.timestamp - previousTimestamp; // / (1000 * 60 * 60 * 24);\n\n // Calculate growth rate\n let growthRate = 0;\n if (\n \"total_amount_a\" in event &&\n \"total_amount_b\" in event &&\n \"compound_amount_a\" in event &&\n \"cur_debt_a\" in event\n ) {\n let prevCompound = new Decimal(0);\n const poolName = investorPoolMap.get(events[0].investor_id.toString());\n const c1 = doubleAssetPoolCoinMap[poolName!].coin1;\n const c2 = doubleAssetPoolCoinMap[poolName!].coin2;\n const [c1Price, c2Price] = await getLatestPrices(\n [`${c1}/USD`, `${c2}/USD`],\n false,\n );\n const totalAmountUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.total_amount_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.total_amount_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n );\n const totalAccruedInterestUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.accrued_interest_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.accrued_interest_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n );\n const totalCompoundUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.compound_amount_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.compound_amount_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n )\n .minus(totalAccruedInterestUsd);\n if (totalAmountUsd.gt(0)) {\n const totalDebtUsd = new Decimal(c1Price)\n .mul(\n new Decimal(event.cur_debt_a.toString()).div(\n Math.pow(10, coinsList[c1].expo),\n ),\n )\n .plus(\n new Decimal(c2Price).mul(\n new Decimal(event.cur_debt_b.toString()).div(\n Math.pow(10, coinsList[c2].expo),\n ),\n ),\n );\n growthRate = Number(\n prevCompound\n .div(totalAmountUsd.minus(totalDebtUsd).minus(prevCompound))\n .plus(totalCompoundUsd.div(totalAmountUsd.minus(totalDebtUsd))),\n );\n prevCompound = new Decimal(0);\n } else {\n prevCompound = prevCompound.plus(totalCompoundUsd);\n }\n } else if (\n \"total_amount_a\" in event &&\n \"total_amount_b\" in event &&\n \"compound_amount_a\" in event\n ) {\n let growthA = 0;\n let growthB = 0;\n\n if (Number(event.total_amount_a) === 0) {\n prevCompoundA += event.compound_amount_a;\n } else {\n prevCompoundA = 0n;\n }\n if (prevCompoundA > 0n) {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a + prevCompoundA) /\n Number(event.total_amount_a - prevCompoundA);\n } else {\n growthA =\n Number(event.total_amount_a) === 0\n ? 0\n : Number(event.compound_amount_a) / Number(event.total_amount_a);\n }\n\n if (Number(event.total_amount_b) === 0) {\n prevCompoundB += event.compound_amount_b;\n } else {\n prevCompoundB = 0n;\n }\n\n if (prevCompoundB > 0n) {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b + prevCompoundB) /\n Number(event.total_amount_b - prevCompoundB);\n } else {\n growthB =\n Number(event.total_amount_b) == 0\n ? 0\n : Number(event.compound_amount_b) / Number(event.total_amount_b);\n }\n\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // timeDiff / (1000 * 60),\n // event.timestamp,\n // event.timestamp - previousTimestamp,\n // );\n // }\n // if (\n // event.investor_id ===\n // \"0xd060e81548aee885bd3d37ae0caec181185be792bf45412e0d0acccd1e0174e6\"\n // ) {\n // console.log(\n // event.compound_amount_a,\n // event.total_amount_a,\n // growthA,\n // event.compound_amount_b,\n // event.total_amount_b,\n // growthB,\n // );\n // }\n growthRate = (growthA + growthB) / 2; // Averaging growth rates for token A and B\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount_a},${event.total_amount_a},${event.compound_amount_b},${event.total_amount_b},${event.free_balance_a},${event.free_balance_b},${growthA},${growthB},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n if (Math.abs(growthA - growthB) > 0.5) {\n // skip row, fill with previous event\n growthRate = previousGrowthRate;\n timeDiff = previousTimeDiff;\n }\n if (growthRate > 0.005) {\n growthRate = 0;\n }\n } else if (\"total_amount\" in event) {\n let compoundAmount: number = Number(event.compound_amount);\n let totalAmount: number = Number(event.total_amount);\n if (\"cur_total_debt\" in event && \"accrued_interest\" in event) {\n compoundAmount = Number(\n event.compound_amount - event.accrued_interest,\n );\n totalAmount = Number(event.total_amount - event.cur_total_debt);\n }\n // NaviAutoCompoundingEvent\n growthRate = isNaN(compoundAmount / totalAmount)\n ? 0\n : compoundAmount / totalAmount;\n const poolName = investorPoolMap.get(\n event.investor_id,\n ) as SingleAssetPoolNames;\n const coinName = singleAssetPoolCoinMap[poolName].coin;\n\n if (\n poolInfo[investorPoolMap.get(event.investor_id)!]\n .parentProtocolName === \"NAVI\"\n ) {\n growthRate = growthRate * Math.pow(10, 9 - coinsList[coinName].expo);\n }\n // if (event.investor_id === matchInvestor) {\n // console.log(\n // `${event.compound_amount},${event.total_amount},${growthRate},${event.timestamp},${(event.timestamp - previousTimestamp) / (1000 * 60)}`,\n // );\n // }\n }\n\n // Accumulate the time-weighted growth\n totalGrowth = (totalGrowth + 1) * (1 + growthRate) - 1;\n previousGrowthRate = growthRate;\n\n // Accumulate the total time span\n totalTimeSpan += timeDiff;\n previousTimeDiff = timeDiff;\n\n // Update the previous timestamp to the current event's timestamp\n previousTimestamp = event.timestamp;\n }\n\n // Handle case where there's only 1 event (totalTimeSpan = 0)\n // In this case, we cannot calculate APR reliably, so return 0\n if (totalTimeSpan === 0) {\n apr = 0;\n } else {\n apr = (totalGrowth / totalTimeSpan) * (1000 * 60 * 60 * 24 * 365) * 100;\n }\n } catch (error) {\n console.error(\"Error calculating apr from events.\", error);\n if (events.length > 0) {\n console.error(\"Investor-ID: \", events[0].investor_id);\n }\n }\n\n return apr;\n}\n\nasync function calculateAprForInvestors(\n events: AutoCompoundingEventNode[],\n): Promise<Record<string, number>> {\n const investorEvents: Record<string, AutoCompoundingEventNode[]> = {};\n\n // Step 1: Segregate events by investor_id\n for (const event of events) {\n const investorId = event.investor_id;\n if (!investorEvents[investorId]) {\n investorEvents[investorId] = [];\n }\n investorEvents[investorId].push(event);\n }\n\n // Step 2: Calculate APR for each event and aggregate for each investor\n const aprPromises: Promise<{ investorId: string; apr: number }>[] = [];\n\n for (const investorId in investorEvents) {\n const investorEventList = investorEvents[investorId];\n // Push a promise that resolves to an object containing the investorId and the corresponding APR\n aprPromises.push(\n calculateAprForInvestor(investorEventList).then((apr) => ({\n investorId,\n apr,\n })),\n );\n }\n\n // Resolve all promises and map them to the corresponding APR\n const aprs = await Promise.all(aprPromises);\n\n // Convert the array of results into an object mapping investorId to APR\n const aprMap = aprs.reduce(\n (map, result) => {\n map[result.investorId] = result.apr;\n return map;\n },\n {} as Record<string, number>,\n );\n\n return aprMap;\n}\n\nexport async function calculateAprForPools(\n events: AutoCompoundingEventNode[],\n): Promise<Record<PoolName, number>> {\n const aprMap: Record<string, number> = {};\n const investorPoolNameMap = await getInvestorPoolMap();\n\n const investorAprMap = await calculateAprForInvestors(events);\n for (const investorId in investorAprMap) {\n const poolName = investorPoolNameMap.get(investorId);\n if (poolName) {\n aprMap[poolName] = investorAprMap[investorId];\n }\n }\n return aprMap;\n}\n"]}
|
|
@@ -34,6 +34,10 @@ export declare function multiGetNaviInvestor(poolNames: SingleAssetPoolNames[]):
|
|
|
34
34
|
"NAVI-SUIUSDT"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
35
35
|
"NAVI-DEEP"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
36
36
|
"NAVI-WAL"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
37
|
+
"ALPHALEND-SLUSH-SUI"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
38
|
+
"ALPHALEND-SLUSH-WAL"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
39
|
+
"ALPHALEND-SLUSH-USDC"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
40
|
+
"ALPHALEND-SLUSH-DEEP"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
37
41
|
"NAVI-LOOP-HASUI-SUI"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
38
42
|
"NAVI-LOOP-USDT-USDC"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
39
43
|
"NAVI-LOOP-SUI-VSUI"?: (NaviInvestor & CommonInvestorFields) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,EAGR,oBAAoB,EAEpB,UAAU,EAGV,WAAW,EAEX,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAyE5E;AAKD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,iBAiCrD;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC,CAoEpB;AAKD,wBAAsB,YAAY,kBAmCjC;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,CAgDnC;AAOD,wBAAsB,kBAAkB,kBAqCvC;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,CAkD1C;AAOD,wBAAsB,iBAAiB,kBAiCtC;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,CA6CtD;AAKD,wBAAsB,gBAAgB,kBAkCrC;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,CAAC,CAwEnB;AAOD,wBAAsB,cAAc,CAClC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA6ClC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,QAAQ,EAGR,oBAAoB,EAEpB,UAAU,EAGV,WAAW,EAEX,eAAe,EAGhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAyE5E;AAKD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,iBAiCrD;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,EAAE,CAAC,CAoEpB;AAKD,wBAAsB,YAAY,kBAmCjC;AAED,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,GAAG,aAAa,CAAC,CAgDnC;AAOD,wBAAsB,kBAAkB,kBAqCvC;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,CAkD1C;AAOD,wBAAsB,iBAAiB,kBAiCtC;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC,CA6CtD;AAKD,wBAAsB,gBAAgB,kBAkCrC;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,QAAQ,CAAC,CAwEnB;AAOD,wBAAsB,cAAc,CAClC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CA6ClC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CA+DlB;AAOD,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,YAAY,CAAC,CAmEvB;AAED,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8B3E"}
|
|
@@ -602,26 +602,42 @@ async function getDistributor(ignoreCache) {
|
|
|
602
602
|
}
|
|
603
603
|
async function getPoolExchangeRate(poolName, ignoreCache) {
|
|
604
604
|
let pool;
|
|
605
|
+
let xTokenSupply = new decimal_js_1.Decimal(0);
|
|
606
|
+
let tokensInvested = new decimal_js_1.Decimal(0);
|
|
605
607
|
try {
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
608
|
+
if (poolName.toString().includes("ALPHALEND-SLUSH")) {
|
|
609
|
+
const o = await (0, client_js_1.getSuiClient)().getObject({
|
|
610
|
+
id: maps_js_1.poolInfo[poolName].poolId,
|
|
611
|
+
options: {
|
|
612
|
+
showContent: true,
|
|
613
|
+
},
|
|
614
|
+
});
|
|
615
|
+
if (!o.data) {
|
|
616
|
+
throw new Error(`couldnt fetch pool object for pool: ${poolName}`);
|
|
617
|
+
}
|
|
618
|
+
tokensInvested = new decimal_js_1.Decimal(o.data.content.fields.tokensInvested);
|
|
619
|
+
xTokenSupply = new decimal_js_1.Decimal(o.data.content?.fields.xTokenSupply.fields.value);
|
|
611
620
|
}
|
|
612
621
|
else {
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
const investor = (await getInvestor(poolName, ignoreCache));
|
|
621
|
-
if (!investor) {
|
|
622
|
-
throw new Error(`couldnt fetch investor object for pool: ${poolName}`);
|
|
622
|
+
pool = await getPool(poolName, ignoreCache);
|
|
623
|
+
if (poolName.toString().includes("-FUNGIBLE-") &&
|
|
624
|
+
"treasury_cap" in pool.content.fields) {
|
|
625
|
+
xTokenSupply = new decimal_js_1.Decimal(pool.content.fields.treasury_cap.fields.total_supply.fields.value);
|
|
626
|
+
}
|
|
627
|
+
else {
|
|
628
|
+
xTokenSupply = new decimal_js_1.Decimal(pool.content.fields.xTokenSupply);
|
|
623
629
|
}
|
|
624
630
|
tokensInvested = new decimal_js_1.Decimal(pool.content.fields.tokensInvested);
|
|
631
|
+
if (poolName == "ALPHA") {
|
|
632
|
+
tokensInvested = new decimal_js_1.Decimal(pool.content.fields.tokensInvested);
|
|
633
|
+
}
|
|
634
|
+
else if (maps_js_1.poolInfo[poolName].parentProtocolName == "CETUS") {
|
|
635
|
+
const investor = (await getInvestor(poolName, ignoreCache));
|
|
636
|
+
if (!investor) {
|
|
637
|
+
throw new Error(`couldnt fetch investor object for pool: ${poolName}`);
|
|
638
|
+
}
|
|
639
|
+
tokensInvested = new decimal_js_1.Decimal(pool.content.fields.tokensInvested);
|
|
640
|
+
}
|
|
625
641
|
}
|
|
626
642
|
// Check for division by zero
|
|
627
643
|
if (xTokenSupply.eq(0)) {
|