@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,101 @@
|
|
|
1
|
+
// TODO: add more pairs
|
|
2
|
+
export const pythPriceFeed = {
|
|
3
|
+
"SUI/USD": {
|
|
4
|
+
symbol: "Crypto.SUI/USD",
|
|
5
|
+
priceId: "0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744",
|
|
6
|
+
name: "SUI",
|
|
7
|
+
},
|
|
8
|
+
"VSUI/USD": {
|
|
9
|
+
symbol: "Crypto.VSUI/USD",
|
|
10
|
+
priceId: "0x57ff7100a282e4af0c91154679c5dae2e5dcacb93fd467ea9cb7e58afdcfde27",
|
|
11
|
+
name: "VSUI",
|
|
12
|
+
},
|
|
13
|
+
"AFSUI/USD": {
|
|
14
|
+
symbol: "Crypto.AFSUI/USD",
|
|
15
|
+
priceId: "0x17cd845b16e874485b2684f8b8d1517d744105dbb904eec30222717f4bc9ee0d",
|
|
16
|
+
name: "AFSUI",
|
|
17
|
+
},
|
|
18
|
+
"HASUI/USD": {
|
|
19
|
+
symbol: "Crypto.HASUI/USD",
|
|
20
|
+
priceId: "0x6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8",
|
|
21
|
+
name: "HASUI",
|
|
22
|
+
},
|
|
23
|
+
"USDC/USD": {
|
|
24
|
+
symbol: "Crypto.USDC/USD",
|
|
25
|
+
priceId: "0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a",
|
|
26
|
+
name: "USDC",
|
|
27
|
+
},
|
|
28
|
+
"USDT/USD": {
|
|
29
|
+
symbol: "Crypto.USDT/USD",
|
|
30
|
+
priceId: "0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
|
|
31
|
+
name: "USDT",
|
|
32
|
+
},
|
|
33
|
+
"NAVX/USD": {
|
|
34
|
+
symbol: "Crypto.NAVX/USD",
|
|
35
|
+
priceId: "0x88250f854c019ef4f88a5c073d52a18bb1c6ac437033f5932cd017d24917ab46",
|
|
36
|
+
name: "NAVX",
|
|
37
|
+
},
|
|
38
|
+
"CETUS/USD": {
|
|
39
|
+
symbol: "Crypto.CETUS/USD",
|
|
40
|
+
priceId: "0xe5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef",
|
|
41
|
+
name: "CETUS",
|
|
42
|
+
},
|
|
43
|
+
"TURBOS/USD": {
|
|
44
|
+
symbol: "Crypto.TURBOS/USD",
|
|
45
|
+
priceId: "0xf9c2e890443dd995d0baafc08eea3358be1ffb874f93f99c30b3816c460bbac3",
|
|
46
|
+
name: "TURBOS",
|
|
47
|
+
},
|
|
48
|
+
"SCA/USD": {
|
|
49
|
+
name: "SCA",
|
|
50
|
+
priceId: "0x7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc",
|
|
51
|
+
symbol: "Crypto.SCA/USD",
|
|
52
|
+
},
|
|
53
|
+
"WETH/USD": {
|
|
54
|
+
name: "WETH",
|
|
55
|
+
priceId: "0x9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6",
|
|
56
|
+
symbol: "Crypto.WETH/USD",
|
|
57
|
+
},
|
|
58
|
+
"APT/USD": {
|
|
59
|
+
name: "APT",
|
|
60
|
+
priceId: "0x03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5",
|
|
61
|
+
symbol: "Crypto.APT/USD",
|
|
62
|
+
},
|
|
63
|
+
"SOL/USD": {
|
|
64
|
+
name: "SOL",
|
|
65
|
+
priceId: "0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d",
|
|
66
|
+
symbol: "Crypto.SOL/USD",
|
|
67
|
+
},
|
|
68
|
+
"SLP/USD": {
|
|
69
|
+
name: "SLP",
|
|
70
|
+
priceId: "0xfba17701be318087db58d9797d5f1e89dcf5b95773ae2227c8a8eb4cf1d4e554",
|
|
71
|
+
symbol: "Crypto.SLP/USD",
|
|
72
|
+
},
|
|
73
|
+
"WBTC/USD": {
|
|
74
|
+
name: "WBTC",
|
|
75
|
+
priceId: "0xc9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33",
|
|
76
|
+
symbol: "Crypto.WBTC/USD",
|
|
77
|
+
},
|
|
78
|
+
"CELO/USD": {
|
|
79
|
+
name: "CELO",
|
|
80
|
+
priceId: "0x7d669ddcdd23d9ef1fa9a9cc022ba055ec900e91c4cb960f3c20429d4447a411",
|
|
81
|
+
symbol: "Crypto.CELO/USD",
|
|
82
|
+
},
|
|
83
|
+
//TODO --> to change priceId when its listed
|
|
84
|
+
"ALPHA/USD": {
|
|
85
|
+
symbol: "Crypto.ALPHA/USD",
|
|
86
|
+
priceId: "0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b",
|
|
87
|
+
name: "ALPHA",
|
|
88
|
+
},
|
|
89
|
+
//TODO --> to change priceId when its listed
|
|
90
|
+
"USDY/USD": {
|
|
91
|
+
symbol: "Crypto.USDY/USD",
|
|
92
|
+
priceId: "0xe393449f6aff8a4b6d3e1165a7c9ebec103685f3b41e60db4277b5b6d10e7326",
|
|
93
|
+
name: "USDY",
|
|
94
|
+
},
|
|
95
|
+
"BUCK/USD": {
|
|
96
|
+
symbol: "Crypto.BUCK/USD",
|
|
97
|
+
priceId: "0xfdf28a46570252b25fd31cb257973f865afc5ca2f320439e45d95e0394bc7382",
|
|
98
|
+
name: "BUCK",
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAEA,uBAAuB;AACvB,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,SAAS,EAAE;QACT,MAAM,EAAE,gBAAgB;QACxB,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,KAAK;KACZ;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB;QACzB,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,OAAO;KACd;IACD,WAAW,EAAE;QACX,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,OAAO;KACd;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB;QACzB,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,MAAM;KACb;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB;QACzB,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,MAAM;KACb;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB;QACzB,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,MAAM;KACb;IACD,WAAW,EAAE;QACX,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,OAAO;KACd;IACD,YAAY,EAAE;QACZ,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,QAAQ;KACf;IACD,SAAS,EAAE;QACT,IAAI,EAAE,KAAK;QACX,OAAO,EACL,oEAAoE;QACtE,MAAM,EAAE,gBAAgB;KACzB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,oEAAoE;QACtE,MAAM,EAAE,iBAAiB;KAC1B;IACD,SAAS,EAAE;QACT,IAAI,EAAE,KAAK;QACX,OAAO,EACL,oEAAoE;QACtE,MAAM,EAAE,gBAAgB;KACzB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,KAAK;QACX,OAAO,EACL,oEAAoE;QACtE,MAAM,EAAE,gBAAgB;KACzB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,KAAK;QACX,OAAO,EACL,oEAAoE;QACtE,MAAM,EAAE,gBAAgB;KACzB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,oEAAoE;QACtE,MAAM,EAAE,iBAAiB;KAC1B;IACD,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EACL,oEAAoE;QACtE,MAAM,EAAE,iBAAiB;KAC1B;IACD,4CAA4C;IAC5C,WAAW,EAAE;QACX,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,OAAO;KACd;IACD,4CAA4C;IAC5C,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB;QACzB,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,MAAM;KACb;IACD,UAAU,EAAE;QACV,MAAM,EAAE,iBAAiB;QACzB,OAAO,EACL,oEAAoE;QACtE,IAAI,EAAE,MAAM;KACb;CACF,CAAC","sourcesContent":["import { PythPriceFeed } from \"../common/pyth.js\";\n\n// TODO: add more pairs\nexport const pythPriceFeed: PythPriceFeed = {\n \"SUI/USD\": {\n symbol: \"Crypto.SUI/USD\",\n priceId:\n \"0x23d7315113f5b1d3ba7a83604c44b94d79f4fd69af77f804fc7f920a6dc65744\",\n name: \"SUI\",\n },\n \"VSUI/USD\": {\n symbol: \"Crypto.VSUI/USD\",\n priceId:\n \"0x57ff7100a282e4af0c91154679c5dae2e5dcacb93fd467ea9cb7e58afdcfde27\",\n name: \"VSUI\",\n },\n \"AFSUI/USD\": {\n symbol: \"Crypto.AFSUI/USD\",\n priceId:\n \"0x17cd845b16e874485b2684f8b8d1517d744105dbb904eec30222717f4bc9ee0d\",\n name: \"AFSUI\",\n },\n \"HASUI/USD\": {\n symbol: \"Crypto.HASUI/USD\",\n priceId:\n \"0x6120ffcf96395c70aa77e72dcb900bf9d40dccab228efca59a17b90ce423d5e8\",\n name: \"HASUI\",\n },\n \"USDC/USD\": {\n symbol: \"Crypto.USDC/USD\",\n priceId:\n \"0xeaa020c61cc479712813461ce153894a96a6c00b21ed0cfc2798d1f9a9e9c94a\",\n name: \"USDC\",\n },\n \"USDT/USD\": {\n symbol: \"Crypto.USDT/USD\",\n priceId:\n \"0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b\",\n name: \"USDT\",\n },\n \"NAVX/USD\": {\n symbol: \"Crypto.NAVX/USD\",\n priceId:\n \"0x88250f854c019ef4f88a5c073d52a18bb1c6ac437033f5932cd017d24917ab46\",\n name: \"NAVX\",\n },\n \"CETUS/USD\": {\n symbol: \"Crypto.CETUS/USD\",\n priceId:\n \"0xe5b274b2611143df055d6e7cd8d93fe1961716bcd4dca1cad87a83bc1e78c1ef\",\n name: \"CETUS\",\n },\n \"TURBOS/USD\": {\n symbol: \"Crypto.TURBOS/USD\",\n priceId:\n \"0xf9c2e890443dd995d0baafc08eea3358be1ffb874f93f99c30b3816c460bbac3\",\n name: \"TURBOS\",\n },\n \"SCA/USD\": {\n name: \"SCA\",\n priceId:\n \"0x7e17f0ac105abe9214deb9944c30264f5986bf292869c6bd8e8da3ccd92d79bc\",\n symbol: \"Crypto.SCA/USD\",\n },\n \"WETH/USD\": {\n name: \"WETH\",\n priceId:\n \"0x9d4294bbcd1174d6f2003ec365831e64cc31d9f6f15a2b85399db8d5000960f6\",\n symbol: \"Crypto.WETH/USD\",\n },\n \"APT/USD\": {\n name: \"APT\",\n priceId:\n \"0x03ae4db29ed4ae33d323568895aa00337e658e348b37509f5372ae51f0af00d5\",\n symbol: \"Crypto.APT/USD\",\n },\n \"SOL/USD\": {\n name: \"SOL\",\n priceId:\n \"0xef0d8b6fda2ceba41da15d4095d1da392a0d2f8ed0c6c7bc0f4cfac8c280b56d\",\n symbol: \"Crypto.SOL/USD\",\n },\n \"SLP/USD\": {\n name: \"SLP\",\n priceId:\n \"0xfba17701be318087db58d9797d5f1e89dcf5b95773ae2227c8a8eb4cf1d4e554\",\n symbol: \"Crypto.SLP/USD\",\n },\n \"WBTC/USD\": {\n name: \"WBTC\",\n priceId:\n \"0xc9d8b075a5c69303365ae23633d4e085199bf5c520a3b90fed1322a0342ffc33\",\n symbol: \"Crypto.WBTC/USD\",\n },\n \"CELO/USD\": {\n name: \"CELO\",\n priceId:\n \"0x7d669ddcdd23d9ef1fa9a9cc022ba055ec900e91c4cb960f3c20429d4447a411\",\n symbol: \"Crypto.CELO/USD\",\n },\n //TODO --> to change priceId when its listed\n \"ALPHA/USD\": {\n symbol: \"Crypto.ALPHA/USD\",\n priceId:\n \"0x2b89b9dc8fdf9f34709a5b106b472f0f39bb6ca9ce04b0fd7f2e971688e2e53b\",\n name: \"ALPHA\",\n },\n //TODO --> to change priceId when its listed\n \"USDY/USD\": {\n symbol: \"Crypto.USDY/USD\",\n priceId:\n \"0xe393449f6aff8a4b6d3e1165a7c9ebec103685f3b41e60db4277b5b6d10e7326\",\n name: \"USDY\",\n },\n \"BUCK/USD\": {\n symbol: \"Crypto.BUCK/USD\",\n priceId:\n \"0xfdf28a46570252b25fd31cb257973f865afc5ca2f320439e45d95e0394bc7382\",\n name: \"BUCK\",\n },\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHoldersFromTransactionsUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/getHoldersFromTransactionsUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAGL,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAiBrB,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAuBrC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,oBAAoB,GAC3B,MAAM,GAAG,SAAS,CAcpB;AA+FD,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GACrC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAkB5B"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { poolIdPoolNameMap, poolCoinPairMap, getPoolExchangeRateMap, poolCoinMap, } from "../common/maps.js";
|
|
2
|
+
import { Decimal } from "decimal.js";
|
|
3
|
+
import { BN } from "bn.js";
|
|
4
|
+
import { ClmmPoolUtil, TickMath, } from "@cetusprotocol/cetus-sui-clmm-sdk";
|
|
5
|
+
import { coins } from "../common/coins.js";
|
|
6
|
+
export async function parseTokensFromReceipts(receipts) {
|
|
7
|
+
let userTokens = [];
|
|
8
|
+
for (const receipt of receipts) {
|
|
9
|
+
const nftData = receipt.data?.content;
|
|
10
|
+
if (nftData?.dataType === "moveObject") {
|
|
11
|
+
const fields = nftData.fields;
|
|
12
|
+
const owner = fields.owner;
|
|
13
|
+
const pool = poolIdPoolNameMap[fields.pool_id];
|
|
14
|
+
const xTokens = fields.xTokenBalance;
|
|
15
|
+
userTokens.push([owner, pool, xTokens]);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const conversionMap = await getPoolExchangeRateMap();
|
|
19
|
+
userTokens = userTokens.map(([owner, pool, xTokens]) => {
|
|
20
|
+
const conversion = new Decimal(conversionMap.get(pool));
|
|
21
|
+
const tokens = new Decimal(xTokens).mul(conversion).toFixed(4).toString();
|
|
22
|
+
return [owner, pool, tokens];
|
|
23
|
+
});
|
|
24
|
+
return userTokens;
|
|
25
|
+
}
|
|
26
|
+
export function liquidityToUsd(params) {
|
|
27
|
+
let holdingUSD;
|
|
28
|
+
if (params.poolName.slice(0, 4) === "NAVI") {
|
|
29
|
+
holdingUSD = singleAssetLiquidityToUSD(params.liquidity, params.poolName, params.tokenPriceMap);
|
|
30
|
+
}
|
|
31
|
+
else if (params.poolName === "ALPHA") {
|
|
32
|
+
holdingUSD = alphaLiquidityToUSD(params.liquidity, params.tokenPriceMap);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
holdingUSD = doubleAssetliquidityToUSD(params);
|
|
36
|
+
}
|
|
37
|
+
return holdingUSD;
|
|
38
|
+
}
|
|
39
|
+
function doubleAssetliquidityToUSD(params) {
|
|
40
|
+
const pool = params.poolName;
|
|
41
|
+
const liquidity = params.liquidity;
|
|
42
|
+
const ticksCetusMap = params.ticksCetusMap;
|
|
43
|
+
const sqrtPriceCetusMap = params.sqrtPriceCetusMap;
|
|
44
|
+
const tokenPriceMap = params.tokenPriceMap;
|
|
45
|
+
try {
|
|
46
|
+
const upper_bound = 443636;
|
|
47
|
+
let lower_tick = Number(ticksCetusMap[pool].lower);
|
|
48
|
+
let upper_tick = Number(ticksCetusMap[pool].upper);
|
|
49
|
+
if (lower_tick > upper_bound) {
|
|
50
|
+
lower_tick = -~(lower_tick - 1);
|
|
51
|
+
}
|
|
52
|
+
if (upper_tick > upper_bound) {
|
|
53
|
+
upper_tick = -~(upper_tick - 1);
|
|
54
|
+
}
|
|
55
|
+
const liquidityInt = Math.floor(Number(liquidity));
|
|
56
|
+
const sqrtPrice = sqrtPriceCetusMap.get(pool);
|
|
57
|
+
const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(new BN(`${liquidityInt}`), new BN(sqrtPrice), TickMath.tickIndexToSqrtPriceX64(lower_tick), TickMath.tickIndexToSqrtPriceX64(upper_tick), true);
|
|
58
|
+
const coinAmounts = [
|
|
59
|
+
coin_amounts.coinA.toNumber(),
|
|
60
|
+
coin_amounts.coinB.toNumber(),
|
|
61
|
+
];
|
|
62
|
+
const ten = new Decimal(10);
|
|
63
|
+
const coin1 = poolCoinPairMap[pool].coinA;
|
|
64
|
+
const coin2 = poolCoinPairMap[pool].coinB;
|
|
65
|
+
const amount1 = new Decimal(coinAmounts[0]).div(ten.pow(coins[coin1].expo));
|
|
66
|
+
const amount2 = new Decimal(coinAmounts[1]).div(ten.pow(coins[coin2].expo));
|
|
67
|
+
const priceOfCoin1 = tokenPriceMap.get(coin1);
|
|
68
|
+
const priceOfCoin2 = tokenPriceMap.get(coin2);
|
|
69
|
+
if (priceOfCoin1 && priceOfCoin2) {
|
|
70
|
+
const amount = amount1.mul(priceOfCoin1).add(amount2.mul(priceOfCoin2));
|
|
71
|
+
return amount.toFixed(2).toString();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
console.error(`Error fetching price of ${pool}:`, error);
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function alphaLiquidityToUSD(liquidity, tokenPriceMap) {
|
|
80
|
+
try {
|
|
81
|
+
const priceOfAlpha = tokenPriceMap.get("ALPHA");
|
|
82
|
+
if (priceOfAlpha) {
|
|
83
|
+
let amount = new Decimal(liquidity).div(1e9);
|
|
84
|
+
amount = amount.mul(priceOfAlpha);
|
|
85
|
+
return amount.toFixed(2).toString();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
console.error(`Error fetching price of ALPHA:`, error);
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function singleAssetLiquidityToUSD(liquidity, pool, tokenPriceMap) {
|
|
94
|
+
try {
|
|
95
|
+
const singlePool = pool;
|
|
96
|
+
const coin = poolCoinMap[singlePool];
|
|
97
|
+
let amount = new Decimal(liquidity).div(Math.pow(10, 9 - coins[coin].expo));
|
|
98
|
+
amount = amount.div(new Decimal(Math.pow(10, coins[coin].expo)));
|
|
99
|
+
const priceOfCoin = tokenPriceMap.get(coin);
|
|
100
|
+
if (priceOfCoin) {
|
|
101
|
+
const amountInUSD = amount.mul(priceOfCoin);
|
|
102
|
+
return amountInUSD.toFixed(2).toString();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
console.error(`Error fetching price of ${pool}:`, error);
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
export function mergeDuplicateHoldings(userTokens) {
|
|
111
|
+
const address_poolValueMap = new Map();
|
|
112
|
+
userTokens.forEach(([address, pool, value]) => {
|
|
113
|
+
const key = `${address}_${pool}`;
|
|
114
|
+
const numericValue = parseFloat(value);
|
|
115
|
+
if (address_poolValueMap.has(key)) {
|
|
116
|
+
address_poolValueMap.set(key, address_poolValueMap.get(key) + numericValue);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
address_poolValueMap.set(key, numericValue);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return Array.from(address_poolValueMap.entries()).map(([key, value]) => {
|
|
123
|
+
const [address, pool] = key.split("_");
|
|
124
|
+
return [address, pool, value.toFixed(2).toString()];
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=getHoldersFromTransactionsUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHoldersFromTransactionsUtils.js","sourceRoot":"","sources":["../../../src/utils/getHoldersFromTransactionsUtils.ts"],"names":[],"mappings":"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","sourcesContent":["import { SuiObjectResponse } from \"@mysten/sui/client\";\nimport {\n AlphaReceiptFields,\n OtherReceiptFields,\n LiquidityToUsdParams,\n} from \"../types.js\";\nimport {\n poolIdPoolNameMap,\n poolCoinPairMap,\n getPoolExchangeRateMap,\n poolCoinMap,\n} from \"../common/maps.js\";\nimport { Decimal } from \"decimal.js\";\nimport { BN } from \"bn.js\";\nimport { PoolName, CoinName, DoubleAssetPoolNames } from \"../common/types.js\";\nimport {\n ClmmPoolUtil,\n TickMath,\n CoinAmounts,\n} from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport { coins } from \"../common/coins.js\";\n\nexport async function parseTokensFromReceipts(\n receipts: SuiObjectResponse[],\n): Promise<[string, string, string][]> {\n let userTokens: [string, string, string][] = [];\n\n for (const receipt of receipts) {\n const nftData = receipt.data?.content;\n if (nftData?.dataType === \"moveObject\") {\n const fields = nftData.fields as AlphaReceiptFields | OtherReceiptFields;\n const owner = fields.owner;\n const pool = poolIdPoolNameMap[fields.pool_id] as string;\n const xTokens = fields.xTokenBalance;\n userTokens.push([owner, pool, xTokens]);\n }\n }\n const conversionMap = await getPoolExchangeRateMap();\n userTokens = userTokens.map(([owner, pool, xTokens]) => {\n const conversion = new Decimal(\n conversionMap.get(pool as PoolName) as string,\n );\n const tokens = new Decimal(xTokens).mul(conversion).toFixed(4).toString();\n return [owner, pool, tokens];\n });\n\n return userTokens;\n}\n\nexport function liquidityToUsd(\n params: LiquidityToUsdParams,\n): string | undefined {\n let holdingUSD: string | undefined;\n if (params.poolName.slice(0, 4) === \"NAVI\") {\n holdingUSD = singleAssetLiquidityToUSD(\n params.liquidity,\n params.poolName,\n params.tokenPriceMap,\n );\n } else if (params.poolName === \"ALPHA\") {\n holdingUSD = alphaLiquidityToUSD(params.liquidity, params.tokenPriceMap);\n } else {\n holdingUSD = doubleAssetliquidityToUSD(params);\n }\n return holdingUSD;\n}\nfunction doubleAssetliquidityToUSD(params: {\n liquidity: string;\n poolName: string;\n ticksCetusMap: { [pool: string]: { lower: string; upper: string } };\n sqrtPriceCetusMap: Map<PoolName, string>;\n tokenPriceMap: Map<CoinName, string>;\n}): string | undefined {\n const pool = params.poolName;\n const liquidity = params.liquidity;\n const ticksCetusMap = params.ticksCetusMap;\n const sqrtPriceCetusMap = params.sqrtPriceCetusMap;\n const tokenPriceMap = params.tokenPriceMap;\n\n try {\n const upper_bound = 443636;\n let lower_tick = Number(ticksCetusMap[pool].lower);\n let upper_tick = Number(ticksCetusMap[pool].upper);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n const liquidityInt = Math.floor(Number(liquidity));\n const sqrtPrice = sqrtPriceCetusMap.get(pool as PoolName) as string;\n const coin_amounts: CoinAmounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(sqrtPrice),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n const coinAmounts = [\n coin_amounts.coinA.toNumber(),\n coin_amounts.coinB.toNumber(),\n ];\n const ten = new Decimal(10);\n const coin1 = poolCoinPairMap[pool as DoubleAssetPoolNames].coinA;\n const coin2 = poolCoinPairMap[pool as DoubleAssetPoolNames].coinB;\n\n const amount1 = new Decimal(coinAmounts[0]).div(ten.pow(coins[coin1].expo));\n const amount2 = new Decimal(coinAmounts[1]).div(ten.pow(coins[coin2].expo));\n const priceOfCoin1 = tokenPriceMap.get(coin1);\n const priceOfCoin2 = tokenPriceMap.get(coin2);\n if (priceOfCoin1 && priceOfCoin2) {\n const amount = amount1.mul(priceOfCoin1).add(amount2.mul(priceOfCoin2));\n return amount.toFixed(2).toString();\n }\n } catch (error) {\n console.error(`Error fetching price of ${pool}:`, error);\n return undefined;\n }\n}\nfunction alphaLiquidityToUSD(\n liquidity: string,\n tokenPriceMap: Map<CoinName, string>,\n) {\n try {\n const priceOfAlpha = tokenPriceMap.get(\"ALPHA\");\n if (priceOfAlpha) {\n let amount = new Decimal(liquidity).div(1e9);\n amount = amount.mul(priceOfAlpha);\n return amount.toFixed(2).toString();\n }\n } catch (error) {\n console.error(`Error fetching price of ALPHA:`, error);\n return undefined;\n }\n}\nfunction singleAssetLiquidityToUSD(\n liquidity: string,\n pool: string,\n tokenPriceMap: Map<CoinName, string>,\n) {\n try {\n const singlePool = pool as Extract<\n PoolName,\n \"NAVI-VSUI\" | \"NAVI-SUI\" | \"NAVI-WETH\" | \"NAVI-USDC\" | \"NAVI-USDT\"\n >;\n const coin = poolCoinMap[singlePool];\n let amount = new Decimal(liquidity).div(Math.pow(10, 9 - coins[coin].expo));\n amount = amount.div(new Decimal(Math.pow(10, coins[coin].expo)));\n const priceOfCoin = tokenPriceMap.get(coin);\n if (priceOfCoin) {\n const amountInUSD = amount.mul(priceOfCoin);\n return amountInUSD.toFixed(2).toString();\n }\n } catch (error) {\n console.error(`Error fetching price of ${pool}:`, error);\n return undefined;\n }\n}\n\nexport function mergeDuplicateHoldings(\n userTokens: [string, string, string][],\n): [string, string, string][] {\n const address_poolValueMap = new Map<string, number>();\n userTokens.forEach(([address, pool, value]) => {\n const key = `${address}_${pool}`;\n const numericValue = parseFloat(value);\n if (address_poolValueMap.has(key)) {\n address_poolValueMap.set(\n key,\n address_poolValueMap.get(key)! + numericValue,\n );\n } else {\n address_poolValueMap.set(key, numericValue);\n }\n });\n return Array.from(address_poolValueMap.entries()).map(([key, value]) => {\n const [address, pool] = key.split(\"_\");\n return [address, pool, value.toFixed(2).toString()];\n });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReceipts.d.ts","sourceRoot":"","sources":["../../../src/utils/getReceipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAe9C,wBAAsB,WAAW,CAAC,MAAM,EAAE,gBAAgB,gCAgCzD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { getSuiClient } from "../sui-sdk/client.js";
|
|
2
|
+
const recieptTypes = {
|
|
3
|
+
ALPHA: "0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphapool::Receipt",
|
|
4
|
+
"ALPHA-SUI": "0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphafi_cetus_sui_pool::Receipt",
|
|
5
|
+
"USDT-USDC": "0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphafi_cetus_pool::Receipt",
|
|
6
|
+
NAVI: "0x8f7d2c35e19c65213bc2153086969a55ec207b5a25ebdee303a6d9edd9c053e3::alphafi_navi_pool::Receipt",
|
|
7
|
+
"WBTC-USDC": "0x2793db7aa0e0209afc84f0adb1b258973cf1c9da55c35ee85c18f2ed4912bb6f::alphafi_cetus_pool_base_a::Receipt",
|
|
8
|
+
"CETUS-SUI": "0x1a22b26f139b34c9de9718cf7e53159b2b939ec8f46f4c040776b7a3d580dd28::alphafi_cetus_sui_pool::Receipt",
|
|
9
|
+
};
|
|
10
|
+
export async function getReceipts(params) {
|
|
11
|
+
let receipts = [];
|
|
12
|
+
const suiClient = getSuiClient();
|
|
13
|
+
for (const userAddress of params?.owners) {
|
|
14
|
+
console.log("checking receipts for", userAddress);
|
|
15
|
+
let hasNextPage = true;
|
|
16
|
+
let nextCursor = null;
|
|
17
|
+
while (hasNextPage) {
|
|
18
|
+
const res = await suiClient.getOwnedObjects({
|
|
19
|
+
cursor: nextCursor,
|
|
20
|
+
owner: userAddress,
|
|
21
|
+
options: {
|
|
22
|
+
showContent: true,
|
|
23
|
+
},
|
|
24
|
+
filter: {
|
|
25
|
+
MatchAny: [
|
|
26
|
+
{ StructType: recieptTypes["ALPHA"] },
|
|
27
|
+
{ StructType: recieptTypes["ALPHA-SUI"] },
|
|
28
|
+
{ StructType: recieptTypes["USDT-USDC"] },
|
|
29
|
+
{ StructType: recieptTypes["NAVI"] },
|
|
30
|
+
{ StructType: recieptTypes["WBTC-USDC"] },
|
|
31
|
+
{ StructType: recieptTypes["CETUS-SUI"] },
|
|
32
|
+
],
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
receipts = receipts.concat(res.data);
|
|
36
|
+
nextCursor = res.nextCursor;
|
|
37
|
+
hasNextPage = res.hasNextPage;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return receipts;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=getReceipts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReceipts.js","sourceRoot":"","sources":["../../../src/utils/getReceipts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,YAAY,GAAG;IACnB,KAAK,EACH,wFAAwF;IAC1F,WAAW,EACT,qGAAqG;IACvG,WAAW,EACT,iGAAiG;IACnG,IAAI,EAAE,gGAAgG;IACtG,WAAW,EACT,wGAAwG;IAC1G,WAAW,EACT,qGAAqG;CACxG,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAwB;IACxD,IAAI,QAAQ,GAAwB,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QAClD,IAAI,WAAW,GAAY,IAAI,CAAC;QAChC,IAAI,UAAU,GAA8B,IAAI,CAAC;QACjD,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC;gBAC1C,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE;oBACP,WAAW,EAAE,IAAI;iBAClB;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE;wBACR,EAAE,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE;wBACrC,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE;wBACzC,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE;wBACzC,EAAE,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE;wBACpC,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE;wBACzC,EAAE,UAAU,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE;qBAC1C;iBACF;aACF,CAAC,CAAC;YACH,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;YAC5B,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC","sourcesContent":["import { SuiObjectResponse } from \"@mysten/sui/client\";\nimport { getSuiClient } from \"../sui-sdk/client.js\";\nimport { GetReceiptParams } from \"./types.js\";\nconst recieptTypes = {\n ALPHA:\n \"0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphapool::Receipt\",\n \"ALPHA-SUI\":\n \"0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphafi_cetus_sui_pool::Receipt\",\n \"USDT-USDC\":\n \"0x9bbd650b8442abb082c20f3bc95a9434a8d47b4bef98b0832dab57c1a8ba7123::alphafi_cetus_pool::Receipt\",\n NAVI: \"0x8f7d2c35e19c65213bc2153086969a55ec207b5a25ebdee303a6d9edd9c053e3::alphafi_navi_pool::Receipt\",\n \"WBTC-USDC\":\n \"0x2793db7aa0e0209afc84f0adb1b258973cf1c9da55c35ee85c18f2ed4912bb6f::alphafi_cetus_pool_base_a::Receipt\",\n \"CETUS-SUI\":\n \"0x1a22b26f139b34c9de9718cf7e53159b2b939ec8f46f4c040776b7a3d580dd28::alphafi_cetus_sui_pool::Receipt\",\n};\n\nexport async function getReceipts(params: GetReceiptParams) {\n let receipts: SuiObjectResponse[] = [];\n const suiClient = getSuiClient();\n\n for (const userAddress of params?.owners) {\n console.log(\"checking receipts for\", userAddress);\n let hasNextPage: boolean = true;\n let nextCursor: null | string | undefined = null;\n while (hasNextPage) {\n const res = await suiClient.getOwnedObjects({\n cursor: nextCursor,\n owner: userAddress,\n options: {\n showContent: true,\n },\n filter: {\n MatchAny: [\n { StructType: recieptTypes[\"ALPHA\"] },\n { StructType: recieptTypes[\"ALPHA-SUI\"] },\n { StructType: recieptTypes[\"USDT-USDC\"] },\n { StructType: recieptTypes[\"NAVI\"] },\n { StructType: recieptTypes[\"WBTC-USDC\"] },\n { StructType: recieptTypes[\"CETUS-SUI\"] },\n ],\n },\n });\n receipts = receipts.concat(res.data);\n nextCursor = res.nextCursor;\n hasNextPage = res.hasNextPage;\n }\n }\n return receipts;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hop.d.ts","sourceRoot":"","sources":["../../../src/utils/hop.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAEb,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMvD,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC;AAEzC,eAAO,MAAM,aAAa,EAAE,aAI3B,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;gBAEX,UAAU,EAAE,aAAa;IAK/B,QAAQ,CACZ,OAAO,EAAE,cAAc,EACvB,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAuBtB,mBAAmB,CACvB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,gBAAgB,EACvB,KAAK,GAAE,OAAe,EACtB,WAAW,GAAE,WAAW,GAAG,SAAqB,GAC/C,OAAO,CAAC,WAAW,CAAC;CA4BxB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqBhE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoB/D;AACD,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkBhE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { HopApi, } from "@hop.ag/sdk";
|
|
2
|
+
import { conf, CONF_ENV } from "../common/constants.js";
|
|
3
|
+
import { getSuiNodeUrl } from "../sui-sdk/client.js";
|
|
4
|
+
import { coins } from "../common/coins.js";
|
|
5
|
+
import { getLatestPrice } from "./prices.js";
|
|
6
|
+
import BN from "bn.js";
|
|
7
|
+
export const hopSDKOptions = {
|
|
8
|
+
api_key: conf[CONF_ENV].HOP_API_KEY,
|
|
9
|
+
fee_bps: conf[CONF_ENV].HOP_FEE_BPS,
|
|
10
|
+
fee_wallet: conf[CONF_ENV].HOP_QUERY_WALLET,
|
|
11
|
+
};
|
|
12
|
+
export class HopGateway {
|
|
13
|
+
hopAPI;
|
|
14
|
+
constructor(sdkOptions) {
|
|
15
|
+
const rpc_url = getSuiNodeUrl();
|
|
16
|
+
this.hopAPI = new HopApi(rpc_url, sdkOptions);
|
|
17
|
+
}
|
|
18
|
+
async getQuote(options, debug = false) {
|
|
19
|
+
const { pair, inAmount, outAmount } = options;
|
|
20
|
+
let amount = new BN(0);
|
|
21
|
+
if (inAmount) {
|
|
22
|
+
amount = inAmount;
|
|
23
|
+
}
|
|
24
|
+
else if (outAmount) {
|
|
25
|
+
amount = outAmount;
|
|
26
|
+
}
|
|
27
|
+
const params = {
|
|
28
|
+
token_in: pair.coinA.type,
|
|
29
|
+
token_out: pair.coinB.type,
|
|
30
|
+
amount_in: BigInt(amount.toString()),
|
|
31
|
+
};
|
|
32
|
+
if (debug) {
|
|
33
|
+
console.debug("fetchQuote Params:");
|
|
34
|
+
console.debug(params);
|
|
35
|
+
}
|
|
36
|
+
const quote = await this.hopAPI.fetchQuote(params);
|
|
37
|
+
return quote;
|
|
38
|
+
}
|
|
39
|
+
async getTransactionBlock(options, quote, debug = false, transaction = undefined) {
|
|
40
|
+
const { senderAddress, slippage } = options;
|
|
41
|
+
const splippageBPS = slippage * 100;
|
|
42
|
+
let params;
|
|
43
|
+
if (transaction) {
|
|
44
|
+
params = {
|
|
45
|
+
trade: quote.trade,
|
|
46
|
+
sui_address: senderAddress,
|
|
47
|
+
max_slippage_bps: splippageBPS,
|
|
48
|
+
base_transaction: transaction,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
params = {
|
|
53
|
+
trade: quote.trade,
|
|
54
|
+
sui_address: senderAddress,
|
|
55
|
+
max_slippage_bps: splippageBPS,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
if (debug) {
|
|
59
|
+
console.debug("fetchTx Params:");
|
|
60
|
+
console.debug(params);
|
|
61
|
+
}
|
|
62
|
+
const trade = await this.hopAPI.fetchTx(params);
|
|
63
|
+
return trade.transaction;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export async function getBlubPrice() {
|
|
67
|
+
// return 1;
|
|
68
|
+
const hopGateway = new HopGateway(hopSDKOptions);
|
|
69
|
+
const swapOptions = {
|
|
70
|
+
pair: { coinA: coins.BLUB, coinB: coins.USDC },
|
|
71
|
+
senderAddress: "0x4260738f0f7341adc79a8edaa62f8a4681ebd27c595aecab1f322f47bfc52c5e",
|
|
72
|
+
inAmount: new BN(1_000_000_000),
|
|
73
|
+
slippage: 1,
|
|
74
|
+
};
|
|
75
|
+
const res = await hopGateway.getQuote(swapOptions);
|
|
76
|
+
const latestUSDCPrice = await getLatestPrice("USDC/USD");
|
|
77
|
+
if (latestUSDCPrice) {
|
|
78
|
+
return (Number(res.amount_out_with_fee) * Number(latestUSDCPrice) * 1e-6 * 1e-7);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
export async function getFudPrice() {
|
|
85
|
+
const hopGateway = new HopGateway(hopSDKOptions);
|
|
86
|
+
const swapOptions = {
|
|
87
|
+
pair: { coinA: coins.FUD, coinB: coins.USDC },
|
|
88
|
+
senderAddress: "0x4260738f0f7341adc79a8edaa62f8a4681ebd27c595aecab1f322f47bfc52c5e",
|
|
89
|
+
inAmount: new BN(1_000_000_000_000),
|
|
90
|
+
slippage: 1,
|
|
91
|
+
};
|
|
92
|
+
const res = await hopGateway.getQuote(swapOptions);
|
|
93
|
+
const latestUSDCPrice = await getLatestPrice("USDC/USD");
|
|
94
|
+
if (latestUSDCPrice) {
|
|
95
|
+
return (Number(res.amount_out_with_fee) * Number(latestUSDCPrice) * 1e-6 * 1e-7);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
export async function getWsolPrice() {
|
|
102
|
+
const hopGateway = new HopGateway(hopSDKOptions);
|
|
103
|
+
const swapOptions = {
|
|
104
|
+
pair: { coinA: coins.WSOL, coinB: coins.USDC },
|
|
105
|
+
senderAddress: "0x4260738f0f7341adc79a8edaa62f8a4681ebd27c595aecab1f322f47bfc52c5e",
|
|
106
|
+
inAmount: new BN(1_000_000_00),
|
|
107
|
+
slippage: 1,
|
|
108
|
+
};
|
|
109
|
+
const res = await hopGateway.getQuote(swapOptions);
|
|
110
|
+
const latestUSDCPrice = await getLatestPrice("USDC/USD");
|
|
111
|
+
if (latestUSDCPrice) {
|
|
112
|
+
return Number(res.amount_out_with_fee) * Number(latestUSDCPrice) * 1e-6;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=hop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hop.js","sourceRoot":"","sources":["../../../src/utils/hop.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n GetTxParams,\n HopApi,\n HopApiOptions,\n GetQuoteParams,\n GetQuoteResponse,\n} from \"@hop.ag/sdk\";\nimport { SwapOptions } from \"../common/types.js\";\nimport { conf, CONF_ENV } from \"../common/constants.js\";\nimport { Transaction } from \"@mysten/sui/transactions\";\nimport { getSuiNodeUrl } from \"../sui-sdk/client.js\";\nimport { coins } from \"../common/coins.js\";\nimport { getLatestPrice } from \"./prices.js\";\nimport BN from \"bn.js\";\n\nexport type HopSwapOptions = SwapOptions;\n\nexport const hopSDKOptions: HopApiOptions = {\n api_key: conf[CONF_ENV].HOP_API_KEY,\n fee_bps: conf[CONF_ENV].HOP_FEE_BPS,\n fee_wallet: conf[CONF_ENV].HOP_QUERY_WALLET,\n};\n\nexport class HopGateway {\n private hopAPI: HopApi;\n\n constructor(sdkOptions: HopApiOptions) {\n const rpc_url = getSuiNodeUrl();\n this.hopAPI = new HopApi(rpc_url, sdkOptions);\n }\n\n async getQuote(\n options: HopSwapOptions,\n debug: boolean = false,\n ): Promise<GetQuoteResponse> {\n const { pair, inAmount, outAmount } = options;\n let amount: BN = new BN(0);\n if (inAmount) {\n amount = inAmount;\n } else if (outAmount) {\n amount = outAmount;\n }\n\n const params: GetQuoteParams = {\n token_in: pair.coinA.type,\n token_out: pair.coinB.type,\n amount_in: BigInt(amount.toString()),\n };\n\n if (debug) {\n console.debug(\"fetchQuote Params:\");\n console.debug(params);\n }\n const quote = await this.hopAPI.fetchQuote(params);\n return quote;\n }\n\n async getTransactionBlock(\n options: HopSwapOptions,\n quote: GetQuoteResponse,\n debug: boolean = false,\n transaction: Transaction | undefined = undefined,\n ): Promise<Transaction> {\n const { senderAddress, slippage } = options;\n const splippageBPS = slippage * 100;\n\n let params: GetTxParams;\n if (transaction) {\n params = {\n trade: quote.trade,\n sui_address: senderAddress,\n max_slippage_bps: splippageBPS,\n base_transaction: transaction,\n };\n } else {\n params = {\n trade: quote.trade,\n sui_address: senderAddress,\n max_slippage_bps: splippageBPS,\n };\n }\n\n if (debug) {\n console.debug(\"fetchTx Params:\");\n console.debug(params);\n }\n const trade = await this.hopAPI.fetchTx(params);\n\n return trade.transaction;\n }\n}\n\nexport async function getBlubPrice(): Promise<number | undefined> {\n // return 1;\n const hopGateway = new HopGateway(hopSDKOptions);\n\n const swapOptions: HopSwapOptions = {\n pair: { coinA: coins.BLUB, coinB: coins.USDC },\n senderAddress:\n \"0x4260738f0f7341adc79a8edaa62f8a4681ebd27c595aecab1f322f47bfc52c5e\",\n inAmount: new BN(1_000_000_000),\n slippage: 1,\n };\n\n const res = await hopGateway.getQuote(swapOptions);\n const latestUSDCPrice = await getLatestPrice(\"USDC/USD\");\n if (latestUSDCPrice) {\n return (\n Number(res.amount_out_with_fee) * Number(latestUSDCPrice) * 1e-6 * 1e-7\n );\n } else {\n return undefined;\n }\n}\n\nexport async function getFudPrice(): Promise<number | undefined> {\n const hopGateway = new HopGateway(hopSDKOptions);\n\n const swapOptions: HopSwapOptions = {\n pair: { coinA: coins.FUD, coinB: coins.USDC },\n senderAddress:\n \"0x4260738f0f7341adc79a8edaa62f8a4681ebd27c595aecab1f322f47bfc52c5e\",\n inAmount: new BN(1_000_000_000_000),\n slippage: 1,\n };\n\n const res = await hopGateway.getQuote(swapOptions);\n const latestUSDCPrice = await getLatestPrice(\"USDC/USD\");\n if (latestUSDCPrice) {\n return (\n Number(res.amount_out_with_fee) * Number(latestUSDCPrice) * 1e-6 * 1e-7\n );\n } else {\n return undefined;\n }\n}\nexport async function getWsolPrice(): Promise<number | undefined> {\n const hopGateway = new HopGateway(hopSDKOptions);\n\n const swapOptions: HopSwapOptions = {\n pair: { coinA: coins.WSOL, coinB: coins.USDC },\n senderAddress:\n \"0x4260738f0f7341adc79a8edaa62f8a4681ebd27c595aecab1f322f47bfc52c5e\",\n inAmount: new BN(1_000_000_00),\n slippage: 1,\n };\n\n const res = await hopGateway.getQuote(swapOptions);\n const latestUSDCPrice = await getLatestPrice(\"USDC/USD\");\n if (latestUSDCPrice) {\n return Number(res.amount_out_with_fee) * Number(latestUSDCPrice) * 1e-6;\n } else {\n return undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prices.d.ts","sourceRoot":"","sources":["../../../src/utils/prices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAOpD,wBAAsB,eAAe,CACnC,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAuDjC;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,eAAe,EAAE,GACvB,OAAO,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC,CAWhD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4C7B"}
|