@alphafi/alphafi-sdk 0.0.19 → 0.0.21
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/README.md +14 -5
- package/dist/cjs/common/alphaTypes.d.ts.map +1 -0
- package/dist/cjs/common/alphaTypes.js +3 -0
- package/dist/cjs/common/alphaTypes.js.map +1 -0
- package/dist/cjs/common/cetus_mainnet_config.d.ts.map +1 -0
- package/dist/cjs/common/cetus_mainnet_config.js +50 -0
- package/dist/cjs/common/cetus_mainnet_config.js.map +1 -0
- package/dist/cjs/common/coins.d.ts.map +1 -0
- package/dist/cjs/common/coins.js +135 -0
- package/dist/cjs/common/coins.js.map +1 -0
- package/dist/cjs/common/constants.d.ts.map +1 -0
- package/dist/cjs/common/constants.js +465 -0
- package/dist/cjs/common/constants.js.map +1 -0
- package/dist/cjs/common/maps.d.ts.map +1 -0
- package/dist/cjs/common/maps.js +535 -0
- package/dist/cjs/common/maps.js.map +1 -0
- package/dist/cjs/common/pyth.d.ts.map +1 -0
- package/dist/cjs/common/pyth.js +3 -0
- package/dist/cjs/common/pyth.js.map +1 -0
- package/dist/cjs/common/types.d.ts.map +1 -0
- package/dist/cjs/common/types.js +18 -0
- package/dist/cjs/common/types.js.map +1 -0
- package/dist/cjs/example.d.ts.map +1 -0
- package/dist/cjs/example.js +42 -0
- package/dist/cjs/example.js.map +1 -0
- package/dist/cjs/getAirdropShare.d.ts.map +1 -0
- package/dist/cjs/getAirdropShare.js +9 -0
- package/dist/cjs/getAirdropShare.js.map +1 -0
- package/dist/cjs/getAllVaults.d.ts.map +1 -0
- package/dist/cjs/getAllVaults.js +32 -0
- package/dist/cjs/getAllVaults.js.map +1 -0
- package/dist/cjs/getAlphaUnlocks.d.ts.map +1 -0
- package/dist/cjs/getAlphaUnlocks.js +20 -0
- package/dist/cjs/getAlphaUnlocks.js.map +1 -0
- package/dist/cjs/getAprs.d.ts.map +1 -0
- package/dist/cjs/getAprs.js +56 -0
- package/dist/cjs/getAprs.js.map +1 -0
- package/dist/cjs/getHoldersFromTransactions.d.ts.map +1 -0
- package/dist/cjs/getHoldersFromTransactions.js +87 -0
- package/dist/cjs/getHoldersFromTransactions.js.map +1 -0
- package/dist/cjs/getLastAutoCompoundTime.d.ts.map +1 -0
- package/dist/cjs/getLastAutoCompoundTime.js +17 -0
- package/dist/cjs/getLastAutoCompoundTime.js.map +1 -0
- package/dist/cjs/getRebalanceHistory.d.ts.map +1 -0
- package/dist/cjs/getRebalanceHistory.js +24 -0
- package/dist/cjs/getRebalanceHistory.js.map +1 -0
- package/dist/cjs/getVaultBalances.d.ts.map +1 -0
- package/dist/cjs/getVaultBalances.js +132 -0
- package/dist/cjs/getVaultBalances.js.map +1 -0
- package/dist/cjs/getVaults.d.ts.map +1 -0
- package/dist/cjs/getVaults.js +31 -0
- package/dist/cjs/getVaults.js.map +1 -0
- package/dist/cjs/graphql/client.d.ts.map +1 -0
- package/dist/cjs/graphql/client.js +14 -0
- package/dist/cjs/graphql/client.js.map +1 -0
- package/dist/cjs/graphql/executeMutations.d.ts.map +1 -0
- package/dist/cjs/graphql/executeMutations.js +31 -0
- package/dist/cjs/graphql/executeMutations.js.map +1 -0
- package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.d.ts.map +1 -0
- package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js +119 -0
- package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js.map +1 -0
- package/dist/cjs/graphql/fetchData.d.ts.map +1 -0
- package/dist/cjs/graphql/fetchData.js +95 -0
- package/dist/cjs/graphql/fetchData.js.map +1 -0
- package/dist/cjs/graphql/fetchNftHolders.d.ts.map +1 -0
- package/dist/cjs/graphql/fetchNftHolders.js +34 -0
- package/dist/cjs/graphql/fetchNftHolders.js.map +1 -0
- package/dist/cjs/graphql/fetchReceipts.d.ts.map +1 -0
- package/dist/cjs/graphql/fetchReceipts.js +35 -0
- package/dist/cjs/graphql/fetchReceipts.js.map +1 -0
- package/dist/cjs/graphql/mutations.d.ts.map +1 -0
- package/dist/cjs/graphql/mutations.js +33 -0
- package/dist/cjs/graphql/mutations.js.map +1 -0
- package/dist/cjs/graphql/parseData.d.ts.map +1 -0
- package/dist/cjs/graphql/parseData.js +9 -0
- package/dist/cjs/graphql/parseData.js.map +1 -0
- package/dist/cjs/graphql/parseLockedTableId.d.ts.map +1 -0
- package/dist/cjs/graphql/parseLockedTableId.js +15 -0
- package/dist/cjs/graphql/parseLockedTableId.js.map +1 -0
- package/dist/cjs/graphql/queries/autoCompoundEvents.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/autoCompoundEvents.js +19 -0
- package/dist/cjs/graphql/queries/autoCompoundEvents.js.map +1 -0
- package/dist/cjs/graphql/queries/cetusPools.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/cetusPools.js +39 -0
- package/dist/cjs/graphql/queries/cetusPools.js.map +1 -0
- package/dist/cjs/graphql/queries/investors.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/investors.js +39 -0
- package/dist/cjs/graphql/queries/investors.js.map +1 -0
- package/dist/cjs/graphql/queries/lockedTableData.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/lockedTableData.js +30 -0
- package/dist/cjs/graphql/queries/lockedTableData.js.map +1 -0
- package/dist/cjs/graphql/queries/lockedTableDataFragment.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/lockedTableDataFragment.js +24 -0
- package/dist/cjs/graphql/queries/lockedTableDataFragment.js.map +1 -0
- package/dist/cjs/graphql/queries/nftHolders.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/nftHolders.js +23 -0
- package/dist/cjs/graphql/queries/nftHolders.js.map +1 -0
- package/dist/cjs/graphql/queries/pools.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/pools.js +57 -0
- package/dist/cjs/graphql/queries/pools.js.map +1 -0
- package/dist/cjs/graphql/queries/receiptData.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/receiptData.js +21 -0
- package/dist/cjs/graphql/queries/receiptData.js.map +1 -0
- package/dist/cjs/graphql/queries/userVaultBalances.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/userVaultBalances.js +62 -0
- package/dist/cjs/graphql/queries/userVaultBalances.js.map +1 -0
- package/dist/cjs/graphql/queries/userVaults.d.ts.map +1 -0
- package/dist/cjs/graphql/queries/userVaults.js +62 -0
- package/dist/cjs/graphql/queries/userVaults.js.map +1 -0
- package/dist/cjs/graphql/queries.d.ts.map +1 -0
- package/dist/cjs/graphql/queries.js +86 -0
- package/dist/cjs/graphql/queries.js.map +1 -0
- package/dist/cjs/graphql/types.d.ts.map +1 -0
- package/dist/cjs/graphql/types.js +3 -0
- package/dist/cjs/graphql/types.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +70 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/sui-sdk/client.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/client.js +69 -0
- package/dist/cjs/sui-sdk/client.js.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +201 -0
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.js +184 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js +44 -0
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js +90 -0
- package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js.map +1 -0
- package/dist/cjs/sui-sdk/events/parseData.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/parseData.js +31 -0
- package/dist/cjs/sui-sdk/events/parseData.js.map +1 -0
- package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/events/types.js +3 -0
- package/dist/cjs/sui-sdk/events/types.js.map +1 -0
- package/dist/cjs/sui-sdk/functions/fetchTableData.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/functions/fetchTableData.js +77 -0
- package/dist/cjs/sui-sdk/functions/fetchTableData.js.map +1 -0
- package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js +82 -0
- package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js.map +1 -0
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.js +45 -0
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.js.map +1 -0
- package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +246 -0
- package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +1 -0
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/functions/getReceipts.js +375 -0
- package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -0
- package/dist/cjs/sui-sdk/transactions/constants.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/transactions/constants.js +90 -0
- package/dist/cjs/sui-sdk/transactions/constants.js.map +1 -0
- package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/transactions/fetchTransactions.js +88 -0
- package/dist/cjs/sui-sdk/transactions/fetchTransactions.js.map +1 -0
- package/dist/cjs/sui-sdk/transactions/types.d.ts.map +1 -0
- package/dist/cjs/sui-sdk/transactions/types.js +3 -0
- package/dist/cjs/sui-sdk/transactions/types.js.map +1 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils/clmm/prices.d.ts.map +1 -0
- package/dist/cjs/utils/clmm/prices.js +317 -0
- package/dist/cjs/utils/clmm/prices.js.map +1 -0
- package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.d.ts.map +1 -0
- package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js +196 -0
- package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js.map +1 -0
- package/dist/cjs/utils/clmm/types.d.ts.map +1 -0
- package/dist/cjs/utils/clmm/types.js +3 -0
- package/dist/cjs/utils/clmm/types.js.map +1 -0
- package/dist/cjs/utils/constants.d.ts.map +1 -0
- package/dist/cjs/utils/constants.js +104 -0
- package/dist/cjs/utils/constants.js.map +1 -0
- package/dist/cjs/utils/getHoldersFromTransactionsUtils.d.ts.map +1 -0
- package/dist/cjs/utils/getHoldersFromTransactionsUtils.js +132 -0
- package/dist/cjs/utils/getHoldersFromTransactionsUtils.js.map +1 -0
- package/dist/cjs/utils/getReceipts.d.ts.map +1 -0
- package/dist/cjs/utils/getReceipts.js +45 -0
- package/dist/cjs/utils/getReceipts.js.map +1 -0
- package/dist/cjs/utils/hop.d.ts.map +1 -0
- package/dist/cjs/utils/hop.js +125 -0
- package/dist/cjs/utils/hop.js.map +1 -0
- package/dist/cjs/utils/prices.d.ts.map +1 -0
- package/dist/cjs/utils/prices.js +231 -0
- package/dist/cjs/utils/prices.js.map +1 -0
- package/dist/cjs/utils/simpleCache.d.ts.map +1 -0
- package/dist/cjs/utils/simpleCache.js +43 -0
- package/dist/cjs/utils/simpleCache.js.map +1 -0
- package/dist/cjs/utils/types.d.ts.map +1 -0
- package/dist/cjs/utils/types.js +3 -0
- package/dist/cjs/utils/types.js.map +1 -0
- package/dist/cjs/utils/userHoldings.d.ts.map +1 -0
- package/dist/cjs/utils/userHoldings.js +202 -0
- package/dist/cjs/utils/userHoldings.js.map +1 -0
- package/dist/cjs/vaultFunctions.d.ts.map +1 -0
- package/dist/cjs/vaultFunctions.js +32 -0
- package/dist/cjs/vaultFunctions.js.map +1 -0
- package/dist/esm/common/alphaTypes.d.ts.map +1 -0
- package/dist/esm/common/alphaTypes.js +2 -0
- package/dist/esm/common/alphaTypes.js.map +1 -0
- package/dist/esm/common/cetus_mainnet_config.d.ts.map +1 -0
- package/dist/esm/common/cetus_mainnet_config.js +47 -0
- package/dist/esm/common/cetus_mainnet_config.js.map +1 -0
- package/dist/esm/common/coins.d.ts.map +1 -0
- package/dist/esm/common/coins.js +132 -0
- package/dist/esm/common/coins.js.map +1 -0
- package/dist/esm/common/constants.d.ts.map +1 -0
- package/dist/esm/common/constants.js +462 -0
- package/dist/esm/common/constants.js.map +1 -0
- package/dist/esm/common/maps.d.ts.map +1 -0
- package/dist/esm/common/maps.js +527 -0
- package/dist/esm/common/maps.js.map +1 -0
- package/dist/esm/common/pyth.d.ts.map +1 -0
- package/dist/esm/common/pyth.js +2 -0
- package/dist/esm/common/pyth.js.map +1 -0
- package/dist/esm/common/types.d.ts.map +1 -0
- package/dist/esm/common/types.js +16 -0
- package/dist/esm/common/types.js.map +1 -0
- package/dist/esm/example.d.ts.map +1 -0
- package/dist/esm/example.js +38 -0
- package/dist/esm/example.js.map +1 -0
- package/dist/esm/getAirdropShare.d.ts.map +1 -0
- package/dist/esm/getAirdropShare.js +6 -0
- package/dist/esm/getAirdropShare.js.map +1 -0
- package/dist/esm/getAllVaults.d.ts.map +1 -0
- package/dist/esm/getAllVaults.js +27 -0
- package/dist/esm/getAllVaults.js.map +1 -0
- package/dist/esm/getAlphaUnlocks.d.ts.map +1 -0
- package/dist/esm/getAlphaUnlocks.js +17 -0
- package/dist/esm/getAlphaUnlocks.js.map +1 -0
- package/dist/esm/getAprs.d.ts.map +1 -0
- package/dist/esm/getAprs.js +50 -0
- package/dist/esm/getAprs.js.map +1 -0
- package/dist/esm/getHoldersFromTransactions.d.ts.map +1 -0
- package/dist/esm/getHoldersFromTransactions.js +82 -0
- package/dist/esm/getHoldersFromTransactions.js.map +1 -0
- package/dist/esm/getLastAutoCompoundTime.d.ts.map +1 -0
- package/dist/esm/getLastAutoCompoundTime.js +14 -0
- package/dist/esm/getLastAutoCompoundTime.js.map +1 -0
- package/dist/esm/getRebalanceHistory.d.ts.map +1 -0
- package/dist/esm/getRebalanceHistory.js +20 -0
- package/dist/esm/getRebalanceHistory.js.map +1 -0
- package/dist/esm/getVaultBalances.d.ts.map +1 -0
- package/dist/esm/getVaultBalances.js +124 -0
- package/dist/esm/getVaultBalances.js.map +1 -0
- package/dist/esm/getVaults.d.ts.map +1 -0
- package/dist/esm/getVaults.js +26 -0
- package/dist/esm/getVaults.js.map +1 -0
- package/dist/esm/graphql/client.d.ts.map +1 -0
- package/dist/esm/graphql/client.js +12 -0
- package/dist/esm/graphql/client.js.map +1 -0
- package/dist/esm/graphql/executeMutations.d.ts.map +1 -0
- package/dist/esm/graphql/executeMutations.js +25 -0
- package/dist/esm/graphql/executeMutations.js.map +1 -0
- package/dist/esm/graphql/fetchAutoCompoundingEventsGql.d.ts.map +1 -0
- package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js +116 -0
- package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js.map +1 -0
- package/dist/esm/graphql/fetchData.d.ts.map +1 -0
- package/dist/esm/graphql/fetchData.js +81 -0
- package/dist/esm/graphql/fetchData.js.map +1 -0
- package/dist/esm/graphql/fetchNftHolders.d.ts.map +1 -0
- package/dist/esm/graphql/fetchNftHolders.js +30 -0
- package/dist/esm/graphql/fetchNftHolders.js.map +1 -0
- package/dist/esm/graphql/fetchReceipts.d.ts.map +1 -0
- package/dist/esm/graphql/fetchReceipts.js +31 -0
- package/dist/esm/graphql/fetchReceipts.js.map +1 -0
- package/dist/esm/graphql/mutations.d.ts.map +1 -0
- package/dist/esm/graphql/mutations.js +30 -0
- package/dist/esm/graphql/mutations.js.map +1 -0
- package/dist/esm/graphql/parseData.d.ts.map +1 -0
- package/dist/esm/graphql/parseData.js +6 -0
- package/dist/esm/graphql/parseData.js.map +1 -0
- package/dist/esm/graphql/parseLockedTableId.d.ts.map +1 -0
- package/dist/esm/graphql/parseLockedTableId.js +12 -0
- package/dist/esm/graphql/parseLockedTableId.js.map +1 -0
- package/dist/esm/graphql/queries/autoCompoundEvents.d.ts.map +1 -0
- package/dist/esm/graphql/queries/autoCompoundEvents.js +16 -0
- package/dist/esm/graphql/queries/autoCompoundEvents.js.map +1 -0
- package/dist/esm/graphql/queries/cetusPools.d.ts.map +1 -0
- package/dist/esm/graphql/queries/cetusPools.js +36 -0
- package/dist/esm/graphql/queries/cetusPools.js.map +1 -0
- package/dist/esm/graphql/queries/investors.d.ts.map +1 -0
- package/dist/esm/graphql/queries/investors.js +36 -0
- package/dist/esm/graphql/queries/investors.js.map +1 -0
- package/dist/esm/graphql/queries/lockedTableData.d.ts.map +1 -0
- package/dist/esm/graphql/queries/lockedTableData.js +27 -0
- package/dist/esm/graphql/queries/lockedTableData.js.map +1 -0
- package/dist/esm/graphql/queries/lockedTableDataFragment.d.ts.map +1 -0
- package/dist/esm/graphql/queries/lockedTableDataFragment.js +21 -0
- package/dist/esm/graphql/queries/lockedTableDataFragment.js.map +1 -0
- package/dist/esm/graphql/queries/nftHolders.d.ts.map +1 -0
- package/dist/esm/graphql/queries/nftHolders.js +20 -0
- package/dist/esm/graphql/queries/nftHolders.js.map +1 -0
- package/dist/esm/graphql/queries/pools.d.ts.map +1 -0
- package/dist/esm/graphql/queries/pools.js +54 -0
- package/dist/esm/graphql/queries/pools.js.map +1 -0
- package/dist/esm/graphql/queries/receiptData.d.ts.map +1 -0
- package/dist/esm/graphql/queries/receiptData.js +18 -0
- package/dist/esm/graphql/queries/receiptData.js.map +1 -0
- package/dist/esm/graphql/queries/userVaultBalances.d.ts.map +1 -0
- package/dist/esm/graphql/queries/userVaultBalances.js +59 -0
- package/dist/esm/graphql/queries/userVaultBalances.js.map +1 -0
- package/dist/esm/graphql/queries/userVaults.d.ts.map +1 -0
- package/dist/esm/graphql/queries/userVaults.js +59 -0
- package/dist/esm/graphql/queries/userVaults.js.map +1 -0
- package/dist/esm/graphql/queries.d.ts.map +1 -0
- package/dist/esm/graphql/queries.js +83 -0
- package/dist/esm/graphql/queries.js.map +1 -0
- package/dist/esm/graphql/types.d.ts.map +1 -0
- package/dist/esm/graphql/types.js +2 -0
- package/dist/esm/graphql/types.js.map +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/{index.d.ts → esm/index.js} +23 -19
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/sui-sdk/client.d.ts.map +1 -0
- package/dist/esm/sui-sdk/client.js +63 -0
- package/dist/esm/sui-sdk/client.js.map +1 -0
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +196 -0
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -0
- package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/fetchEvents.js +181 -0
- package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -0
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js +41 -0
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js.map +1 -0
- package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js +85 -0
- package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js.map +1 -0
- package/dist/esm/sui-sdk/events/parseData.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/parseData.js +27 -0
- package/dist/esm/sui-sdk/events/parseData.js.map +1 -0
- package/dist/esm/sui-sdk/events/types.d.ts.map +1 -0
- package/dist/esm/sui-sdk/events/types.js +2 -0
- package/dist/esm/sui-sdk/events/types.js.map +1 -0
- package/dist/esm/sui-sdk/functions/fetchTableData.d.ts.map +1 -0
- package/dist/esm/sui-sdk/functions/fetchTableData.js +73 -0
- package/dist/esm/sui-sdk/functions/fetchTableData.js.map +1 -0
- package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +1 -0
- package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js +79 -0
- package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js.map +1 -0
- package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts.map +1 -0
- package/dist/esm/sui-sdk/functions/fetchUserVaults.js +42 -0
- package/dist/esm/sui-sdk/functions/fetchUserVaults.js.map +1 -0
- package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +1 -0
- package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +238 -0
- package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +1 -0
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -0
- package/dist/esm/sui-sdk/functions/getReceipts.js +364 -0
- package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -0
- package/dist/esm/sui-sdk/transactions/constants.d.ts.map +1 -0
- package/dist/esm/sui-sdk/transactions/constants.js +87 -0
- package/dist/esm/sui-sdk/transactions/constants.js.map +1 -0
- package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts.map +1 -0
- package/dist/esm/sui-sdk/transactions/fetchTransactions.js +85 -0
- package/dist/esm/sui-sdk/transactions/fetchTransactions.js.map +1 -0
- package/dist/esm/sui-sdk/transactions/types.d.ts.map +1 -0
- package/dist/esm/sui-sdk/transactions/types.js +2 -0
- package/dist/esm/sui-sdk/transactions/types.js.map +1 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils/clmm/prices.d.ts.map +1 -0
- package/dist/esm/utils/clmm/prices.js +309 -0
- package/dist/esm/utils/clmm/prices.js.map +1 -0
- package/dist/esm/utils/clmm/tokenAmountFromLiquidity.d.ts.map +1 -0
- package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js +188 -0
- package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js.map +1 -0
- package/dist/esm/utils/clmm/types.d.ts.map +1 -0
- package/dist/esm/utils/clmm/types.js +2 -0
- package/dist/esm/utils/clmm/types.js.map +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -0
- package/dist/esm/utils/constants.js +101 -0
- package/dist/esm/utils/constants.js.map +1 -0
- package/dist/esm/utils/getHoldersFromTransactionsUtils.d.ts.map +1 -0
- package/dist/esm/utils/getHoldersFromTransactionsUtils.js +127 -0
- package/dist/esm/utils/getHoldersFromTransactionsUtils.js.map +1 -0
- package/dist/esm/utils/getReceipts.d.ts.map +1 -0
- package/dist/esm/utils/getReceipts.js +42 -0
- package/dist/esm/utils/getReceipts.js.map +1 -0
- package/dist/esm/utils/hop.d.ts.map +1 -0
- package/dist/esm/utils/hop.js +118 -0
- package/dist/esm/utils/hop.js.map +1 -0
- package/dist/esm/utils/prices.d.ts.map +1 -0
- package/dist/esm/utils/prices.js +226 -0
- package/dist/esm/utils/prices.js.map +1 -0
- package/dist/esm/utils/simpleCache.d.ts.map +1 -0
- package/dist/esm/utils/simpleCache.js +40 -0
- package/dist/esm/utils/simpleCache.js.map +1 -0
- package/dist/esm/utils/types.d.ts.map +1 -0
- package/dist/esm/utils/types.js +2 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/userHoldings.d.ts.map +1 -0
- package/dist/esm/utils/userHoldings.js +195 -0
- package/dist/esm/utils/userHoldings.js.map +1 -0
- package/dist/esm/vaultFunctions.d.ts.map +1 -0
- package/dist/esm/vaultFunctions.js +27 -0
- package/dist/esm/vaultFunctions.js.map +1 -0
- package/package.json +29 -13
- package/dist/common/alphaTypes.d.ts +0 -109
- package/dist/common/cetus_mainnet_config.d.ts +0 -2
- package/dist/common/coins.d.ts +0 -4
- package/dist/common/constants.d.ts +0 -401
- package/dist/common/maps.d.ts +0 -56
- package/dist/common/pyth.d.ts +0 -6
- package/dist/common/types.d.ts +0 -459
- package/dist/example.d.ts +0 -2
- package/dist/getAirdropShare.d.ts +0 -1
- package/dist/getAllVaults.d.ts +0 -3
- package/dist/getAlphaUnlocks.d.ts +0 -13
- package/dist/getAprs.d.ts +0 -5
- package/dist/getHoldersFromTransactions.d.ts +0 -8
- package/dist/getLastAutoCompoundTime.d.ts +0 -2
- package/dist/getRebalanceHistory.d.ts +0 -3
- package/dist/getVaultBalances.d.ts +0 -8
- package/dist/getVaults.d.ts +0 -4
- package/dist/graphql/client.d.ts +0 -3
- package/dist/graphql/executeMutations.d.ts +0 -3
- package/dist/graphql/fetchAutoCompoundingEventsGql.d.ts +0 -26
- package/dist/graphql/fetchData.d.ts +0 -10
- package/dist/graphql/fetchNftHolders.d.ts +0 -2
- package/dist/graphql/fetchReceipts.d.ts +0 -2
- package/dist/graphql/mutations.d.ts +0 -3
- package/dist/graphql/parseData.d.ts +0 -1
- package/dist/graphql/parseLockedTableId.d.ts +0 -6
- package/dist/graphql/queries.d.ts +0 -14
- package/dist/graphql/types.d.ts +0 -69
- package/dist/index.js +0 -3
- package/dist/index.js.LICENSE.txt +0 -48
- package/dist/index.js.map +0 -1
- package/dist/sui-sdk/client.d.ts +0 -30
- package/dist/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +0 -5
- package/dist/sui-sdk/events/fetchEvents.d.ts +0 -2
- package/dist/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +0 -2
- package/dist/sui-sdk/events/fetchRebalanceEvents.d.ts +0 -4
- package/dist/sui-sdk/events/parseData.d.ts +0 -3
- package/dist/sui-sdk/events/types.d.ts +0 -93
- package/dist/sui-sdk/functions/fetchTableData.d.ts +0 -49
- package/dist/sui-sdk/functions/fetchUserVaultBalances.d.ts +0 -2
- package/dist/sui-sdk/functions/fetchUserVaults.d.ts +0 -2
- package/dist/sui-sdk/functions/getPortfolioAmounts.d.ts +0 -32
- package/dist/sui-sdk/functions/getReceipts.d.ts +0 -10
- package/dist/sui-sdk/transactions/constants.d.ts +0 -3
- package/dist/sui-sdk/transactions/fetchTransactions.d.ts +0 -3
- package/dist/sui-sdk/transactions/types.d.ts +0 -7
- package/dist/types.d.ts +0 -212
- package/dist/utils/clmm/prices.d.ts +0 -19
- package/dist/utils/clmm/tokenAmountFromLiquidity.d.ts +0 -10
- package/dist/utils/clmm/types.d.ts +0 -24
- package/dist/utils/constants.d.ts +0 -2
- package/dist/utils/getHoldersFromTransactionsUtils.d.ts +0 -5
- package/dist/utils/getReceipts.d.ts +0 -3
- package/dist/utils/hop.d.ts +0 -15
- package/dist/utils/prices.d.ts +0 -6
- package/dist/utils/simpleCache.d.ts +0 -9
- package/dist/utils/types.d.ts +0 -4
- package/dist/utils/userHoldings.d.ts +0 -5
- package/dist/vaultFunctions.d.ts +0 -4
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchUserVaultBalances = fetchUserVaultBalances;
|
|
4
|
+
const maps_js_1 = require("../../common/maps.js");
|
|
5
|
+
const client_js_1 = require("../client.js");
|
|
6
|
+
const getPortfolioAmounts_js_1 = require("./getPortfolioAmounts.js");
|
|
7
|
+
async function fetchUserVaultBalances(address, poolName) {
|
|
8
|
+
const suiClient = (0, client_js_1.getSuiClient)();
|
|
9
|
+
let vaultBalance;
|
|
10
|
+
if (maps_js_1.poolInfo[poolName].parentProtocolName === "ALPHAFI") {
|
|
11
|
+
const lockedPortfolioAmount = await (0, getPortfolioAmounts_js_1.getAlphaPortfolioAmount)("ALPHA", {
|
|
12
|
+
suiClient,
|
|
13
|
+
address,
|
|
14
|
+
isLocked: true,
|
|
15
|
+
});
|
|
16
|
+
const lockedPortfolioAmountInUSD = await (0, getPortfolioAmounts_js_1.getAlphaPortfolioAmountInUSD)("ALPHA", { suiClient, address, isLocked: true });
|
|
17
|
+
const unlockedPortfolioAmount = await (0, getPortfolioAmounts_js_1.getAlphaPortfolioAmount)("ALPHA", {
|
|
18
|
+
suiClient,
|
|
19
|
+
address,
|
|
20
|
+
isLocked: false,
|
|
21
|
+
});
|
|
22
|
+
const unlockedPortfolioAmountInUSD = await (0, getPortfolioAmounts_js_1.getAlphaPortfolioAmountInUSD)("ALPHA", { suiClient, address, isLocked: false });
|
|
23
|
+
const portfolioAmount = await (0, getPortfolioAmounts_js_1.getAlphaPortfolioAmount)("ALPHA", {
|
|
24
|
+
suiClient,
|
|
25
|
+
address,
|
|
26
|
+
});
|
|
27
|
+
const portfolioAmountInUSD = await (0, getPortfolioAmounts_js_1.getAlphaPortfolioAmountInUSD)("ALPHA", {
|
|
28
|
+
suiClient,
|
|
29
|
+
address,
|
|
30
|
+
});
|
|
31
|
+
if (lockedPortfolioAmount !== undefined &&
|
|
32
|
+
lockedPortfolioAmountInUSD !== undefined &&
|
|
33
|
+
unlockedPortfolioAmount !== undefined &&
|
|
34
|
+
unlockedPortfolioAmountInUSD !== undefined &&
|
|
35
|
+
portfolioAmount !== undefined &&
|
|
36
|
+
portfolioAmountInUSD !== undefined) {
|
|
37
|
+
const res = {
|
|
38
|
+
lockedAlphaCoins: lockedPortfolioAmount,
|
|
39
|
+
lockedAlphaCoinsInUSD: lockedPortfolioAmountInUSD,
|
|
40
|
+
unlockedAlphaCoins: unlockedPortfolioAmount,
|
|
41
|
+
unlockedAlphaCoinsInUSD: unlockedPortfolioAmountInUSD,
|
|
42
|
+
totalAlphaCoins: portfolioAmount,
|
|
43
|
+
totalAlphaCoinsInUSD: portfolioAmountInUSD,
|
|
44
|
+
};
|
|
45
|
+
vaultBalance = res;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if (maps_js_1.poolInfo[poolName].parentProtocolName === "CETUS") {
|
|
49
|
+
const portfolioAmount = await (0, getPortfolioAmounts_js_1.getPortfolioAmount)(poolName, {
|
|
50
|
+
suiClient,
|
|
51
|
+
address,
|
|
52
|
+
});
|
|
53
|
+
const portfolioAmountInUSD = await (0, getPortfolioAmounts_js_1.getDoubleAssetPortfolioAmountInUSD)(poolName, { suiClient, address });
|
|
54
|
+
if (portfolioAmount !== undefined && portfolioAmountInUSD !== undefined) {
|
|
55
|
+
const res = {
|
|
56
|
+
coinA: portfolioAmount[0].toString(),
|
|
57
|
+
coinB: portfolioAmount[1].toString(),
|
|
58
|
+
valueInUSD: portfolioAmountInUSD,
|
|
59
|
+
};
|
|
60
|
+
vaultBalance = res;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
else if (maps_js_1.poolInfo[poolName].parentProtocolName === "NAVI") {
|
|
64
|
+
const portfolioAmount = await (0, getPortfolioAmounts_js_1.getSingleAssetPortfolioAmount)(poolName, {
|
|
65
|
+
suiClient,
|
|
66
|
+
address,
|
|
67
|
+
});
|
|
68
|
+
const portfolioAmountInUSD = await (0, getPortfolioAmounts_js_1.getSingleAssetPortfolioAmountInUSD)(poolName, {
|
|
69
|
+
suiClient,
|
|
70
|
+
address,
|
|
71
|
+
});
|
|
72
|
+
if (portfolioAmount !== undefined && portfolioAmountInUSD !== undefined) {
|
|
73
|
+
const res = {
|
|
74
|
+
coin: portfolioAmount.toString(),
|
|
75
|
+
valueInUSD: portfolioAmountInUSD,
|
|
76
|
+
};
|
|
77
|
+
vaultBalance = res;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return vaultBalance;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=fetchUserVaultBalances.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUserVaultBalances.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/fetchUserVaultBalances.ts"],"names":[],"mappings":"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","sourcesContent":["import { poolInfo } from \"../../common/maps.js\";\nimport {\n AlphaFiVaultBalance,\n PoolName,\n SingleAssetPoolNames,\n} from \"../../common/types.js\";\nimport { getSuiClient } from \"../client.js\";\nimport {\n getAlphaPortfolioAmount,\n getAlphaPortfolioAmountInUSD,\n getPortfolioAmount,\n getDoubleAssetPortfolioAmountInUSD,\n getSingleAssetPortfolioAmount,\n getSingleAssetPortfolioAmountInUSD,\n} from \"./getPortfolioAmounts.js\";\n\nexport async function fetchUserVaultBalances(\n address: string,\n poolName: PoolName,\n): Promise<AlphaFiVaultBalance | undefined> {\n const suiClient = getSuiClient();\n\n let vaultBalance;\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n const lockedPortfolioAmount = await getAlphaPortfolioAmount(\"ALPHA\", {\n suiClient,\n address,\n isLocked: true,\n });\n const lockedPortfolioAmountInUSD = await getAlphaPortfolioAmountInUSD(\n \"ALPHA\",\n { suiClient, address, isLocked: true },\n );\n const unlockedPortfolioAmount = await getAlphaPortfolioAmount(\"ALPHA\", {\n suiClient,\n address,\n isLocked: false,\n });\n const unlockedPortfolioAmountInUSD = await getAlphaPortfolioAmountInUSD(\n \"ALPHA\",\n { suiClient, address, isLocked: false },\n );\n const portfolioAmount = await getAlphaPortfolioAmount(\"ALPHA\", {\n suiClient,\n address,\n });\n const portfolioAmountInUSD = await getAlphaPortfolioAmountInUSD(\"ALPHA\", {\n suiClient,\n address,\n });\n if (\n lockedPortfolioAmount !== undefined &&\n lockedPortfolioAmountInUSD !== undefined &&\n unlockedPortfolioAmount !== undefined &&\n unlockedPortfolioAmountInUSD !== undefined &&\n portfolioAmount !== undefined &&\n portfolioAmountInUSD !== undefined\n ) {\n const res: AlphaFiVaultBalance = {\n lockedAlphaCoins: lockedPortfolioAmount,\n lockedAlphaCoinsInUSD: lockedPortfolioAmountInUSD,\n unlockedAlphaCoins: unlockedPortfolioAmount,\n unlockedAlphaCoinsInUSD: unlockedPortfolioAmountInUSD,\n totalAlphaCoins: portfolioAmount,\n totalAlphaCoinsInUSD: portfolioAmountInUSD,\n };\n vaultBalance = res;\n }\n } else if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const portfolioAmount = await getPortfolioAmount(poolName as PoolName, {\n suiClient,\n address,\n });\n const portfolioAmountInUSD = await getDoubleAssetPortfolioAmountInUSD(\n poolName as PoolName,\n { suiClient, address },\n );\n if (portfolioAmount !== undefined && portfolioAmountInUSD !== undefined) {\n const res: AlphaFiVaultBalance = {\n coinA: portfolioAmount[0].toString(),\n coinB: portfolioAmount[1].toString(),\n valueInUSD: portfolioAmountInUSD,\n };\n vaultBalance = res;\n }\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n const portfolioAmount = await getSingleAssetPortfolioAmount(\n poolName as SingleAssetPoolNames,\n {\n suiClient,\n address,\n },\n );\n const portfolioAmountInUSD = await getSingleAssetPortfolioAmountInUSD(\n poolName as SingleAssetPoolNames,\n {\n suiClient,\n address,\n },\n );\n if (portfolioAmount !== undefined && portfolioAmountInUSD !== undefined) {\n const res: AlphaFiVaultBalance = {\n coin: portfolioAmount.toString(),\n valueInUSD: portfolioAmountInUSD,\n };\n vaultBalance = res;\n }\n }\n return vaultBalance;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUserVaults.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/fetchUserVaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIb,MAAM,gBAAgB,CAAC;AASxB,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,EAAE,CAAC,CAwCzB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchUserVaults = fetchUserVaults;
|
|
4
|
+
const maps_js_1 = require("../../common/maps.js");
|
|
5
|
+
const getReceipts_js_1 = require("./getReceipts.js");
|
|
6
|
+
async function fetchUserVaults(address) {
|
|
7
|
+
const vaultsArr = [];
|
|
8
|
+
await Promise.all(Object.keys(maps_js_1.poolInfo).map(async (pool) => {
|
|
9
|
+
const receipt = await (0, getReceipts_js_1.getReceipts)(pool, address);
|
|
10
|
+
if (receipt.length > 0) {
|
|
11
|
+
const name = receipt[0].content.fields.name;
|
|
12
|
+
let res = undefined;
|
|
13
|
+
if (maps_js_1.poolInfo[pool].parentProtocolName === "ALPHAFI" ||
|
|
14
|
+
maps_js_1.poolInfo[pool].parentProtocolName === "NAVI") {
|
|
15
|
+
const coin = maps_js_1.poolCoinMap[pool];
|
|
16
|
+
res = {
|
|
17
|
+
poolId: maps_js_1.poolInfo[pool].poolId,
|
|
18
|
+
poolName: pool,
|
|
19
|
+
receiptName: name,
|
|
20
|
+
receiptType: receipt[0].content.type,
|
|
21
|
+
coinName: coin,
|
|
22
|
+
coinType: maps_js_1.coinNameTypeMap[coin],
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
else if (maps_js_1.poolInfo[pool].parentProtocolName === "CETUS") {
|
|
26
|
+
const coinA = maps_js_1.poolCoinPairMap[pool].coinA;
|
|
27
|
+
const coinB = maps_js_1.poolCoinPairMap[pool].coinB;
|
|
28
|
+
res = {
|
|
29
|
+
poolId: maps_js_1.poolInfo[pool].poolId,
|
|
30
|
+
poolName: pool,
|
|
31
|
+
receiptName: name,
|
|
32
|
+
receiptType: receipt[0].content.type,
|
|
33
|
+
coinNameA: coinA,
|
|
34
|
+
coinTypeA: maps_js_1.coinNameTypeMap[coinA],
|
|
35
|
+
coinNameB: coinB,
|
|
36
|
+
coinTypeB: maps_js_1.coinNameTypeMap[coinB],
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (res)
|
|
40
|
+
vaultsArr.push(res);
|
|
41
|
+
}
|
|
42
|
+
}));
|
|
43
|
+
return vaultsArr;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=fetchUserVaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchUserVaults.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/fetchUserVaults.ts"],"names":[],"mappings":";;AAcA,0CA0CC;AAlDD,kDAK8B;AAC9B,qDAA+C;AAExC,KAAK,UAAU,eAAe,CACnC,OAAe;IAEf,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,IAAI,CAAC,kBAAQ,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,IAAA,4BAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5C,IAAI,GAAG,GAA6B,SAAS,CAAC;YAC9C,IACE,kBAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS;gBAC/C,kBAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,MAAM,EAC5C,CAAC;gBACD,MAAM,IAAI,GAAG,qBAAW,CAAC,IAA4B,CAAC,CAAC;gBACvD,GAAG,GAAG;oBACJ,MAAM,EAAE,kBAAQ,CAAC,IAAI,CAAC,CAAC,MAAM;oBAC7B,QAAQ,EAAE,IAAgB;oBAC1B,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;oBACpC,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,yBAAe,CAAC,IAAI,CAAC;iBAChC,CAAC;YACJ,CAAC;iBAAM,IAAI,kBAAQ,CAAC,IAAI,CAAC,CAAC,kBAAkB,KAAK,OAAO,EAAE,CAAC;gBACzD,MAAM,KAAK,GAAG,yBAAe,CAAC,IAA4B,CAAC,CAAC,KAAK,CAAC;gBAClE,MAAM,KAAK,GAAG,yBAAe,CAAC,IAA4B,CAAC,CAAC,KAAK,CAAC;gBAClE,GAAG,GAAG;oBACJ,MAAM,EAAE,kBAAQ,CAAC,IAAI,CAAC,CAAC,MAAM;oBAC7B,QAAQ,EAAE,IAAgB;oBAC1B,WAAW,EAAE,IAAI;oBACjB,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;oBACpC,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,yBAAe,CAAC,KAAK,CAAC;oBACjC,SAAS,EAAE,KAAK;oBAChB,SAAS,EAAE,yBAAe,CAAC,KAAK,CAAC;iBAClC,CAAC;YACJ,CAAC;YACD,IAAI,GAAG;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import {\n AlphaFiVault,\n DoubleAssetPoolNames,\n PoolName,\n SingleAssetPoolNames,\n} from \"../../index.js\";\nimport {\n coinNameTypeMap,\n poolCoinMap,\n poolCoinPairMap,\n poolInfo,\n} from \"../../common/maps.js\";\nimport { getReceipts } from \"./getReceipts.js\";\n\nexport async function fetchUserVaults(\n address: string,\n): Promise<AlphaFiVault[]> {\n const vaultsArr: AlphaFiVault[] = [];\n await Promise.all(\n Object.keys(poolInfo).map(async (pool) => {\n const receipt = await getReceipts(pool, address);\n if (receipt.length > 0) {\n const name = receipt[0].content.fields.name;\n let res: AlphaFiVault | undefined = undefined;\n if (\n poolInfo[pool].parentProtocolName === \"ALPHAFI\" ||\n poolInfo[pool].parentProtocolName === \"NAVI\"\n ) {\n const coin = poolCoinMap[pool as SingleAssetPoolNames];\n res = {\n poolId: poolInfo[pool].poolId,\n poolName: pool as PoolName,\n receiptName: name,\n receiptType: receipt[0].content.type,\n coinName: coin,\n coinType: coinNameTypeMap[coin],\n };\n } else if (poolInfo[pool].parentProtocolName === \"CETUS\") {\n const coinA = poolCoinPairMap[pool as DoubleAssetPoolNames].coinA;\n const coinB = poolCoinPairMap[pool as DoubleAssetPoolNames].coinB;\n res = {\n poolId: poolInfo[pool].poolId,\n poolName: pool as PoolName,\n receiptName: name,\n receiptType: receipt[0].content.type,\n coinNameA: coinA,\n coinTypeA: coinNameTypeMap[coinA],\n coinNameB: coinB,\n coinTypeB: coinNameTypeMap[coinB],\n };\n }\n if (res) vaultsArr.push(res);\n }\n }),\n );\n return vaultsArr;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPortfolioAmounts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getPortfolioAmounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAEL,QAAQ,EAIR,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAgBxB,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,+BA+CvE;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,+BASvE;AAMD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAwDvC;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiC7B;AAMD,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,GAAE,OAAe,mBA+H7B;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,EACtE,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4B7B"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAlphaPortfolioAmount = getAlphaPortfolioAmount;
|
|
4
|
+
exports.getAlphaPortfolioAmountInUSD = getAlphaPortfolioAmountInUSD;
|
|
5
|
+
exports.getPortfolioAmount = getPortfolioAmount;
|
|
6
|
+
exports.getDoubleAssetPortfolioAmountInUSD = getDoubleAssetPortfolioAmountInUSD;
|
|
7
|
+
exports.getSingleAssetPortfolioAmount = getSingleAssetPortfolioAmount;
|
|
8
|
+
exports.getSingleAssetPortfolioAmountInUSD = getSingleAssetPortfolioAmountInUSD;
|
|
9
|
+
const decimal_js_1 = require("decimal.js");
|
|
10
|
+
const getReceipts_js_1 = require("./getReceipts.js");
|
|
11
|
+
const simpleCache_js_1 = require("../../utils/simpleCache.js");
|
|
12
|
+
const coins_js_1 = require("../../common/coins.js");
|
|
13
|
+
const maps_js_1 = require("../../common/maps.js");
|
|
14
|
+
const prices_js_1 = require("../../utils/prices.js");
|
|
15
|
+
const prices_js_2 = require("../../utils/clmm/prices.js");
|
|
16
|
+
async function getAlphaPortfolioAmount(poolName, options) {
|
|
17
|
+
const receipts = await (0, getReceipts_js_1.getReceipts)(poolName, options.address);
|
|
18
|
+
const pool = await (0, getReceipts_js_1.getPool)(poolName);
|
|
19
|
+
if (!pool) {
|
|
20
|
+
throw new Error("Pool not found");
|
|
21
|
+
}
|
|
22
|
+
const exchangeRate = await (0, getReceipts_js_1.getPoolExchangeRate)(poolName);
|
|
23
|
+
let totalXTokens = new decimal_js_1.Decimal(0);
|
|
24
|
+
if (!exchangeRate) {
|
|
25
|
+
return "0"; // if pool has 0 xtokens
|
|
26
|
+
}
|
|
27
|
+
if (options.isLocked === true) {
|
|
28
|
+
receipts.forEach(async (receipt) => {
|
|
29
|
+
const xTokens = new decimal_js_1.Decimal(receipt.content.fields.xTokenBalance);
|
|
30
|
+
const bal = new decimal_js_1.Decimal(Number(receipt.content.fields.unlocked_xtokens) *
|
|
31
|
+
exchangeRate.toNumber());
|
|
32
|
+
totalXTokens = totalXTokens.add(xTokens.sub(bal));
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
else if (options.isLocked === false) {
|
|
36
|
+
receipts.forEach((receipt) => {
|
|
37
|
+
const bal = new decimal_js_1.Decimal(Number(receipt.content.fields.unlocked_xtokens) *
|
|
38
|
+
exchangeRate.toNumber());
|
|
39
|
+
totalXTokens = totalXTokens.add(bal);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
receipts.forEach((receipt) => {
|
|
44
|
+
const xTokens = receipt.content.fields.xTokenBalance;
|
|
45
|
+
totalXTokens = totalXTokens.add(xTokens);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (totalXTokens.gt(0)) {
|
|
49
|
+
const poolExchangeRate = await (0, getReceipts_js_1.getPoolExchangeRate)(poolName);
|
|
50
|
+
if (poolExchangeRate) {
|
|
51
|
+
const tokens = totalXTokens.div(1e9).mul(poolExchangeRate);
|
|
52
|
+
return `${tokens}`;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return "0";
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async function getAlphaPortfolioAmountInUSD(poolName, options) {
|
|
63
|
+
const tokens = await getAlphaPortfolioAmount(poolName, options);
|
|
64
|
+
const priceOfAlpha = await (0, prices_js_2.getAlphaPrice)();
|
|
65
|
+
if (priceOfAlpha && tokens) {
|
|
66
|
+
let amount = new decimal_js_1.Decimal(tokens);
|
|
67
|
+
amount = amount.mul(priceOfAlpha);
|
|
68
|
+
return amount.toString();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const portfolioAmountCache = new simpleCache_js_1.SimpleCache();
|
|
72
|
+
const portfolioAmountPromiseCache = new simpleCache_js_1.SimpleCache();
|
|
73
|
+
async function getPortfolioAmount(poolName, options, ignoreCache = false) {
|
|
74
|
+
let portfolioAmount = [0, 0];
|
|
75
|
+
const portfolioAmountCacheKey = `getPortfolioAmount:${poolName}-${options.address}}`;
|
|
76
|
+
if (ignoreCache) {
|
|
77
|
+
portfolioAmountCache.delete(portfolioAmountCacheKey);
|
|
78
|
+
portfolioAmountPromiseCache.delete(portfolioAmountCacheKey);
|
|
79
|
+
}
|
|
80
|
+
const cachedResponse = portfolioAmountCache.get(portfolioAmountCacheKey);
|
|
81
|
+
if (cachedResponse) {
|
|
82
|
+
return cachedResponse;
|
|
83
|
+
}
|
|
84
|
+
let cachedPromise = portfolioAmountPromiseCache.get(portfolioAmountCacheKey);
|
|
85
|
+
if (!cachedPromise) {
|
|
86
|
+
cachedPromise = (async () => {
|
|
87
|
+
const receipts = await (0, getReceipts_js_1.getReceipts)(poolName, options.address);
|
|
88
|
+
let totalXTokens = new decimal_js_1.Decimal(0);
|
|
89
|
+
if (receipts) {
|
|
90
|
+
receipts.forEach((receipt) => {
|
|
91
|
+
const xTokens = receipt.content.fields.xTokenBalance;
|
|
92
|
+
totalXTokens = totalXTokens.add(xTokens);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
if (totalXTokens.gt(0)) {
|
|
96
|
+
const poolExchangeRate = await (0, getReceipts_js_1.getPoolExchangeRate)(poolName);
|
|
97
|
+
if (poolExchangeRate) {
|
|
98
|
+
const tokens = totalXTokens.mul(poolExchangeRate);
|
|
99
|
+
const poolTokenAmounts = await (0, getReceipts_js_1.getCoinAmountsFromLiquidity)(poolName, tokens.toNumber());
|
|
100
|
+
portfolioAmount = poolTokenAmounts;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
portfolioAmount = [0, 0];
|
|
108
|
+
}
|
|
109
|
+
portfolioAmountCache.set(portfolioAmountCacheKey, portfolioAmount);
|
|
110
|
+
portfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache
|
|
111
|
+
return portfolioAmount;
|
|
112
|
+
})().catch((error) => {
|
|
113
|
+
portfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache
|
|
114
|
+
throw error;
|
|
115
|
+
});
|
|
116
|
+
portfolioAmountPromiseCache.set(portfolioAmountCacheKey, cachedPromise);
|
|
117
|
+
}
|
|
118
|
+
return cachedPromise;
|
|
119
|
+
}
|
|
120
|
+
async function getDoubleAssetPortfolioAmountInUSD(poolName, options, ignoreCache = false) {
|
|
121
|
+
if (poolName !== undefined) {
|
|
122
|
+
const amounts = await getPortfolioAmount(poolName, options, ignoreCache);
|
|
123
|
+
if (amounts !== undefined) {
|
|
124
|
+
const ten = new decimal_js_1.Decimal(10);
|
|
125
|
+
const pool1 = maps_js_1.poolCoinPairMap[poolName]
|
|
126
|
+
.coinA;
|
|
127
|
+
const pool2 = maps_js_1.poolCoinPairMap[poolName]
|
|
128
|
+
.coinB;
|
|
129
|
+
const amount0 = new decimal_js_1.Decimal(amounts[0]).div(ten.pow(coins_js_1.coins[pool1].expo));
|
|
130
|
+
const amount1 = new decimal_js_1.Decimal(amounts[1]).div(ten.pow(coins_js_1.coins[pool2].expo));
|
|
131
|
+
const tokens = poolName.split("-");
|
|
132
|
+
const priceOfCoin0 = await (0, prices_js_1.getLatestPrice)(`${tokens[0]}/USD`);
|
|
133
|
+
const priceOfCoin1 = await (0, prices_js_1.getLatestPrice)(`${tokens[1]}/USD`);
|
|
134
|
+
if (priceOfCoin0 && priceOfCoin1) {
|
|
135
|
+
const amount = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));
|
|
136
|
+
return amount.toString();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.error(`getPortfolioAmountInUSD is not implemented for poolName: ${poolName}`);
|
|
141
|
+
}
|
|
142
|
+
return "0";
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
const singleAssetPortfolioAmountCache = new simpleCache_js_1.SimpleCache();
|
|
146
|
+
const singleAssetPortfolioAmountPromiseCache = new simpleCache_js_1.SimpleCache();
|
|
147
|
+
async function getSingleAssetPortfolioAmount(poolName, options, ignoreCache = false) {
|
|
148
|
+
let portfolioAmount = 0;
|
|
149
|
+
const portfolioAmountCacheKey = `getPortfolioAmount:${poolName}-${options.address}}`;
|
|
150
|
+
if (ignoreCache) {
|
|
151
|
+
singleAssetPortfolioAmountCache.delete(portfolioAmountCacheKey);
|
|
152
|
+
singleAssetPortfolioAmountPromiseCache.delete(portfolioAmountCacheKey);
|
|
153
|
+
}
|
|
154
|
+
const cachedResponse = singleAssetPortfolioAmountCache.get(portfolioAmountCacheKey);
|
|
155
|
+
if (cachedResponse) {
|
|
156
|
+
return cachedResponse;
|
|
157
|
+
}
|
|
158
|
+
let cachedPromise = singleAssetPortfolioAmountPromiseCache.get(portfolioAmountCacheKey);
|
|
159
|
+
if (!cachedPromise) {
|
|
160
|
+
cachedPromise = (async () => {
|
|
161
|
+
const receipts = await (0, getReceipts_js_1.getReceipts)(poolName, options.address, ignoreCache);
|
|
162
|
+
let totalXTokens = new decimal_js_1.Decimal(0);
|
|
163
|
+
if (receipts) {
|
|
164
|
+
receipts.forEach((receipt) => {
|
|
165
|
+
const xTokens = receipt.content.fields.xTokenBalance;
|
|
166
|
+
totalXTokens = totalXTokens.add(xTokens);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
if (totalXTokens.gt(0)) {
|
|
170
|
+
if (poolName == "NAVI-LOOP-SUI-VSUI" ||
|
|
171
|
+
poolName == "NAVI-LOOP-USDT-USDC") {
|
|
172
|
+
const pool = await (0, getReceipts_js_1.getPool)(poolName, ignoreCache);
|
|
173
|
+
const investor = (await (0, getReceipts_js_1.getNaviInvestor)(poolName, ignoreCache));
|
|
174
|
+
if (pool && investor) {
|
|
175
|
+
const liquidity = new decimal_js_1.Decimal(investor.content.fields.tokensDeposited);
|
|
176
|
+
const debtToSupplyRatio = new decimal_js_1.Decimal(investor.content.fields.current_debt_to_supply_ratio);
|
|
177
|
+
const tokensInvested = liquidity.mul(new decimal_js_1.Decimal(1).minus(new decimal_js_1.Decimal(debtToSupplyRatio).div(1e20)));
|
|
178
|
+
const xTokenSupplyInPool = new decimal_js_1.Decimal(pool.content.fields.xTokenSupply);
|
|
179
|
+
const userTokens = totalXTokens
|
|
180
|
+
.mul(tokensInvested)
|
|
181
|
+
.div(xTokenSupplyInPool);
|
|
182
|
+
const tokens = userTokens.div(Math.pow(10, 9 - coins_js_1.coins[maps_js_1.poolCoinMap[poolName]].expo));
|
|
183
|
+
if (poolName == "NAVI-LOOP-SUI-VSUI") {
|
|
184
|
+
// const { SevenKGateway } = await import("../");
|
|
185
|
+
// const sevenKInstance = new SevenKGateway();
|
|
186
|
+
// const numberOfTokensInSui = (await sevenKInstance.getQuote({
|
|
187
|
+
// slippage: 1,
|
|
188
|
+
// senderAddress: options.address,
|
|
189
|
+
// pair: { coinA: coins["VSUI"], coinB: coins["SUI"] },
|
|
190
|
+
// inAmount: new BN(tokens.toNumber()),
|
|
191
|
+
// })) as QuoteResponse;
|
|
192
|
+
const voloExchRate = await (0, getReceipts_js_1.fetchVoloExchangeRate)();
|
|
193
|
+
portfolioAmount = Number(tokens.mul(parseFloat(voloExchRate.data.exchangeRate)));
|
|
194
|
+
}
|
|
195
|
+
// TODO: Whenever NAVI-LOOP-USDT-USDC is released, change this else implementation
|
|
196
|
+
else {
|
|
197
|
+
portfolioAmount = Number(tokens);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
console.error(`Could not get object for poolName: ${poolName}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
const poolExchangeRate = await (0, getReceipts_js_1.getPoolExchangeRate)(poolName, ignoreCache);
|
|
206
|
+
if (poolExchangeRate) {
|
|
207
|
+
let tokens = totalXTokens.mul(poolExchangeRate);
|
|
208
|
+
tokens = tokens.div(Math.pow(10, 9 -
|
|
209
|
+
coins_js_1.coins[maps_js_1.poolCoinMap[poolName]].expo));
|
|
210
|
+
portfolioAmount = tokens.toNumber();
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
portfolioAmount = 0;
|
|
219
|
+
}
|
|
220
|
+
singleAssetPortfolioAmountCache.set(portfolioAmountCacheKey, portfolioAmount);
|
|
221
|
+
singleAssetPortfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache
|
|
222
|
+
return portfolioAmount;
|
|
223
|
+
})().catch((error) => {
|
|
224
|
+
singleAssetPortfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache
|
|
225
|
+
throw error;
|
|
226
|
+
});
|
|
227
|
+
singleAssetPortfolioAmountPromiseCache.set(portfolioAmountCacheKey, cachedPromise);
|
|
228
|
+
}
|
|
229
|
+
return cachedPromise;
|
|
230
|
+
}
|
|
231
|
+
async function getSingleAssetPortfolioAmountInUSD(poolName, options, ignoreCache = false) {
|
|
232
|
+
const amounts = await getSingleAssetPortfolioAmount(poolName, options, ignoreCache);
|
|
233
|
+
if (amounts !== undefined) {
|
|
234
|
+
const amount = new decimal_js_1.Decimal(amounts).div(new decimal_js_1.Decimal(Math.pow(10, coins_js_1.coins[maps_js_1.poolCoinMap[poolName]].expo)));
|
|
235
|
+
const priceOfCoin = await (0, prices_js_1.getLatestPrice)(`${maps_js_1.poolCoinMap[poolName]}/USD`);
|
|
236
|
+
if (priceOfCoin) {
|
|
237
|
+
const amountInUSD = amount.mul(priceOfCoin);
|
|
238
|
+
return amountInUSD.toString();
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
console.error(`getPortfolioAmountInUSD is not implemented for poolName: ${poolName}`);
|
|
243
|
+
}
|
|
244
|
+
return "0";
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=getPortfolioAmounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPortfolioAmounts.js","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getPortfolioAmounts.ts"],"names":[],"mappings":"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","sourcesContent":["import { SuiClient } from \"@mysten/sui/client\";\nimport { Decimal } from \"decimal.js\";\nimport {\n CoinName,\n PoolName,\n DoubleAssetPoolNames,\n NaviInvestor,\n CommonInvestorFields,\n SingleAssetPoolNames,\n} from \"../../index.js\";\nimport {\n getCoinAmountsFromLiquidity,\n getPool,\n getPoolExchangeRate,\n getReceipts,\n getNaviInvestor,\n fetchVoloExchangeRate,\n} from \"./getReceipts.js\";\nimport { SimpleCache } from \"../../utils/simpleCache.js\";\nimport { coins } from \"../../common/coins.js\";\nimport { poolCoinMap, poolCoinPairMap } from \"../../common/maps.js\";\nimport { PythPriceIdPair } from \"../../common/pyth.js\";\nimport { getLatestPrice } from \"../../utils/prices.js\";\nimport { getAlphaPrice } from \"../../utils/clmm/prices.js\";\n\nexport async function getAlphaPortfolioAmount(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n) {\n const receipts = await getReceipts(poolName, options.address);\n const pool = await getPool(poolName);\n if (!pool) {\n throw new Error(\"Pool not found\");\n }\n\n const exchangeRate = await getPoolExchangeRate(poolName);\n let totalXTokens = new Decimal(0);\n if (!exchangeRate) {\n return \"0\"; // if pool has 0 xtokens\n }\n if (options.isLocked === true) {\n receipts.forEach(async (receipt) => {\n const xTokens = new Decimal(receipt.content.fields.xTokenBalance);\n const bal = new Decimal(\n Number(receipt.content.fields.unlocked_xtokens) *\n exchangeRate.toNumber(),\n );\n totalXTokens = totalXTokens.add(xTokens.sub(bal));\n });\n } else if (options.isLocked === false) {\n receipts.forEach((receipt) => {\n const bal = new Decimal(\n Number(receipt.content.fields.unlocked_xtokens) *\n exchangeRate.toNumber(),\n );\n totalXTokens = totalXTokens.add(bal);\n });\n } else {\n receipts.forEach((receipt) => {\n const xTokens = receipt.content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n });\n }\n if (totalXTokens.gt(0)) {\n const poolExchangeRate = await getPoolExchangeRate(poolName);\n if (poolExchangeRate) {\n const tokens = totalXTokens.div(1e9).mul(poolExchangeRate);\n return `${tokens}`;\n } else {\n console.error(`Could not get poolExchangeRate for poolName: ${poolName}`);\n }\n } else {\n return \"0\";\n }\n}\n\nexport async function getAlphaPortfolioAmountInUSD(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n) {\n const tokens = await getAlphaPortfolioAmount(poolName, options);\n const priceOfAlpha = await getAlphaPrice();\n if (priceOfAlpha && tokens) {\n let amount = new Decimal(tokens);\n amount = amount.mul(priceOfAlpha);\n return amount.toString();\n }\n}\n\nconst portfolioAmountCache = new SimpleCache<[number, number]>();\nconst portfolioAmountPromiseCache = new SimpleCache<\n Promise<[number, number]>\n>();\nexport async function getPortfolioAmount(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean = false,\n): Promise<[number, number] | undefined> {\n let portfolioAmount: [number, number] = [0, 0];\n const portfolioAmountCacheKey = `getPortfolioAmount:${poolName}-${options.address}}`;\n if (ignoreCache) {\n portfolioAmountCache.delete(portfolioAmountCacheKey);\n portfolioAmountPromiseCache.delete(portfolioAmountCacheKey);\n }\n const cachedResponse = portfolioAmountCache.get(portfolioAmountCacheKey);\n\n if (cachedResponse) {\n return cachedResponse;\n }\n\n let cachedPromise = portfolioAmountPromiseCache.get(portfolioAmountCacheKey);\n\n if (!cachedPromise) {\n cachedPromise = (async () => {\n const receipts = await getReceipts(poolName, options.address);\n let totalXTokens = new Decimal(0);\n if (receipts) {\n receipts.forEach((receipt) => {\n const xTokens = receipt.content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n });\n }\n\n if (totalXTokens.gt(0)) {\n const poolExchangeRate = await getPoolExchangeRate(poolName);\n if (poolExchangeRate) {\n const tokens = totalXTokens.mul(poolExchangeRate);\n const poolTokenAmounts = await getCoinAmountsFromLiquidity(\n poolName,\n tokens.toNumber(),\n );\n portfolioAmount = poolTokenAmounts;\n } else {\n console.error(\n `Could not get poolExchangeRate for poolName: ${poolName}`,\n );\n }\n } else {\n portfolioAmount = [0, 0];\n }\n\n portfolioAmountCache.set(portfolioAmountCacheKey, portfolioAmount);\n portfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache\n return portfolioAmount;\n })().catch((error) => {\n portfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache\n throw error;\n });\n\n portfolioAmountPromiseCache.set(portfolioAmountCacheKey, cachedPromise);\n }\n\n return cachedPromise;\n}\n\nexport async function getDoubleAssetPortfolioAmountInUSD(\n poolName: PoolName,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean = false,\n): Promise<string | undefined> {\n if ((poolName as DoubleAssetPoolNames) !== undefined) {\n const amounts = await getPortfolioAmount(poolName, options, ignoreCache);\n if (amounts !== undefined) {\n const ten = new Decimal(10);\n const pool1 = poolCoinPairMap[poolName as DoubleAssetPoolNames]\n .coinA as CoinName;\n const pool2 = poolCoinPairMap[poolName as DoubleAssetPoolNames]\n .coinB as CoinName;\n const amount0 = new Decimal(amounts[0]).div(\n ten.pow(coins[pool1 as CoinName].expo),\n );\n const amount1 = new Decimal(amounts[1]).div(\n ten.pow(coins[pool2 as CoinName].expo),\n );\n const tokens = poolName.split(\"-\");\n const priceOfCoin0 = await getLatestPrice(\n `${tokens[0]}/USD` as PythPriceIdPair,\n );\n const priceOfCoin1 = await getLatestPrice(\n `${tokens[1]}/USD` as PythPriceIdPair,\n );\n if (priceOfCoin0 && priceOfCoin1) {\n const amount = amount0.mul(priceOfCoin0).add(amount1.mul(priceOfCoin1));\n return amount.toString();\n }\n } else {\n console.error(\n `getPortfolioAmountInUSD is not implemented for poolName: ${poolName}`,\n );\n }\n return \"0\";\n }\n}\n\nconst singleAssetPortfolioAmountCache = new SimpleCache<number>();\nconst singleAssetPortfolioAmountPromiseCache = new SimpleCache<\n Promise<number>\n>();\nexport async function getSingleAssetPortfolioAmount(\n poolName: SingleAssetPoolNames,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean = false,\n) {\n let portfolioAmount: number = 0;\n const portfolioAmountCacheKey = `getPortfolioAmount:${poolName}-${options.address}}`;\n if (ignoreCache) {\n singleAssetPortfolioAmountCache.delete(portfolioAmountCacheKey);\n singleAssetPortfolioAmountPromiseCache.delete(portfolioAmountCacheKey);\n }\n const cachedResponse = singleAssetPortfolioAmountCache.get(\n portfolioAmountCacheKey,\n );\n\n if (cachedResponse) {\n return cachedResponse;\n }\n\n let cachedPromise = singleAssetPortfolioAmountPromiseCache.get(\n portfolioAmountCacheKey,\n );\n\n if (!cachedPromise) {\n cachedPromise = (async () => {\n const receipts = await getReceipts(\n poolName,\n options.address,\n ignoreCache,\n );\n let totalXTokens = new Decimal(0);\n if (receipts) {\n receipts.forEach((receipt) => {\n const xTokens = receipt.content.fields.xTokenBalance;\n totalXTokens = totalXTokens.add(xTokens);\n });\n }\n if (totalXTokens.gt(0)) {\n if (\n poolName == \"NAVI-LOOP-SUI-VSUI\" ||\n poolName == \"NAVI-LOOP-USDT-USDC\"\n ) {\n const pool = await getPool(poolName, ignoreCache);\n const investor = (await getNaviInvestor(\n poolName,\n ignoreCache,\n )) as NaviInvestor & CommonInvestorFields;\n if (pool && investor) {\n const liquidity = new Decimal(\n investor.content.fields.tokensDeposited,\n );\n const debtToSupplyRatio = new Decimal(\n investor.content.fields.current_debt_to_supply_ratio,\n );\n const tokensInvested = liquidity.mul(\n new Decimal(1).minus(new Decimal(debtToSupplyRatio).div(1e20)),\n );\n const xTokenSupplyInPool = new Decimal(\n pool.content.fields.xTokenSupply,\n );\n const userTokens = totalXTokens\n .mul(tokensInvested)\n .div(xTokenSupplyInPool);\n const tokens = userTokens.div(\n Math.pow(10, 9 - coins[poolCoinMap[poolName]].expo),\n );\n if (poolName == \"NAVI-LOOP-SUI-VSUI\") {\n // const { SevenKGateway } = await import(\"../\");\n // const sevenKInstance = new SevenKGateway();\n // const numberOfTokensInSui = (await sevenKInstance.getQuote({\n // slippage: 1,\n // senderAddress: options.address,\n // pair: { coinA: coins[\"VSUI\"], coinB: coins[\"SUI\"] },\n // inAmount: new BN(tokens.toNumber()),\n // })) as QuoteResponse;\n const voloExchRate = await fetchVoloExchangeRate();\n portfolioAmount = Number(\n tokens.mul(parseFloat(voloExchRate.data.exchangeRate)),\n );\n }\n // TODO: Whenever NAVI-LOOP-USDT-USDC is released, change this else implementation\n else {\n portfolioAmount = Number(tokens);\n }\n } else {\n console.error(`Could not get object for poolName: ${poolName}`);\n }\n } else {\n const poolExchangeRate = await getPoolExchangeRate(\n poolName,\n ignoreCache,\n );\n if (poolExchangeRate) {\n let tokens = totalXTokens.mul(poolExchangeRate);\n tokens = tokens.div(\n Math.pow(\n 10,\n 9 -\n coins[poolCoinMap[poolName as keyof typeof poolCoinMap]].expo,\n ),\n );\n portfolioAmount = tokens.toNumber();\n } else {\n console.error(\n `Could not get poolExchangeRate for poolName: ${poolName}`,\n );\n }\n }\n } else {\n portfolioAmount = 0;\n }\n\n singleAssetPortfolioAmountCache.set(\n portfolioAmountCacheKey,\n portfolioAmount,\n );\n singleAssetPortfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache\n return portfolioAmount;\n })().catch((error) => {\n singleAssetPortfolioAmountPromiseCache.delete(portfolioAmountCacheKey); // Remove the promise from cache\n throw error;\n });\n\n singleAssetPortfolioAmountPromiseCache.set(\n portfolioAmountCacheKey,\n cachedPromise,\n );\n }\n\n return cachedPromise;\n}\n\nexport async function getSingleAssetPortfolioAmountInUSD(\n poolName: SingleAssetPoolNames,\n options: { suiClient: SuiClient; address: string; isLocked?: boolean },\n ignoreCache: boolean = false,\n): Promise<string | undefined> {\n const amounts = await getSingleAssetPortfolioAmount(\n poolName,\n options,\n ignoreCache,\n );\n if (amounts !== undefined) {\n const amount = new Decimal(amounts).div(\n new Decimal(\n Math.pow(\n 10,\n coins[poolCoinMap[poolName as keyof typeof poolCoinMap]].expo,\n ),\n ),\n );\n const priceOfCoin = await getLatestPrice(\n `${poolCoinMap[poolName as keyof typeof poolCoinMap]}/USD` as PythPriceIdPair,\n );\n if (priceOfCoin) {\n const amountInUSD = amount.mul(priceOfCoin);\n return amountInUSD.toString();\n }\n } else {\n console.error(\n `getPortfolioAmountInUSD is not implemented for poolName: ${poolName}`,\n );\n }\n return \"0\";\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../../src/sui-sdk/functions/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,aAAa,EAEb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,oBAAoB,EACpB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,CAoEpB;AAID,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAiD9B;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6B3B;AAOD,wBAAsB,OAAO,CAC3B,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAC,CAkD/C;AAOD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA+CpC;AAOD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA8CpC;AASD,wBAAsB,eAAe,CACnC,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,CAAC,YAAY,GAAG,oBAAoB,CAAC,GAAG,SAAS,CAAC,CA8C5D;AAOD,wBAAsB,qBAAqB,CACzC,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,YAAY,CAAC,CAoCvB"}
|