@alphafi/alphafi-sdk 0.0.76 → 0.0.78
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/dist/cjs/common/constants.d.ts +26 -0
- package/dist/cjs/common/constants.d.ts.map +1 -1
- package/dist/cjs/common/constants.js +32 -9
- 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 +36 -57
- package/dist/cjs/common/maps.js.map +1 -1
- package/dist/cjs/common/types.d.ts +1 -1
- package/dist/cjs/common/types.d.ts.map +1 -1
- package/dist/cjs/common/types.js.map +1 -1
- package/dist/cjs/getVaultBalances.d.ts +1 -3
- package/dist/cjs/getVaultBalances.d.ts.map +1 -1
- package/dist/cjs/getVaultBalances.js +1 -57
- package/dist/cjs/getVaultBalances.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.d.ts +3 -0
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.js +19 -0
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.js.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.js +15 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/events/types.d.ts +11 -1
- package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/types.js.map +1 -1
- package/dist/cjs/transactions/blueRewards.d.ts.map +1 -1
- package/dist/cjs/transactions/blueRewards.js +27 -0
- package/dist/cjs/transactions/blueRewards.js.map +1 -1
- package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
- package/dist/cjs/transactions/bluefin.js +57 -0
- package/dist/cjs/transactions/bluefin.js.map +1 -1
- package/dist/cjs/transactions/navi-looping.d.ts.map +1 -1
- package/dist/cjs/transactions/navi-looping.js +38 -12
- 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 +30 -0
- package/dist/cjs/transactions/navi.js.map +1 -1
- package/dist/cjs/types.d.ts +0 -12
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/userHoldings.d.ts +1 -1
- package/dist/cjs/utils/userHoldings.d.ts.map +1 -1
- package/dist/cjs/utils/userHoldings.js +22 -42
- package/dist/cjs/utils/userHoldings.js.map +1 -1
- package/dist/esm/common/constants.d.ts +26 -0
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +32 -9
- 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 +36 -57
- package/dist/esm/common/maps.js.map +1 -1
- package/dist/esm/common/types.d.ts +1 -1
- package/dist/esm/common/types.d.ts.map +1 -1
- package/dist/esm/common/types.js.map +1 -1
- package/dist/esm/getVaultBalances.d.ts +1 -3
- package/dist/esm/getVaultBalances.d.ts.map +1 -1
- package/dist/esm/getVaultBalances.js +1 -55
- package/dist/esm/getVaultBalances.js.map +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.d.ts +3 -0
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.js +16 -0
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.js.map +1 -0
- package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchEvents.js +15 -0
- package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/esm/sui-sdk/events/types.d.ts +11 -1
- package/dist/esm/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/types.js.map +1 -1
- package/dist/esm/transactions/blueRewards.d.ts.map +1 -1
- package/dist/esm/transactions/blueRewards.js +27 -0
- package/dist/esm/transactions/blueRewards.js.map +1 -1
- package/dist/esm/transactions/bluefin.d.ts.map +1 -1
- package/dist/esm/transactions/bluefin.js +57 -0
- package/dist/esm/transactions/bluefin.js.map +1 -1
- package/dist/esm/transactions/navi-looping.d.ts.map +1 -1
- package/dist/esm/transactions/navi-looping.js +38 -12
- 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 +30 -0
- package/dist/esm/transactions/navi.js.map +1 -1
- package/dist/esm/types.d.ts +0 -12
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/userHoldings.d.ts +1 -1
- package/dist/esm/utils/userHoldings.d.ts.map +1 -1
- package/dist/esm/utils/userHoldings.js +23 -42
- package/dist/esm/utils/userHoldings.js.map +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/functions/alphaLpBreakdown.html +1 -1
- package/docs/functions/cetusLpBreakdown.html +1 -1
- package/docs/functions/claimBlueRewardTxb.html +1 -1
- package/docs/functions/claimRewardTxb.html +1 -1
- package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -1
- package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -1
- package/docs/functions/coinsInPool.html +1 -1
- package/docs/functions/collectRewards.html +1 -1
- package/docs/functions/deposit.html +1 -1
- 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 -0
- 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/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/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/getZapAmounts.html +1 -1
- package/docs/functions/lastAutocompoundTime.html +1 -1
- package/docs/functions/liquidityToTokens.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/pendingBlueRewardAmount.html +1 -1
- 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/withdraw.html +1 -1
- package/docs/functions/withdrawAlphaTxb.html +1 -1
- package/docs/functions/withdrawTxb.html +1 -1
- package/docs/functions/zapDepositTxb.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 +4 -8
- package/docs/types/AfterTransactionEventNode.html +1 -1
- package/docs/types/AirdropClaimEventNode.html +1 -0
- package/docs/types/Allocator.html +1 -1
- package/docs/types/AlphaFiDoubleAssetVault.html +1 -1
- package/docs/types/AlphaFiMultiVaultBalance.html +1 -1
- package/docs/types/AlphaFiSingleAssetVault.html +1 -1
- package/docs/types/AlphaFiVault.html +1 -1
- package/docs/types/AlphaFiVaultBalance.html +1 -1
- package/docs/types/AlphaPoolType.html +1 -1
- package/docs/types/AlphaReceipt.html +1 -1
- package/docs/types/AlphaReceiptFields.html +1 -1
- package/docs/types/AlphaVaultBalance.html +1 -1
- package/docs/types/AutoBalancePoolNames.html +1 -1
- package/docs/types/AutoCompoundingEventNode.html +1 -1
- package/docs/types/BluefinInvestor.html +1 -1
- package/docs/types/BluefinPoolType.html +1 -1
- package/docs/types/BucketInvestor.html +1 -1
- package/docs/types/CetusInvestor.html +1 -1
- package/docs/types/CetusPoolType.html +1 -1
- package/docs/types/CetusSwapOptions.html +1 -1
- package/docs/types/CoinAmounts.html +1 -1
- package/docs/types/CoinName.html +1 -1
- package/docs/types/CoinType.html +1 -1
- package/docs/types/CommonInvestorFields.html +1 -1
- package/docs/types/CreatePoolOptions.html +1 -1
- package/docs/types/Distributor.html +1 -1
- package/docs/types/DoubleAssetMultiVaultBalance.html +1 -1
- package/docs/types/DoubleAssetPoolNames.html +1 -1
- package/docs/types/DoubleAssetTokenHoldings.html +1 -1
- package/docs/types/DoubleAssetVaultBalance.html +1 -1
- package/docs/types/EventCategory.html +1 -1
- package/docs/types/EventNode.html +1 -1
- package/docs/types/GetHoldersParams.html +1 -1
- package/docs/types/GetTokenHoldingsParams.html +1 -1
- package/docs/types/GetUserTokensFromTransactionsParams.html +1 -1
- package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +1 -1
- package/docs/types/GetVaultBalanceParams.html +1 -1
- package/docs/types/HoldingsObj.html +1 -1
- 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 +1 -1
- package/docs/types/LiquidityToUsdParams.html +1 -1
- package/docs/types/LoopingDebt.html +1 -1
- package/docs/types/LoopingPoolNames.html +1 -1
- package/docs/types/LpBreakdownType.html +1 -1
- package/docs/types/MemberPoolDataType.html +1 -1
- package/docs/types/MemberType.html +1 -1
- package/docs/types/MultiGetVaultBalancesParams.html +1 -1
- package/docs/types/NaviInvestor.html +1 -1
- package/docs/types/OtherReceiptFields.html +1 -1
- package/docs/types/PoolName.html +1 -1
- package/docs/types/PoolReceipt.html +1 -1
- package/docs/types/PoolType.html +1 -1
- package/docs/types/Receipt.html +1 -1
- package/docs/types/ReceiptGQL.html +1 -1
- package/docs/types/SingleAssetMultiVaultBalance.html +1 -1
- package/docs/types/SingleAssetPoolNames.html +1 -1
- package/docs/types/SingleAssetTokenHoldings.html +1 -1
- package/docs/types/SingleAssetVaultBalance.html +1 -1
- package/docs/types/SingleGetVaultBalancesParams.html +1 -1
- 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 +1 -1
- package/docs/types/TransactionBlockType.html +1 -1
- package/docs/types/UserPoolLiquidity.html +1 -1
- package/docs/types/UserPoolTokenHoldings.html +1 -1
- package/docs/types/UserUsdHoldings.html +1 -1
- package/docs/types/VaultBalance.html +1 -1
- package/docs/types/VoteCastEvent.html +1 -1
- package/docs/types/WithdrawV2EventNode.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 +1 -1
- package/docs/functions/getHoldersFromTransactions.html +0 -1
- package/docs/functions/getUserTokensFromTransactions.html +0 -1
- package/docs/functions/getUserTokensInUsdFromTransactions.html +0 -1
- package/docs/functions/getVaultBalanceForActiveUsers.html +0 -1
- package/docs/functions/getXTokenVaultBalanceForActiveUsers.html +0 -1
- package/docs/types/GetVaultBalanceForActiveUsersParams.html +0 -1
package/dist/cjs/types.d.ts
CHANGED
|
@@ -145,13 +145,6 @@ export type LiquidityToUsdParams = {
|
|
|
145
145
|
export type LiquidityToTokensParams = {
|
|
146
146
|
liquidity: string;
|
|
147
147
|
poolName: string;
|
|
148
|
-
ticksCetusMap: {
|
|
149
|
-
[pool: string]: {
|
|
150
|
-
lower: string;
|
|
151
|
-
upper: string;
|
|
152
|
-
};
|
|
153
|
-
};
|
|
154
|
-
sqrtPriceCetusMap: Map<PoolName, string>;
|
|
155
148
|
};
|
|
156
149
|
export type UserUsdHoldings = {
|
|
157
150
|
user: string;
|
|
@@ -205,9 +198,4 @@ export type DoubleAssetMultiVaultBalance = {
|
|
|
205
198
|
tokenB: string;
|
|
206
199
|
tokensInUsd: string;
|
|
207
200
|
};
|
|
208
|
-
export type GetVaultBalanceForActiveUsersParams = {
|
|
209
|
-
poolNames?: PoolName[];
|
|
210
|
-
startTime?: number;
|
|
211
|
-
endTime?: number;
|
|
212
|
-
};
|
|
213
201
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n CoinName,\n DoubleAssetPoolNames,\n PoolName,\n SingleAssetPoolNames,\n AlphaFiVaultBalance,\n} from \"./common/types.js\";\n\nexport type GetUserTokensFromTransactionsParams = {\n poolNames?: string[];\n startTime?: number;\n endTime?: number;\n owners?: string[];\n};\n\nexport type GetUserTokensInUsdFromTransactionsParams = {\n poolNames?: string[];\n startTime?: number;\n endTime?: number;\n owners?: string[];\n userTokensHoldings?: [string, string, string][];\n};\n\nexport type AlphaReceiptFields = {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n },\n ];\n };\n };\n locked_balance: {\n type: string;\n fields: {\n head: string;\n id: {\n id: string;\n };\n size: string;\n tail: string;\n };\n };\n name: string;\n owner: string;\n pending_rewards: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n },\n ];\n };\n };\n pool_id: string;\n unlocked_xtokens: string;\n xTokenBalance: string;\n};\n\nexport type OtherReceiptFields = {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n fields: {\n contents: [\n {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n },\n ];\n };\n type: string;\n };\n name: string;\n owner: string;\n pending_rewards: {\n fields: {\n contents: [\n {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n },\n ];\n };\n type: string;\n };\n pool_id: string;\n xTokenBalance: string;\n};\n\nexport type GetHoldersParams = {\n poolNames?: string[];\n startTime?: number;\n endTime?: number;\n};\n\nexport type GetTokenHoldingsParams = {\n poolNames?: PoolName[];\n startTime?: number;\n endTime?: number;\n};\n\nexport type LiquidityToUsdParams = {\n liquidity: string;\n poolName: string;\n ticksCetusMap: { [pool: string]: { lower: string; upper: string } };\n sqrtPriceCetusMap: Map<PoolName, string>;\n tokenPriceMap: Map<CoinName, string>;\n};\n\nexport type LiquidityToTokensParams = {\n liquidity: string;\n poolName: string;\n
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import {\n CoinName,\n DoubleAssetPoolNames,\n PoolName,\n SingleAssetPoolNames,\n AlphaFiVaultBalance,\n} from \"./common/types.js\";\n\nexport type GetUserTokensFromTransactionsParams = {\n poolNames?: string[];\n startTime?: number;\n endTime?: number;\n owners?: string[];\n};\n\nexport type GetUserTokensInUsdFromTransactionsParams = {\n poolNames?: string[];\n startTime?: number;\n endTime?: number;\n owners?: string[];\n userTokensHoldings?: [string, string, string][];\n};\n\nexport type AlphaReceiptFields = {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n },\n ];\n };\n };\n locked_balance: {\n type: string;\n fields: {\n head: string;\n id: {\n id: string;\n };\n size: string;\n tail: string;\n };\n };\n name: string;\n owner: string;\n pending_rewards: {\n type: string;\n fields: {\n contents: [\n {\n type: string;\n fields: {\n key: {\n type: string;\n fields: {\n name: string;\n };\n };\n value: string;\n };\n },\n ];\n };\n };\n pool_id: string;\n unlocked_xtokens: string;\n xTokenBalance: string;\n};\n\nexport type OtherReceiptFields = {\n id: { id: string };\n image_url: string;\n last_acc_reward_per_xtoken: {\n fields: {\n contents: [\n {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n },\n ];\n };\n type: string;\n };\n name: string;\n owner: string;\n pending_rewards: {\n fields: {\n contents: [\n {\n fields: {\n key: {\n fields: {\n name: string;\n };\n type: string;\n };\n value: string;\n };\n type: string;\n },\n ];\n };\n type: string;\n };\n pool_id: string;\n xTokenBalance: string;\n};\n\nexport type GetHoldersParams = {\n poolNames?: string[];\n startTime?: number;\n endTime?: number;\n};\n\nexport type GetTokenHoldingsParams = {\n poolNames?: PoolName[];\n startTime?: number;\n endTime?: number;\n};\n\nexport type LiquidityToUsdParams = {\n liquidity: string;\n poolName: string;\n ticksCetusMap: { [pool: string]: { lower: string; upper: string } };\n sqrtPriceCetusMap: Map<PoolName, string>;\n tokenPriceMap: Map<CoinName, string>;\n};\n\nexport type LiquidityToTokensParams = {\n liquidity: string;\n poolName: string;\n};\n\nexport type UserUsdHoldings = {\n user: string;\n poolName: PoolName;\n usdHoldings: string;\n};\n\nexport type UserPoolLiquidity = {\n user: string;\n poolName: string;\n liquidity: string;\n};\n\nexport type UserPoolTokenHoldings =\n | SingleAssetTokenHoldings\n | DoubleAssetTokenHoldings;\n\nexport type SingleAssetTokenHoldings = {\n user: string;\n poolName: SingleAssetPoolNames;\n tokens: string;\n};\n\nexport type DoubleAssetTokenHoldings = {\n user: string;\n poolName: DoubleAssetPoolNames;\n tokenAmountA: string;\n tokenAmountB: string;\n};\n\nexport type MultiGetVaultBalancesParams = {\n poolNames?: PoolName[];\n startTime?: number;\n endTime?: number;\n};\nexport type SingleGetVaultBalancesParams = {\n address?: string;\n poolName?: PoolName;\n};\nexport type GetVaultBalanceParams =\n | SingleGetVaultBalancesParams\n | MultiGetVaultBalancesParams;\n\nexport type HoldingsObj = {\n owner: string;\n poolName: PoolName;\n holding: string;\n};\n\nexport type VaultBalance =\n | AlphaFiVaultBalance\n | undefined\n | AlphaFiMultiVaultBalance[];\n\nexport type AlphaFiMultiVaultBalance =\n | SingleAssetMultiVaultBalance\n | DoubleAssetMultiVaultBalance;\n\nexport type SingleAssetMultiVaultBalance = {\n owner: string;\n poolName: PoolName;\n tokens: string;\n tokensInUsd: string;\n};\nexport type DoubleAssetMultiVaultBalance = {\n owner: string;\n poolName: PoolName;\n tokenA: string;\n tokenB: string;\n tokensInUsd: string;\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DoubleAssetTokenHoldings, HoldingsObj, SingleAssetTokenHoldings, LiquidityToTokensParams } from "../types.js";
|
|
2
2
|
export declare function multiXTokensToLiquidity(xTokensHoldings: HoldingsObj[]): Promise<HoldingsObj[]>;
|
|
3
3
|
export declare function multiLiquidityToTokens(holdings: HoldingsObj[]): Promise<(SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[]>;
|
|
4
|
-
export declare function liquidityToTokens(params: LiquidityToTokensParams): string | [string, string]
|
|
4
|
+
export declare function liquidityToTokens(params: LiquidityToTokensParams): Promise<string | [string, string]>;
|
|
5
5
|
export declare function multiTokensToUsd(tokensHoldings: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[]): Promise<HoldingsObj[]>;
|
|
6
6
|
//# sourceMappingURL=userHoldings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userHoldings.d.ts","sourceRoot":"","sources":["../../../src/utils/userHoldings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userHoldings.d.ts","sourceRoot":"","sources":["../../../src/utils/userHoldings.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAYrB,wBAAsB,uBAAuB,CAAC,eAAe,EAAE,WAAW,EAAE,0BAmB3E;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,oEA0BnE;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA4BpC;AAgID,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,CAAC,wBAAwB,GAAG,wBAAwB,CAAC,EAAE,GACtE,OAAO,CAAC,WAAW,EAAE,CAAC,CAoDxB"}
|
|
@@ -4,13 +4,11 @@ exports.multiXTokensToLiquidity = multiXTokensToLiquidity;
|
|
|
4
4
|
exports.multiLiquidityToTokens = multiLiquidityToTokens;
|
|
5
5
|
exports.liquidityToTokens = liquidityToTokens;
|
|
6
6
|
exports.multiTokensToUsd = multiTokensToUsd;
|
|
7
|
-
const tslib_1 = require("tslib");
|
|
8
7
|
const maps_js_1 = require("../common/maps.js");
|
|
9
8
|
const decimal_js_1 = require("decimal.js");
|
|
10
|
-
const cetus_sui_clmm_sdk_1 = require("@cetusprotocol/cetus-sui-clmm-sdk");
|
|
11
|
-
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
12
9
|
const coins_js_1 = require("../common/coins.js");
|
|
13
10
|
const prices_js_1 = require("./prices.js");
|
|
11
|
+
const index_js_1 = require("../index.js");
|
|
14
12
|
async function multiXTokensToLiquidity(xTokensHoldings) {
|
|
15
13
|
let holdings = [];
|
|
16
14
|
const exchangeRateMap = await (0, maps_js_1.getPoolExchangeRateMap)();
|
|
@@ -28,35 +26,32 @@ async function multiXTokensToLiquidity(xTokensHoldings) {
|
|
|
28
26
|
return holdings;
|
|
29
27
|
}
|
|
30
28
|
async function multiLiquidityToTokens(holdings) {
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
const tokens = liquidityToTokens({
|
|
29
|
+
let tokenHoldings = [];
|
|
30
|
+
for (const holdingsObj of holdings) {
|
|
31
|
+
const tokens = await liquidityToTokens({
|
|
35
32
|
liquidity: holdingsObj.holding,
|
|
36
33
|
poolName: holdingsObj.poolName,
|
|
37
|
-
ticksCetusMap: ticksCetusMap,
|
|
38
|
-
sqrtPriceCetusMap: sqrtPriceCetusMap,
|
|
39
34
|
});
|
|
40
35
|
if (typeof tokens === "string") {
|
|
41
|
-
|
|
36
|
+
tokenHoldings.push({
|
|
42
37
|
user: holdingsObj.owner,
|
|
43
38
|
poolName: holdingsObj.poolName,
|
|
44
39
|
tokens: tokens,
|
|
45
|
-
};
|
|
40
|
+
});
|
|
46
41
|
}
|
|
47
42
|
else {
|
|
48
|
-
|
|
43
|
+
tokenHoldings.push({
|
|
49
44
|
user: holdingsObj.owner,
|
|
50
45
|
poolName: holdingsObj.poolName,
|
|
51
46
|
tokenAmountA: tokens[0],
|
|
52
47
|
tokenAmountB: tokens[1],
|
|
53
|
-
};
|
|
48
|
+
});
|
|
54
49
|
}
|
|
55
|
-
}
|
|
50
|
+
}
|
|
56
51
|
tokenHoldings = mergeDuplicateTokenHoldings(tokenHoldings);
|
|
57
52
|
return tokenHoldings;
|
|
58
53
|
}
|
|
59
|
-
function liquidityToTokens(params) {
|
|
54
|
+
async function liquidityToTokens(params) {
|
|
60
55
|
let holdingUSD;
|
|
61
56
|
if (params.poolName.slice(0, 4) === "NAVI") {
|
|
62
57
|
holdingUSD = singleAssetLiquidityToTokens(params.liquidity, params.poolName);
|
|
@@ -65,7 +60,7 @@ function liquidityToTokens(params) {
|
|
|
65
60
|
holdingUSD = alphaLiquidityToTokens(params.liquidity);
|
|
66
61
|
}
|
|
67
62
|
else if (["CETUS", "BLUEFIN"].includes(maps_js_1.poolInfo[params.poolName].parentProtocolName)) {
|
|
68
|
-
const [holdingA, holdingB] = doubleAssetliquidityToTokens(params);
|
|
63
|
+
const [holdingA, holdingB] = await doubleAssetliquidityToTokens(params);
|
|
69
64
|
return [holdingA, holdingB];
|
|
70
65
|
}
|
|
71
66
|
else if (maps_js_1.poolInfo[params.poolName].parentProtocolName === "BUCKET") {
|
|
@@ -81,33 +76,18 @@ function liquidityToTokens(params) {
|
|
|
81
76
|
throw new Error(`holdingsUsd undefined for poolName: ${params.poolName}`);
|
|
82
77
|
return holdingUSD;
|
|
83
78
|
}
|
|
84
|
-
function doubleAssetliquidityToTokens(params) {
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
if (upper_tick > upper_bound) {
|
|
96
|
-
upper_tick = -~(upper_tick - 1);
|
|
97
|
-
}
|
|
98
|
-
const liquidityInt = Math.floor(Number(liquidity));
|
|
99
|
-
const sqrtPrice = sqrtPriceCetusMap.get(pool);
|
|
100
|
-
const coin_amounts = cetus_sui_clmm_sdk_1.ClmmPoolUtil.getCoinAmountFromLiquidity(new bn_js_1.default(`${liquidityInt}`), new bn_js_1.default(sqrtPrice), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(lower_tick), cetus_sui_clmm_sdk_1.TickMath.tickIndexToSqrtPriceX64(upper_tick), true);
|
|
101
|
-
const coinAmounts = [
|
|
102
|
-
coin_amounts.coinA.toNumber(),
|
|
103
|
-
coin_amounts.coinB.toNumber(),
|
|
79
|
+
async function doubleAssetliquidityToTokens(params) {
|
|
80
|
+
const scaled_coin_amounts = await (0, index_js_1.getCoinAmountsFromLiquidity)(params.poolName, params.liquidity, false);
|
|
81
|
+
const coins = (0, maps_js_1.coinsInPool)(params.poolName);
|
|
82
|
+
const coin_amounts = [
|
|
83
|
+
new decimal_js_1.Decimal(scaled_coin_amounts[0])
|
|
84
|
+
.div(new decimal_js_1.Decimal(Math.pow(10, coins_js_1.coinsList[coins.coinA].expo)))
|
|
85
|
+
.toFixed(5),
|
|
86
|
+
new decimal_js_1.Decimal(scaled_coin_amounts[1])
|
|
87
|
+
.div(new decimal_js_1.Decimal(Math.pow(10, coins_js_1.coinsList[coins.coinB].expo)))
|
|
88
|
+
.toFixed(5),
|
|
104
89
|
];
|
|
105
|
-
|
|
106
|
-
const coin1 = maps_js_1.doubleAssetPoolCoinMap[pool].coin1;
|
|
107
|
-
const coin2 = maps_js_1.doubleAssetPoolCoinMap[pool].coin2;
|
|
108
|
-
const amount1 = new decimal_js_1.Decimal(coinAmounts[0]).div(ten.pow(coins_js_1.coinsList[coin1].expo));
|
|
109
|
-
const amount2 = new decimal_js_1.Decimal(coinAmounts[1]).div(ten.pow(coins_js_1.coinsList[coin2].expo));
|
|
110
|
-
return [amount1.toFixed(5).toString(), amount2.toFixed(5).toString()];
|
|
90
|
+
return coin_amounts;
|
|
111
91
|
}
|
|
112
92
|
function alphaLiquidityToTokens(liquidity) {
|
|
113
93
|
const amount = new decimal_js_1.Decimal(liquidity).div(1e9);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userHoldings.js","sourceRoot":"","sources":["../../../src/utils/userHoldings.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getPoolExchangeRateMap,\n doubleAssetPoolCoinMap,\n singleAssetPoolCoinMap,\n poolInfo,\n coinsInPool,\n getLiquidityPoolSqrtPriceMap,\n getLiquidityPoolInvestorTicksMap,\n} from \"../common/maps.js\";\nimport {\n DoubleAssetTokenHoldings,\n HoldingsObj,\n SingleAssetTokenHoldings,\n LiquidityToTokensParams,\n} from \"../types.js\";\nimport { Decimal } from \"decimal.js\";\nimport { PoolName, SingleAssetPoolNames } from \"../common/types.js\";\nimport {\n CoinAmounts,\n ClmmPoolUtil,\n TickMath,\n} from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport { coinsList } from \"../common/coins.js\";\nimport { getLatestTokenPricePairs } from \"./prices.js\";\nimport { PythPriceIdPair } from \"../common/pyth.js\";\n\nexport async function multiXTokensToLiquidity(xTokensHoldings: HoldingsObj[]) {\n let holdings: HoldingsObj[] = [];\n\n const exchangeRateMap = await getPoolExchangeRateMap();\n holdings = xTokensHoldings.map((holdingsObj) => {\n const conversion = new Decimal(\n exchangeRateMap.get(holdingsObj.poolName) as string,\n );\n const liquidity = new Decimal(holdingsObj.holding)\n .mul(conversion)\n .toString();\n return {\n owner: holdingsObj.owner,\n poolName: holdingsObj.poolName,\n holding: liquidity,\n };\n });\n\n return holdings;\n}\n\nexport async function multiLiquidityToTokens(holdings: HoldingsObj[]) {\n const sqrtPriceCetusMap = await getLiquidityPoolSqrtPriceMap();\n const ticksCetusMap = await getLiquidityPoolInvestorTicksMap();\n let tokenHoldings: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[] =\n holdings.map((holdingsObj) => {\n const tokens = liquidityToTokens({\n liquidity: holdingsObj.holding,\n poolName: holdingsObj.poolName,\n ticksCetusMap: ticksCetusMap,\n sqrtPriceCetusMap: sqrtPriceCetusMap,\n });\n if (typeof tokens === \"string\") {\n return {\n user: holdingsObj.owner,\n poolName: holdingsObj.poolName,\n tokens: tokens,\n } as SingleAssetTokenHoldings;\n } else {\n return {\n user: holdingsObj.owner,\n poolName: holdingsObj.poolName,\n tokenAmountA: tokens[0],\n tokenAmountB: tokens[1],\n } as DoubleAssetTokenHoldings;\n }\n });\n tokenHoldings = mergeDuplicateTokenHoldings(tokenHoldings);\n return tokenHoldings;\n}\n\nexport function liquidityToTokens(\n params: LiquidityToTokensParams,\n): string | [string, string] {\n let holdingUSD: string | undefined;\n if (params.poolName.slice(0, 4) === \"NAVI\") {\n holdingUSD = singleAssetLiquidityToTokens(\n params.liquidity,\n params.poolName,\n );\n } else if (params.poolName === \"ALPHA\") {\n holdingUSD = alphaLiquidityToTokens(params.liquidity);\n } else if (\n [\"CETUS\", \"BLUEFIN\"].includes(poolInfo[params.poolName].parentProtocolName)\n ) {\n const [holdingA, holdingB] = doubleAssetliquidityToTokens(params);\n return [holdingA, holdingB];\n } else if (poolInfo[params.poolName].parentProtocolName === \"BUCKET\") {\n if (params.poolName in singleAssetPoolCoinMap) {\n holdingUSD = singleAssetLiquidityToTokens(\n params.liquidity,\n params.poolName,\n );\n }\n } else {\n console.error(params.poolName);\n throw new Error(\"Unexpected Parent Protocol\");\n }\n if (!holdingUSD)\n throw new Error(`holdingsUsd undefined for poolName: ${params.poolName}`);\n return holdingUSD;\n}\n\nfunction doubleAssetliquidityToTokens(params: {\n liquidity: string;\n poolName: string;\n ticksCetusMap: { [pool: string]: { lower: string; upper: string } };\n sqrtPriceCetusMap: Map<PoolName, string>;\n}): [string, string] {\n const pool = params.poolName;\n const liquidity = params.liquidity;\n const ticksCetusMap = params.ticksCetusMap;\n const sqrtPriceCetusMap = params.sqrtPriceCetusMap;\n\n const upper_bound = 443636;\n let lower_tick = Number(ticksCetusMap[pool].lower);\n let upper_tick = Number(ticksCetusMap[pool].upper);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n const liquidityInt = Math.floor(Number(liquidity));\n const sqrtPrice = sqrtPriceCetusMap.get(pool as PoolName) as string;\n const coin_amounts: CoinAmounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(sqrtPrice),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n const coinAmounts = [\n coin_amounts.coinA.toNumber(),\n coin_amounts.coinB.toNumber(),\n ];\n const ten = new Decimal(10);\n const coin1 = doubleAssetPoolCoinMap[pool].coin1;\n const coin2 = doubleAssetPoolCoinMap[pool].coin2;\n\n const amount1 = new Decimal(coinAmounts[0]).div(\n ten.pow(coinsList[coin1].expo),\n );\n const amount2 = new Decimal(coinAmounts[1]).div(\n ten.pow(coinsList[coin2].expo),\n );\n return [amount1.toFixed(5).toString(), amount2.toFixed(5).toString()];\n}\n\nfunction alphaLiquidityToTokens(liquidity: string) {\n const amount = new Decimal(liquidity).div(1e9);\n return amount.toFixed(5);\n}\n\nfunction singleAssetLiquidityToTokens(liquidity: string, pool: string) {\n const singlePool = pool;\n if (\n poolInfo[pool].parentProtocolName === \"NAVI\" &&\n poolInfo[pool].strategyType !== \"LOOPING\"\n ) {\n const coin = singleAssetPoolCoinMap[singlePool].coin;\n let amount = new Decimal(liquidity).div(\n Math.pow(10, 9 - coinsList[coin].expo),\n );\n amount = amount.div(new Decimal(Math.pow(10, coinsList[coin].expo)));\n return amount.toFixed(5);\n } else if (\n poolInfo[pool].parentProtocolName === \"NAVI\" &&\n poolInfo[pool].strategyType === \"LOOPING\"\n ) {\n const coin = coinsInPool(pool as SingleAssetPoolNames);\n const amount = new Decimal(liquidity).div(\n Math.pow(10, coinsList[coin].expo),\n );\n return amount.toFixed(5);\n } else if (\n poolInfo[pool].parentProtocolName === \"BUCKET\" &&\n pool in singleAssetPoolCoinMap\n ) {\n const coin = singleAssetPoolCoinMap[singlePool].coin;\n const amount = new Decimal(liquidity).div(\n new Decimal(Math.pow(10, coinsList[coin].expo)),\n );\n return amount.toFixed(5);\n } else {\n throw new Error(\"Incorrect pool in argument\");\n }\n}\n\nfunction mergeDuplicateTokenHoldings(\n tokenHoldings: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[],\n) {\n const uniqueOwnerPoolMap = new Map<\n string,\n { tokens: string } | { tokenAmountA: string; tokenAmountB: string }\n >();\n\n for (const holding of tokenHoldings) {\n const owner = holding.user;\n const poolName = holding.poolName;\n const key = `${owner}_${poolName}`;\n if (uniqueOwnerPoolMap.has(key)) {\n const existingTokens = uniqueOwnerPoolMap.get(key);\n if (\"tokens\" in existingTokens!) {\n const thisHolding = holding as SingleAssetTokenHoldings;\n uniqueOwnerPoolMap.set(key, {\n tokens: (\n parseFloat(thisHolding.tokens) + parseFloat(existingTokens.tokens)\n )\n .toFixed(5)\n .toString(),\n });\n } else {\n const thisHolding = holding as DoubleAssetTokenHoldings;\n const tokensObj = {\n tokenAmountA: (\n parseFloat(thisHolding.tokenAmountA) +\n parseFloat(existingTokens!.tokenAmountA)\n )\n .toFixed(5)\n .toString(),\n tokenAmountB: (\n parseFloat(thisHolding.tokenAmountB) +\n parseFloat(existingTokens!.tokenAmountB)\n )\n .toFixed(5)\n .toString(),\n };\n uniqueOwnerPoolMap.set(key, tokensObj);\n }\n } else {\n if (\"tokens\" in holding) {\n uniqueOwnerPoolMap.set(key, { tokens: holding.tokens });\n } else {\n uniqueOwnerPoolMap.set(key, {\n tokenAmountA: holding.tokenAmountA,\n tokenAmountB: holding.tokenAmountB,\n });\n }\n }\n }\n\n const uniqueOwnerPoolMapArr = Array.from(uniqueOwnerPoolMap);\n const result: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[] =\n uniqueOwnerPoolMapArr.map(([owner_pool, holding]) => {\n const owner = owner_pool.split(\"_\")[0];\n const poolName = owner_pool.split(\"_\")[1];\n return { user: owner, poolName: poolName, ...holding } as\n | SingleAssetTokenHoldings\n | DoubleAssetTokenHoldings;\n });\n return result;\n}\n\nexport async function multiTokensToUsd(\n tokensHoldings: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[],\n): Promise<HoldingsObj[]> {\n const pricePairs = new Set<PythPriceIdPair>();\n tokensHoldings.map((o) => {\n if (\"tokens\" in o) {\n const thisCoins = coinsInPool(o.poolName);\n pricePairs.add(`${thisCoins}/USD` as PythPriceIdPair);\n } else if (\"tokenAmountA\" in o) {\n const thisCoins = coinsInPool(o.poolName);\n pricePairs.add(`${thisCoins.coinA}/USD` as PythPriceIdPair);\n pricePairs.add(`${thisCoins.coinB}/USD` as PythPriceIdPair);\n }\n });\n\n const usdHoldings: HoldingsObj[] = [];\n const prices = await getLatestTokenPricePairs(Array.from(pricePairs), false);\n\n for (const tokenHolding of tokensHoldings) {\n if (\"tokens\" in tokenHolding) {\n // SingleAssetTokenHoldings\n const singlePool = tokenHolding.poolName;\n const coin = coinsInPool(singlePool);\n const priceOfCoin = prices[`${coin}/USD`];\n if (priceOfCoin) {\n const amountInUSD = new Decimal(tokenHolding.tokens).mul(priceOfCoin);\n usdHoldings.push({\n owner: tokenHolding.user,\n poolName: tokenHolding.poolName,\n holding: amountInUSD.toFixed(2).toString(),\n });\n }\n } else {\n // DoubleAssetTokenHoldings\n const poolName = tokenHolding.poolName;\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n const priceOfCoin1 = prices[`${coin1}/USD`];\n const priceOfCoin2 = prices[`${coin2}/USD`];\n\n if (priceOfCoin1 && priceOfCoin2) {\n const amount = new Decimal(tokenHolding.tokenAmountA)\n .mul(priceOfCoin1)\n .add(new Decimal(tokenHolding.tokenAmountB).mul(priceOfCoin2));\n usdHoldings.push({\n owner: tokenHolding.user,\n poolName: tokenHolding.poolName,\n holding: amount.toFixed(2).toString(),\n });\n }\n }\n }\n\n return usdHoldings;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"userHoldings.js","sourceRoot":"","sources":["../../../src/utils/userHoldings.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getPoolExchangeRateMap,\n doubleAssetPoolCoinMap,\n singleAssetPoolCoinMap,\n poolInfo,\n coinsInPool,\n} from \"../common/maps.js\";\nimport {\n DoubleAssetTokenHoldings,\n HoldingsObj,\n SingleAssetTokenHoldings,\n LiquidityToTokensParams,\n} from \"../types.js\";\nimport { Decimal } from \"decimal.js\";\nimport {\n DoubleAssetPoolNames,\n PoolName,\n SingleAssetPoolNames,\n} from \"../common/types.js\";\nimport { coinsList } from \"../common/coins.js\";\nimport { getLatestTokenPricePairs } from \"./prices.js\";\nimport { PythPriceIdPair } from \"../common/pyth.js\";\nimport { getCoinAmountsFromLiquidity } from \"../index.js\";\n\nexport async function multiXTokensToLiquidity(xTokensHoldings: HoldingsObj[]) {\n let holdings: HoldingsObj[] = [];\n\n const exchangeRateMap = await getPoolExchangeRateMap();\n holdings = xTokensHoldings.map((holdingsObj) => {\n const conversion = new Decimal(\n exchangeRateMap.get(holdingsObj.poolName) as string,\n );\n const liquidity = new Decimal(holdingsObj.holding)\n .mul(conversion)\n .toString();\n return {\n owner: holdingsObj.owner,\n poolName: holdingsObj.poolName,\n holding: liquidity,\n };\n });\n\n return holdings;\n}\n\nexport async function multiLiquidityToTokens(holdings: HoldingsObj[]) {\n let tokenHoldings: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[] =\n [];\n for (const holdingsObj of holdings) {\n const tokens = await liquidityToTokens({\n liquidity: holdingsObj.holding,\n poolName: holdingsObj.poolName,\n });\n if (typeof tokens === \"string\") {\n tokenHoldings.push({\n user: holdingsObj.owner,\n poolName: holdingsObj.poolName,\n tokens: tokens,\n } as SingleAssetTokenHoldings);\n } else {\n tokenHoldings.push({\n user: holdingsObj.owner,\n poolName: holdingsObj.poolName,\n tokenAmountA: tokens[0],\n tokenAmountB: tokens[1],\n } as DoubleAssetTokenHoldings);\n }\n }\n\n tokenHoldings = mergeDuplicateTokenHoldings(tokenHoldings);\n return tokenHoldings;\n}\n\nexport async function liquidityToTokens(\n params: LiquidityToTokensParams,\n): Promise<string | [string, string]> {\n let holdingUSD: string | undefined;\n if (params.poolName.slice(0, 4) === \"NAVI\") {\n holdingUSD = singleAssetLiquidityToTokens(\n params.liquidity,\n params.poolName,\n );\n } else if (params.poolName === \"ALPHA\") {\n holdingUSD = alphaLiquidityToTokens(params.liquidity);\n } else if (\n [\"CETUS\", \"BLUEFIN\"].includes(poolInfo[params.poolName].parentProtocolName)\n ) {\n const [holdingA, holdingB] = await doubleAssetliquidityToTokens(params);\n return [holdingA, holdingB];\n } else if (poolInfo[params.poolName].parentProtocolName === \"BUCKET\") {\n if (params.poolName in singleAssetPoolCoinMap) {\n holdingUSD = singleAssetLiquidityToTokens(\n params.liquidity,\n params.poolName,\n );\n }\n } else {\n console.error(params.poolName);\n throw new Error(\"Unexpected Parent Protocol\");\n }\n if (!holdingUSD)\n throw new Error(`holdingsUsd undefined for poolName: ${params.poolName}`);\n return holdingUSD;\n}\n\nasync function doubleAssetliquidityToTokens(params: {\n liquidity: string;\n poolName: string;\n}): Promise<[string, string]> {\n const scaled_coin_amounts = await getCoinAmountsFromLiquidity(\n params.poolName as PoolName,\n params.liquidity,\n false,\n );\n const coins = coinsInPool(params.poolName as DoubleAssetPoolNames);\n const coin_amounts = [\n new Decimal(scaled_coin_amounts[0])\n .div(new Decimal(Math.pow(10, coinsList[coins.coinA].expo)))\n .toFixed(5),\n new Decimal(scaled_coin_amounts[1])\n .div(new Decimal(Math.pow(10, coinsList[coins.coinB].expo)))\n .toFixed(5),\n ];\n return coin_amounts as [string, string];\n}\n\nfunction alphaLiquidityToTokens(liquidity: string) {\n const amount = new Decimal(liquidity).div(1e9);\n return amount.toFixed(5);\n}\n\nfunction singleAssetLiquidityToTokens(liquidity: string, pool: string) {\n const singlePool = pool;\n if (\n poolInfo[pool].parentProtocolName === \"NAVI\" &&\n poolInfo[pool].strategyType !== \"LOOPING\"\n ) {\n const coin = singleAssetPoolCoinMap[singlePool].coin;\n let amount = new Decimal(liquidity).div(\n Math.pow(10, 9 - coinsList[coin].expo),\n );\n amount = amount.div(new Decimal(Math.pow(10, coinsList[coin].expo)));\n return amount.toFixed(5);\n } else if (\n poolInfo[pool].parentProtocolName === \"NAVI\" &&\n poolInfo[pool].strategyType === \"LOOPING\"\n ) {\n const coin = coinsInPool(pool as SingleAssetPoolNames);\n const amount = new Decimal(liquidity).div(\n Math.pow(10, coinsList[coin].expo),\n );\n return amount.toFixed(5);\n } else if (\n poolInfo[pool].parentProtocolName === \"BUCKET\" &&\n pool in singleAssetPoolCoinMap\n ) {\n const coin = singleAssetPoolCoinMap[singlePool].coin;\n const amount = new Decimal(liquidity).div(\n new Decimal(Math.pow(10, coinsList[coin].expo)),\n );\n return amount.toFixed(5);\n } else {\n throw new Error(\"Incorrect pool in argument\");\n }\n}\n\nfunction mergeDuplicateTokenHoldings(\n tokenHoldings: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[],\n) {\n const uniqueOwnerPoolMap = new Map<\n string,\n { tokens: string } | { tokenAmountA: string; tokenAmountB: string }\n >();\n\n for (const holding of tokenHoldings) {\n const owner = holding.user;\n const poolName = holding.poolName;\n const key = `${owner}_${poolName}`;\n if (uniqueOwnerPoolMap.has(key)) {\n const existingTokens = uniqueOwnerPoolMap.get(key);\n if (\"tokens\" in existingTokens!) {\n const thisHolding = holding as SingleAssetTokenHoldings;\n uniqueOwnerPoolMap.set(key, {\n tokens: (\n parseFloat(thisHolding.tokens) + parseFloat(existingTokens.tokens)\n )\n .toFixed(5)\n .toString(),\n });\n } else {\n const thisHolding = holding as DoubleAssetTokenHoldings;\n const tokensObj = {\n tokenAmountA: (\n parseFloat(thisHolding.tokenAmountA) +\n parseFloat(existingTokens!.tokenAmountA)\n )\n .toFixed(5)\n .toString(),\n tokenAmountB: (\n parseFloat(thisHolding.tokenAmountB) +\n parseFloat(existingTokens!.tokenAmountB)\n )\n .toFixed(5)\n .toString(),\n };\n uniqueOwnerPoolMap.set(key, tokensObj);\n }\n } else {\n if (\"tokens\" in holding) {\n uniqueOwnerPoolMap.set(key, { tokens: holding.tokens });\n } else {\n uniqueOwnerPoolMap.set(key, {\n tokenAmountA: holding.tokenAmountA,\n tokenAmountB: holding.tokenAmountB,\n });\n }\n }\n }\n\n const uniqueOwnerPoolMapArr = Array.from(uniqueOwnerPoolMap);\n const result: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[] =\n uniqueOwnerPoolMapArr.map(([owner_pool, holding]) => {\n const owner = owner_pool.split(\"_\")[0];\n const poolName = owner_pool.split(\"_\")[1];\n return { user: owner, poolName: poolName, ...holding } as\n | SingleAssetTokenHoldings\n | DoubleAssetTokenHoldings;\n });\n return result;\n}\n\nexport async function multiTokensToUsd(\n tokensHoldings: (SingleAssetTokenHoldings | DoubleAssetTokenHoldings)[],\n): Promise<HoldingsObj[]> {\n const pricePairs = new Set<PythPriceIdPair>();\n tokensHoldings.map((o) => {\n if (\"tokens\" in o) {\n const thisCoins = coinsInPool(o.poolName);\n pricePairs.add(`${thisCoins}/USD` as PythPriceIdPair);\n } else if (\"tokenAmountA\" in o) {\n const thisCoins = coinsInPool(o.poolName);\n pricePairs.add(`${thisCoins.coinA}/USD` as PythPriceIdPair);\n pricePairs.add(`${thisCoins.coinB}/USD` as PythPriceIdPair);\n }\n });\n\n const usdHoldings: HoldingsObj[] = [];\n const prices = await getLatestTokenPricePairs(Array.from(pricePairs), false);\n\n for (const tokenHolding of tokensHoldings) {\n if (\"tokens\" in tokenHolding) {\n // SingleAssetTokenHoldings\n const singlePool = tokenHolding.poolName;\n const coin = coinsInPool(singlePool);\n const priceOfCoin = prices[`${coin}/USD`];\n if (priceOfCoin) {\n const amountInUSD = new Decimal(tokenHolding.tokens).mul(priceOfCoin);\n usdHoldings.push({\n owner: tokenHolding.user,\n poolName: tokenHolding.poolName,\n holding: amountInUSD.toFixed(2).toString(),\n });\n }\n } else {\n // DoubleAssetTokenHoldings\n const poolName = tokenHolding.poolName;\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n const priceOfCoin1 = prices[`${coin1}/USD`];\n const priceOfCoin2 = prices[`${coin2}/USD`];\n\n if (priceOfCoin1 && priceOfCoin2) {\n const amount = new Decimal(tokenHolding.tokenAmountA)\n .mul(priceOfCoin1)\n .add(new Decimal(tokenHolding.tokenAmountB).mul(priceOfCoin2));\n usdHoldings.push({\n owner: tokenHolding.user,\n poolName: tokenHolding.poolName,\n holding: amount.toFixed(2).toString(),\n });\n }\n }\n }\n\n return usdHoldings;\n}\n"]}
|
|
@@ -68,6 +68,7 @@ export declare const conf: {
|
|
|
68
68
|
ALPHA_BLUEFIN_V2_VERSION: string;
|
|
69
69
|
ALPHA_NAVI_V2_VERSION: string;
|
|
70
70
|
VOLO_NATIVE_POOL: string;
|
|
71
|
+
VOLO_STAKE_POOL: string;
|
|
71
72
|
VOLO_METADATA: string;
|
|
72
73
|
SUI_SYSTEM_STATE: string;
|
|
73
74
|
ALPHA_NAVI_BORROW_FACTOR: number;
|
|
@@ -496,6 +497,7 @@ export declare const conf: {
|
|
|
496
497
|
NAVI_WETH_ACCOUNT_ADDRESS: string;
|
|
497
498
|
NAVI_USDT_ACCOUNT_ADDRESS: string;
|
|
498
499
|
NAVI_DEEP_ACCOUNT_ADDRESS: string;
|
|
500
|
+
NAVI_WAL_ACCOUNT_ADDRESS: string;
|
|
499
501
|
ALPHA_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
500
502
|
ALPHA_SUI_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
501
503
|
USDT_WUSDC_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
@@ -741,7 +743,9 @@ export declare const conf: {
|
|
|
741
743
|
CETUS_SWAP_EVENT: string;
|
|
742
744
|
GOVERNANCE_PACKAGE_ID: string;
|
|
743
745
|
VOTE_CAST_EVENT_TYPE: string;
|
|
746
|
+
INACTIVE_PROPOSAL_IDS: string[];
|
|
744
747
|
ACTIVE_PROPOSAL_IDS: string[];
|
|
748
|
+
AIRDROP_CLAIM_EVENT_TYPE: string;
|
|
745
749
|
NAVI_POOL_DEPOSIT_EVENT: string;
|
|
746
750
|
NAVI_POOL_WITHDRAW_EVENT: string;
|
|
747
751
|
NAVI_LOOP_USDC_USDT_POOL_CHECK_RATIO_EVENT: string;
|
|
@@ -957,6 +961,7 @@ export declare const conf: {
|
|
|
957
961
|
ALPHA_BLUEFIN_V2_VERSION: string;
|
|
958
962
|
ALPHA_NAVI_V2_VERSION: string;
|
|
959
963
|
VOLO_NATIVE_POOL: string;
|
|
964
|
+
VOLO_STAKE_POOL: string;
|
|
960
965
|
VOLO_METADATA: string;
|
|
961
966
|
SUI_SYSTEM_STATE: string;
|
|
962
967
|
ALPHA_NAVI_BORROW_FACTOR: number;
|
|
@@ -1069,6 +1074,7 @@ export declare const conf: {
|
|
|
1069
1074
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_POOL: string;
|
|
1070
1075
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_POOL: string;
|
|
1071
1076
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL: string;
|
|
1077
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL: string;
|
|
1072
1078
|
WUSDC_SUI_CETUS_POOL_ID: string;
|
|
1073
1079
|
USDC_SUI_CETUS_POOL_ID: string;
|
|
1074
1080
|
CETUS_SUI_CETUS_POOL_ID: string;
|
|
@@ -1203,6 +1209,7 @@ export declare const conf: {
|
|
|
1203
1209
|
ALPHAFI_BLUEFIN_AUTOBALANCE_BLUE_SUI_INVESTOR: string;
|
|
1204
1210
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_INVESTOR: string;
|
|
1205
1211
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_INVESTOR: string;
|
|
1212
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_INVESTOR: string;
|
|
1206
1213
|
ALPHAFI_BLUEFIN_FUNGIBLE_STSUI_SUI_INVESTOR: string;
|
|
1207
1214
|
ALPHA_POOL_RECEIPT: string;
|
|
1208
1215
|
ALPHA_SUI_POOL_RECEIPT: string;
|
|
@@ -1285,6 +1292,7 @@ export declare const conf: {
|
|
|
1285
1292
|
ALPHAFI_BLUEFIN_AUTOBALANCE_BLUE_SUI_RECEIPT: string;
|
|
1286
1293
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_RECEIPT: string;
|
|
1287
1294
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_RECEIPT: string;
|
|
1295
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_RECEIPT: string;
|
|
1288
1296
|
ALPHA_POOL_RECEIPT_NAME: string;
|
|
1289
1297
|
ALPHA_SUI_POOL_RECEIPT_NAME: string;
|
|
1290
1298
|
USDT_WUSDC_POOL_RECEIPT_NAME: string;
|
|
@@ -1366,6 +1374,7 @@ export declare const conf: {
|
|
|
1366
1374
|
ALPHAFI_BLUEFIN_WAL_STSUI_RECEIPT_NAME: string;
|
|
1367
1375
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_RECEIPT_NAME: string;
|
|
1368
1376
|
NAVI_WAL_POOL_RECEIPT_NAME: string;
|
|
1377
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_RECEIPT_NAME: string;
|
|
1369
1378
|
NAVI_USDC_USDT_LOOP_ACCOUNT_ADDRESS: string;
|
|
1370
1379
|
NAVI_SUI_VSUI_LOOP_ACCOUNT_ADDRESS: string;
|
|
1371
1380
|
NAVI_HASUI_SUI_LOOP_ACCOUNT_ADDRESS: string;
|
|
@@ -1470,6 +1479,7 @@ export declare const conf: {
|
|
|
1470
1479
|
ALPHAFI_BLUEFIN_AUTOBALANCE_BLUE_SUI_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
1471
1480
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
1472
1481
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
1482
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
1473
1483
|
ALPHA_SUI_POOL_REBALANCE_EVENT: string;
|
|
1474
1484
|
USDT_WUSDC_POOL_REBALANCE_EVENT: string;
|
|
1475
1485
|
USDY_WUSDC_POOL_REBALANCE_EVENT: string;
|
|
@@ -1529,6 +1539,7 @@ export declare const conf: {
|
|
|
1529
1539
|
ALPHAFI_BLUEFIN_WAL_USDC_POOL_REBALANCE_EVENT: string;
|
|
1530
1540
|
ALPHAFI_BLUEFIN_WAL_STSUI_POOL_REBALANCE_EVENT: string;
|
|
1531
1541
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL_REBALANCE_EVENT: string;
|
|
1542
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL_REBALANCE_EVENT: string;
|
|
1532
1543
|
ALPHA_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
1533
1544
|
ALPHA_SUI_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
1534
1545
|
USDT_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
@@ -1610,6 +1621,7 @@ export declare const conf: {
|
|
|
1610
1621
|
ALPHAFI_BLUEFIN_WAL_STSUI_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
1611
1622
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
1612
1623
|
NAVI_WAL_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
1624
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
1613
1625
|
ALPHA_POOL_WITHDRAW_V2_EVENT: string;
|
|
1614
1626
|
ALPHA_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
1615
1627
|
ALPHA_SUI_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
@@ -1627,8 +1639,10 @@ export declare const conf: {
|
|
|
1627
1639
|
NAVI_USDT_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
1628
1640
|
NAVI_WUSDC_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
1629
1641
|
NAVI_HASUI_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
1642
|
+
AIRDROP_CLAIM_EVENT_TYPE: string;
|
|
1630
1643
|
GOVERNANCE_PACKAGE_ID: string;
|
|
1631
1644
|
VOTE_CAST_EVENT_TYPE: string;
|
|
1645
|
+
INACTIVE_PROPOSAL_IDS: string[];
|
|
1632
1646
|
ACTIVE_PROPOSAL_IDS: string[];
|
|
1633
1647
|
NAVI_LOOP_USDC_USDT_POOL_CHECK_RATIO_EVENT: string;
|
|
1634
1648
|
NAVI_LOOP_SUI_VSUI_POOL_CHECK_RATIO_EVENT: string;
|
|
@@ -1680,6 +1694,7 @@ export declare const conf: {
|
|
|
1680
1694
|
BLUEFIN_WAL_USDC_POOL: string;
|
|
1681
1695
|
BLUEFIN_WAL_STSUI_POOL: string;
|
|
1682
1696
|
BLUEFIN_SUI_WAL_POOL: string;
|
|
1697
|
+
BLUEFIN_SUIUSDT_USDC_ZERO_ZERO_POOL: string;
|
|
1683
1698
|
LST_INFO: string;
|
|
1684
1699
|
HAEDEL_STAKING: string;
|
|
1685
1700
|
NAVI_STORAGE: string;
|
|
@@ -1847,6 +1862,7 @@ export declare const getConf: () => {
|
|
|
1847
1862
|
ALPHA_BLUEFIN_V2_VERSION: string;
|
|
1848
1863
|
ALPHA_NAVI_V2_VERSION: string;
|
|
1849
1864
|
VOLO_NATIVE_POOL: string;
|
|
1865
|
+
VOLO_STAKE_POOL: string;
|
|
1850
1866
|
VOLO_METADATA: string;
|
|
1851
1867
|
SUI_SYSTEM_STATE: string;
|
|
1852
1868
|
ALPHA_NAVI_BORROW_FACTOR: number;
|
|
@@ -1959,6 +1975,7 @@ export declare const getConf: () => {
|
|
|
1959
1975
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_POOL: string;
|
|
1960
1976
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_POOL: string;
|
|
1961
1977
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL: string;
|
|
1978
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL: string;
|
|
1962
1979
|
WUSDC_SUI_CETUS_POOL_ID: string;
|
|
1963
1980
|
USDC_SUI_CETUS_POOL_ID: string;
|
|
1964
1981
|
CETUS_SUI_CETUS_POOL_ID: string;
|
|
@@ -2093,6 +2110,7 @@ export declare const getConf: () => {
|
|
|
2093
2110
|
ALPHAFI_BLUEFIN_AUTOBALANCE_BLUE_SUI_INVESTOR: string;
|
|
2094
2111
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_INVESTOR: string;
|
|
2095
2112
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_INVESTOR: string;
|
|
2113
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_INVESTOR: string;
|
|
2096
2114
|
ALPHAFI_BLUEFIN_FUNGIBLE_STSUI_SUI_INVESTOR: string;
|
|
2097
2115
|
ALPHA_POOL_RECEIPT: string;
|
|
2098
2116
|
ALPHA_SUI_POOL_RECEIPT: string;
|
|
@@ -2175,6 +2193,7 @@ export declare const getConf: () => {
|
|
|
2175
2193
|
ALPHAFI_BLUEFIN_AUTOBALANCE_BLUE_SUI_RECEIPT: string;
|
|
2176
2194
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_RECEIPT: string;
|
|
2177
2195
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_RECEIPT: string;
|
|
2196
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_RECEIPT: string;
|
|
2178
2197
|
ALPHA_POOL_RECEIPT_NAME: string;
|
|
2179
2198
|
ALPHA_SUI_POOL_RECEIPT_NAME: string;
|
|
2180
2199
|
USDT_WUSDC_POOL_RECEIPT_NAME: string;
|
|
@@ -2256,6 +2275,7 @@ export declare const getConf: () => {
|
|
|
2256
2275
|
ALPHAFI_BLUEFIN_WAL_STSUI_RECEIPT_NAME: string;
|
|
2257
2276
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_RECEIPT_NAME: string;
|
|
2258
2277
|
NAVI_WAL_POOL_RECEIPT_NAME: string;
|
|
2278
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_RECEIPT_NAME: string;
|
|
2259
2279
|
NAVI_USDC_USDT_LOOP_ACCOUNT_ADDRESS: string;
|
|
2260
2280
|
NAVI_SUI_VSUI_LOOP_ACCOUNT_ADDRESS: string;
|
|
2261
2281
|
NAVI_HASUI_SUI_LOOP_ACCOUNT_ADDRESS: string;
|
|
@@ -2360,6 +2380,7 @@ export declare const getConf: () => {
|
|
|
2360
2380
|
ALPHAFI_BLUEFIN_AUTOBALANCE_BLUE_SUI_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
2361
2381
|
ALPHAFI_BLUEFIN_AUTOBALANCE_SUI_LBTC_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
2362
2382
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
2383
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL_AUTO_COMPOUNDING_EVENT: string;
|
|
2363
2384
|
ALPHA_SUI_POOL_REBALANCE_EVENT: string;
|
|
2364
2385
|
USDT_WUSDC_POOL_REBALANCE_EVENT: string;
|
|
2365
2386
|
USDY_WUSDC_POOL_REBALANCE_EVENT: string;
|
|
@@ -2419,6 +2440,7 @@ export declare const getConf: () => {
|
|
|
2419
2440
|
ALPHAFI_BLUEFIN_WAL_USDC_POOL_REBALANCE_EVENT: string;
|
|
2420
2441
|
ALPHAFI_BLUEFIN_WAL_STSUI_POOL_REBALANCE_EVENT: string;
|
|
2421
2442
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL_REBALANCE_EVENT: string;
|
|
2443
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL_REBALANCE_EVENT: string;
|
|
2422
2444
|
ALPHA_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
2423
2445
|
ALPHA_SUI_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
2424
2446
|
USDT_WUSDC_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
@@ -2500,6 +2522,7 @@ export declare const getConf: () => {
|
|
|
2500
2522
|
ALPHAFI_BLUEFIN_WAL_STSUI_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
2501
2523
|
ALPHAFI_BLUEFIN_AUTOBALANCE_WAL_USDC_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
2502
2524
|
NAVI_WAL_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
2525
|
+
ALPHAFI_BLUEFIN_AUTOBALANCE_SUIUSDT_USDC_ZERO_ZERO_POOL_LIQUIDITY_CHANGE_EVENT: string;
|
|
2503
2526
|
ALPHA_POOL_WITHDRAW_V2_EVENT: string;
|
|
2504
2527
|
ALPHA_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
2505
2528
|
ALPHA_SUI_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
@@ -2517,8 +2540,10 @@ export declare const getConf: () => {
|
|
|
2517
2540
|
NAVI_USDT_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
2518
2541
|
NAVI_WUSDC_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
2519
2542
|
NAVI_HASUI_POOL_AFTER_TRANSACTION_EVENT: string;
|
|
2543
|
+
AIRDROP_CLAIM_EVENT_TYPE: string;
|
|
2520
2544
|
GOVERNANCE_PACKAGE_ID: string;
|
|
2521
2545
|
VOTE_CAST_EVENT_TYPE: string;
|
|
2546
|
+
INACTIVE_PROPOSAL_IDS: string[];
|
|
2522
2547
|
ACTIVE_PROPOSAL_IDS: string[];
|
|
2523
2548
|
NAVI_LOOP_USDC_USDT_POOL_CHECK_RATIO_EVENT: string;
|
|
2524
2549
|
NAVI_LOOP_SUI_VSUI_POOL_CHECK_RATIO_EVENT: string;
|
|
@@ -2570,6 +2595,7 @@ export declare const getConf: () => {
|
|
|
2570
2595
|
BLUEFIN_WAL_USDC_POOL: string;
|
|
2571
2596
|
BLUEFIN_WAL_STSUI_POOL: string;
|
|
2572
2597
|
BLUEFIN_SUI_WAL_POOL: string;
|
|
2598
|
+
BLUEFIN_SUIUSDT_USDC_ZERO_ZERO_POOL: string;
|
|
2573
2599
|
LST_INFO: string;
|
|
2574
2600
|
HAEDEL_STAKING: string;
|
|
2575
2601
|
NAVI_STORAGE: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,eAAe,CAAC;AAErC,eAAO,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/common/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,eAAe,CAAC;AAErC,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqtIhB,CAAC;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEnB,CAAC"}
|