@alphafi/alphafi-sdk 0.0.107 → 1.0.1
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 +378 -130
- package/dist/cjs/core/index.d.ts +159 -0
- package/dist/cjs/core/index.d.ts.map +1 -0
- package/dist/cjs/core/index.js +253 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/types.d.ts +135 -0
- package/dist/cjs/core/types.d.ts.map +1 -0
- package/dist/cjs/core/types.js +7 -0
- package/dist/cjs/core/types.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -46
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -166
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models/blockchain.d.ts +45 -0
- package/dist/cjs/models/blockchain.d.ts.map +1 -0
- package/dist/cjs/models/blockchain.js +237 -0
- package/dist/cjs/models/blockchain.js.map +1 -0
- package/dist/cjs/models/coinInfoProvider.d.ts +23 -0
- package/dist/cjs/models/coinInfoProvider.d.ts.map +1 -0
- package/dist/cjs/models/coinInfoProvider.js +87 -0
- package/dist/cjs/models/coinInfoProvider.js.map +1 -0
- package/dist/cjs/models/index.d.ts +3 -0
- package/dist/cjs/models/index.d.ts.map +1 -0
- package/dist/cjs/models/index.js +8 -0
- package/dist/cjs/models/index.js.map +1 -0
- package/dist/cjs/models/portfolio.d.ts +21 -0
- package/dist/cjs/models/portfolio.d.ts.map +1 -0
- package/dist/cjs/models/portfolio.js +173 -0
- package/dist/cjs/models/portfolio.js.map +1 -0
- package/dist/cjs/models/protocol.d.ts +25 -0
- package/dist/cjs/models/protocol.d.ts.map +1 -0
- package/dist/cjs/models/protocol.js +141 -0
- package/dist/cjs/models/protocol.js.map +1 -0
- package/dist/cjs/models/strategyContext.d.ts +150 -0
- package/dist/cjs/models/strategyContext.d.ts.map +1 -0
- package/dist/cjs/models/strategyContext.js +829 -0
- package/dist/cjs/models/strategyContext.js.map +1 -0
- package/dist/cjs/models/swap.d.ts +11 -0
- package/dist/cjs/models/swap.d.ts.map +1 -0
- package/dist/cjs/models/swap.js +60 -0
- package/dist/cjs/models/swap.js.map +1 -0
- package/dist/cjs/models/types.d.ts +145 -0
- package/dist/cjs/models/types.d.ts.map +1 -0
- package/dist/cjs/models/types.js.map +1 -0
- package/dist/cjs/strategies/alphaVault.d.ts +279 -0
- package/dist/cjs/strategies/alphaVault.d.ts.map +1 -0
- package/dist/cjs/strategies/alphaVault.js +891 -0
- package/dist/cjs/strategies/alphaVault.js.map +1 -0
- package/dist/cjs/strategies/autobalanceLp.d.ts +197 -0
- package/dist/cjs/strategies/autobalanceLp.d.ts.map +1 -0
- package/dist/cjs/strategies/autobalanceLp.js +567 -0
- package/dist/cjs/strategies/autobalanceLp.js.map +1 -0
- package/dist/cjs/strategies/fungibleLending.d.ts +98 -0
- package/dist/cjs/strategies/fungibleLending.d.ts.map +1 -0
- package/dist/cjs/strategies/fungibleLending.js +204 -0
- package/dist/cjs/strategies/fungibleLending.js.map +1 -0
- package/dist/cjs/strategies/fungibleLp.d.ts +165 -0
- package/dist/cjs/strategies/fungibleLp.d.ts.map +1 -0
- package/dist/cjs/strategies/fungibleLp.js +398 -0
- package/dist/cjs/strategies/fungibleLp.js.map +1 -0
- package/dist/cjs/strategies/index.d.ts +26 -0
- package/dist/cjs/strategies/index.d.ts.map +1 -0
- package/dist/cjs/strategies/index.js +24 -0
- package/dist/cjs/strategies/index.js.map +1 -0
- package/dist/cjs/strategies/lending.d.ts +155 -0
- package/dist/cjs/strategies/lending.d.ts.map +1 -0
- package/dist/cjs/strategies/lending.js +828 -0
- package/dist/cjs/strategies/lending.js.map +1 -0
- package/dist/cjs/strategies/looping.d.ts +176 -0
- package/dist/cjs/strategies/looping.d.ts.map +1 -0
- package/dist/cjs/strategies/looping.js +978 -0
- package/dist/cjs/strategies/looping.js.map +1 -0
- package/dist/cjs/strategies/lp.d.ts +207 -0
- package/dist/cjs/strategies/lp.d.ts.map +1 -0
- package/dist/cjs/strategies/lp.js +1452 -0
- package/dist/cjs/strategies/lp.js.map +1 -0
- package/dist/cjs/strategies/lyf.d.ts +207 -0
- package/dist/cjs/strategies/lyf.d.ts.map +1 -0
- package/dist/cjs/strategies/lyf.js +649 -0
- package/dist/cjs/strategies/lyf.js.map +1 -0
- package/dist/cjs/strategies/singleAssetLooping.d.ts +152 -0
- package/dist/cjs/strategies/singleAssetLooping.d.ts.map +1 -0
- package/dist/cjs/strategies/singleAssetLooping.js +631 -0
- package/dist/cjs/strategies/singleAssetLooping.js.map +1 -0
- package/dist/cjs/strategies/slushLending.d.ts +131 -0
- package/dist/cjs/strategies/slushLending.d.ts.map +1 -0
- package/dist/cjs/strategies/slushLending.js +392 -0
- package/dist/cjs/strategies/slushLending.js.map +1 -0
- package/dist/cjs/strategies/strategy.d.ts +198 -0
- package/dist/cjs/strategies/strategy.d.ts.map +1 -0
- package/dist/cjs/strategies/strategy.js +196 -0
- package/dist/cjs/strategies/strategy.js.map +1 -0
- package/dist/cjs/utils/cache.d.ts +98 -0
- package/dist/cjs/utils/cache.d.ts.map +1 -0
- package/dist/cjs/utils/cache.js +203 -0
- package/dist/cjs/utils/cache.js.map +1 -0
- package/dist/cjs/utils/constants.d.ts +236 -2
- package/dist/cjs/utils/constants.d.ts.map +1 -1
- package/dist/cjs/utils/constants.js +244 -107
- package/dist/cjs/utils/constants.js.map +1 -1
- package/dist/cjs/utils/poolMap.d.ts +20 -0
- package/dist/cjs/utils/poolMap.d.ts.map +1 -0
- package/dist/cjs/utils/poolMap.js +237 -0
- package/dist/cjs/utils/poolMap.js.map +1 -0
- package/dist/cjs/utils/testing-pools.d.ts +3 -0
- package/dist/cjs/utils/testing-pools.d.ts.map +1 -0
- package/dist/cjs/utils/testing-pools.js +27 -0
- package/dist/cjs/utils/testing-pools.js.map +1 -0
- package/dist/esm/core/index.d.ts +159 -0
- package/dist/esm/core/index.d.ts.map +1 -0
- package/dist/esm/core/index.js +249 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/types.d.ts +135 -0
- package/dist/esm/core/types.d.ts.map +1 -0
- package/dist/esm/core/types.js +6 -0
- package/dist/esm/core/types.js.map +1 -0
- package/dist/esm/index.d.ts +7 -46
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -49
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/blockchain.d.ts +45 -0
- package/dist/esm/models/blockchain.d.ts.map +1 -0
- package/dist/esm/models/blockchain.js +233 -0
- package/dist/esm/models/blockchain.js.map +1 -0
- package/dist/esm/models/coinInfoProvider.d.ts +23 -0
- package/dist/esm/models/coinInfoProvider.d.ts.map +1 -0
- package/dist/esm/models/coinInfoProvider.js +83 -0
- package/dist/esm/models/coinInfoProvider.js.map +1 -0
- package/dist/esm/models/index.d.ts +3 -0
- package/dist/esm/models/index.d.ts.map +1 -0
- package/dist/esm/models/index.js +3 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/models/portfolio.d.ts +21 -0
- package/dist/esm/models/portfolio.d.ts.map +1 -0
- package/dist/esm/models/portfolio.js +169 -0
- package/dist/esm/models/portfolio.js.map +1 -0
- package/dist/esm/models/protocol.d.ts +25 -0
- package/dist/esm/models/protocol.d.ts.map +1 -0
- package/dist/esm/models/protocol.js +137 -0
- package/dist/esm/models/protocol.js.map +1 -0
- package/dist/esm/models/strategyContext.d.ts +150 -0
- package/dist/esm/models/strategyContext.d.ts.map +1 -0
- package/dist/esm/models/strategyContext.js +825 -0
- package/dist/esm/models/strategyContext.js.map +1 -0
- package/dist/esm/models/swap.d.ts +11 -0
- package/dist/esm/models/swap.d.ts.map +1 -0
- package/dist/esm/models/swap.js +58 -0
- package/dist/esm/models/swap.js.map +1 -0
- package/dist/esm/models/types.d.ts +145 -0
- package/dist/esm/models/types.d.ts.map +1 -0
- package/dist/esm/models/types.js.map +1 -0
- package/dist/esm/strategies/alphaVault.d.ts +279 -0
- package/dist/esm/strategies/alphaVault.d.ts.map +1 -0
- package/dist/esm/strategies/alphaVault.js +887 -0
- package/dist/esm/strategies/alphaVault.js.map +1 -0
- package/dist/esm/strategies/autobalanceLp.d.ts +197 -0
- package/dist/esm/strategies/autobalanceLp.d.ts.map +1 -0
- package/dist/esm/strategies/autobalanceLp.js +562 -0
- package/dist/esm/strategies/autobalanceLp.js.map +1 -0
- package/dist/esm/strategies/fungibleLending.d.ts +98 -0
- package/dist/esm/strategies/fungibleLending.d.ts.map +1 -0
- package/dist/esm/strategies/fungibleLending.js +200 -0
- package/dist/esm/strategies/fungibleLending.js.map +1 -0
- package/dist/esm/strategies/fungibleLp.d.ts +165 -0
- package/dist/esm/strategies/fungibleLp.d.ts.map +1 -0
- package/dist/esm/strategies/fungibleLp.js +393 -0
- package/dist/esm/strategies/fungibleLp.js.map +1 -0
- package/dist/esm/strategies/index.d.ts +26 -0
- package/dist/esm/strategies/index.d.ts.map +1 -0
- package/dist/esm/strategies/index.js +18 -0
- package/dist/esm/strategies/index.js.map +1 -0
- package/dist/esm/strategies/lending.d.ts +155 -0
- package/dist/esm/strategies/lending.d.ts.map +1 -0
- package/dist/esm/strategies/lending.js +824 -0
- package/dist/esm/strategies/lending.js.map +1 -0
- package/dist/esm/strategies/looping.d.ts +176 -0
- package/dist/esm/strategies/looping.d.ts.map +1 -0
- package/dist/esm/strategies/looping.js +974 -0
- package/dist/esm/strategies/looping.js.map +1 -0
- package/dist/esm/strategies/lp.d.ts +207 -0
- package/dist/esm/strategies/lp.d.ts.map +1 -0
- package/dist/esm/strategies/lp.js +1447 -0
- package/dist/esm/strategies/lp.js.map +1 -0
- package/dist/esm/strategies/lyf.d.ts +207 -0
- package/dist/esm/strategies/lyf.d.ts.map +1 -0
- package/dist/esm/strategies/lyf.js +644 -0
- package/dist/esm/strategies/lyf.js.map +1 -0
- package/dist/esm/strategies/singleAssetLooping.d.ts +152 -0
- package/dist/esm/strategies/singleAssetLooping.d.ts.map +1 -0
- package/dist/esm/strategies/singleAssetLooping.js +627 -0
- package/dist/esm/strategies/singleAssetLooping.js.map +1 -0
- package/dist/esm/strategies/slushLending.d.ts +131 -0
- package/dist/esm/strategies/slushLending.d.ts.map +1 -0
- package/dist/esm/strategies/slushLending.js +388 -0
- package/dist/esm/strategies/slushLending.js.map +1 -0
- package/dist/esm/strategies/strategy.d.ts +198 -0
- package/dist/esm/strategies/strategy.d.ts.map +1 -0
- package/dist/esm/strategies/strategy.js +192 -0
- package/dist/esm/strategies/strategy.js.map +1 -0
- package/dist/esm/utils/cache.d.ts +98 -0
- package/dist/esm/utils/cache.d.ts.map +1 -0
- package/dist/esm/utils/cache.js +198 -0
- package/dist/esm/utils/cache.js.map +1 -0
- package/dist/esm/utils/constants.d.ts +236 -2
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +243 -106
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/poolMap.d.ts +20 -0
- package/dist/esm/utils/poolMap.d.ts.map +1 -0
- package/dist/esm/utils/poolMap.js +233 -0
- package/dist/esm/utils/poolMap.js.map +1 -0
- package/dist/esm/utils/testing-pools.d.ts +3 -0
- package/dist/esm/utils/testing-pools.d.ts.map +1 -0
- package/dist/esm/utils/testing-pools.js +24 -0
- package/dist/esm/utils/testing-pools.js.map +1 -0
- package/package.json +45 -72
- package/dist/cjs/adminFunctions.d.ts +0 -33
- package/dist/cjs/adminFunctions.d.ts.map +0 -1
- package/dist/cjs/adminFunctions.js +0 -306
- package/dist/cjs/adminFunctions.js.map +0 -1
- package/dist/cjs/common/alphaTypes.d.ts +0 -110
- package/dist/cjs/common/alphaTypes.d.ts.map +0 -1
- package/dist/cjs/common/alphaTypes.js +0 -3
- package/dist/cjs/common/alphaTypes.js.map +0 -1
- package/dist/cjs/common/cetus_mainnet_config.d.ts +0 -3
- package/dist/cjs/common/cetus_mainnet_config.d.ts.map +0 -1
- package/dist/cjs/common/cetus_mainnet_config.js +0 -50
- package/dist/cjs/common/cetus_mainnet_config.js.map +0 -1
- package/dist/cjs/common/coins.d.ts +0 -6
- package/dist/cjs/common/coins.d.ts.map +0 -1
- package/dist/cjs/common/coins.js +0 -313
- package/dist/cjs/common/coins.js.map +0 -1
- package/dist/cjs/common/constants.d.ts +0 -3187
- package/dist/cjs/common/constants.d.ts.map +0 -1
- package/dist/cjs/common/constants.js +0 -2564
- package/dist/cjs/common/constants.js.map +0 -1
- package/dist/cjs/common/maps.d.ts +0 -120
- package/dist/cjs/common/maps.d.ts.map +0 -1
- package/dist/cjs/common/maps.js +0 -2527
- package/dist/cjs/common/maps.js.map +0 -1
- package/dist/cjs/common/pyth.d.ts +0 -7
- package/dist/cjs/common/pyth.d.ts.map +0 -1
- package/dist/cjs/common/pyth.js +0 -3
- package/dist/cjs/common/pyth.js.map +0 -1
- package/dist/cjs/common/types.d.ts +0 -736
- package/dist/cjs/common/types.d.ts.map +0 -1
- package/dist/cjs/common/types.js.map +0 -1
- package/dist/cjs/example.d.ts +0 -3
- package/dist/cjs/example.d.ts.map +0 -1
- package/dist/cjs/example.js +0 -42
- package/dist/cjs/example.js.map +0 -1
- package/dist/cjs/getAirdropShare.d.ts +0 -3
- package/dist/cjs/getAirdropShare.d.ts.map +0 -1
- package/dist/cjs/getAirdropShare.js +0 -10
- package/dist/cjs/getAirdropShare.js.map +0 -1
- package/dist/cjs/getAllVaults.d.ts +0 -7
- package/dist/cjs/getAllVaults.d.ts.map +0 -1
- package/dist/cjs/getAllVaults.js +0 -39
- package/dist/cjs/getAllVaults.js.map +0 -1
- package/dist/cjs/getAlphaUnlocks.d.ts +0 -15
- package/dist/cjs/getAlphaUnlocks.d.ts.map +0 -1
- package/dist/cjs/getAlphaUnlocks.js +0 -21
- package/dist/cjs/getAlphaUnlocks.js.map +0 -1
- package/dist/cjs/getAprs.d.ts +0 -14
- package/dist/cjs/getAprs.d.ts.map +0 -1
- package/dist/cjs/getAprs.js +0 -306
- package/dist/cjs/getAprs.js.map +0 -1
- package/dist/cjs/getLastAutoCompoundTime.d.ts +0 -4
- package/dist/cjs/getLastAutoCompoundTime.d.ts.map +0 -1
- package/dist/cjs/getLastAutoCompoundTime.js +0 -18
- package/dist/cjs/getLastAutoCompoundTime.js.map +0 -1
- package/dist/cjs/getRebalanceHistory.d.ts +0 -6
- package/dist/cjs/getRebalanceHistory.d.ts.map +0 -1
- package/dist/cjs/getRebalanceHistory.js +0 -26
- package/dist/cjs/getRebalanceHistory.js.map +0 -1
- package/dist/cjs/getTvls.d.ts +0 -10
- package/dist/cjs/getTvls.d.ts.map +0 -1
- package/dist/cjs/getTvls.js +0 -137
- package/dist/cjs/getTvls.js.map +0 -1
- package/dist/cjs/getVaultBalances.d.ts +0 -13
- package/dist/cjs/getVaultBalances.d.ts.map +0 -1
- package/dist/cjs/getVaultBalances.js +0 -103
- package/dist/cjs/getVaultBalances.js.map +0 -1
- package/dist/cjs/getVaults.d.ts +0 -8
- package/dist/cjs/getVaults.d.ts.map +0 -1
- package/dist/cjs/getVaults.js +0 -34
- package/dist/cjs/getVaults.js.map +0 -1
- package/dist/cjs/graphql/client.d.ts +0 -4
- package/dist/cjs/graphql/client.d.ts.map +0 -1
- package/dist/cjs/graphql/client.js +0 -14
- package/dist/cjs/graphql/client.js.map +0 -1
- package/dist/cjs/graphql/executeMutations.d.ts +0 -19
- package/dist/cjs/graphql/executeMutations.d.ts.map +0 -1
- package/dist/cjs/graphql/executeMutations.js +0 -40
- package/dist/cjs/graphql/executeMutations.js.map +0 -1
- package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.d.ts +0 -28
- package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.d.ts.map +0 -1
- package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js +0 -120
- package/dist/cjs/graphql/fetchAutoCompoundingEventsGql.js.map +0 -1
- package/dist/cjs/graphql/fetchData.d.ts +0 -35
- package/dist/cjs/graphql/fetchData.d.ts.map +0 -1
- package/dist/cjs/graphql/fetchData.js +0 -103
- package/dist/cjs/graphql/fetchData.js.map +0 -1
- package/dist/cjs/graphql/fetchNftHolders.d.ts +0 -4
- package/dist/cjs/graphql/fetchNftHolders.d.ts.map +0 -1
- package/dist/cjs/graphql/fetchNftHolders.js +0 -37
- package/dist/cjs/graphql/fetchNftHolders.js.map +0 -1
- package/dist/cjs/graphql/fetchReceipts.d.ts +0 -4
- package/dist/cjs/graphql/fetchReceipts.d.ts.map +0 -1
- package/dist/cjs/graphql/fetchReceipts.js +0 -38
- package/dist/cjs/graphql/fetchReceipts.js.map +0 -1
- package/dist/cjs/graphql/getMultiReceipts.d.ts +0 -4
- package/dist/cjs/graphql/getMultiReceipts.d.ts.map +0 -1
- package/dist/cjs/graphql/getMultiReceipts.js +0 -117
- package/dist/cjs/graphql/getMultiReceipts.js.map +0 -1
- package/dist/cjs/graphql/mutations.d.ts +0 -4
- package/dist/cjs/graphql/mutations.d.ts.map +0 -1
- package/dist/cjs/graphql/mutations.js +0 -33
- package/dist/cjs/graphql/mutations.js.map +0 -1
- package/dist/cjs/graphql/parseData.d.ts +0 -3
- package/dist/cjs/graphql/parseData.d.ts.map +0 -1
- package/dist/cjs/graphql/parseData.js +0 -10
- package/dist/cjs/graphql/parseData.js.map +0 -1
- package/dist/cjs/graphql/parseLockedTableId.d.ts +0 -8
- package/dist/cjs/graphql/parseLockedTableId.d.ts.map +0 -1
- package/dist/cjs/graphql/parseLockedTableId.js +0 -16
- package/dist/cjs/graphql/parseLockedTableId.js.map +0 -1
- package/dist/cjs/graphql/queries/autoCompoundEvents.d.ts +0 -2
- package/dist/cjs/graphql/queries/autoCompoundEvents.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/autoCompoundEvents.js +0 -19
- package/dist/cjs/graphql/queries/autoCompoundEvents.js.map +0 -1
- package/dist/cjs/graphql/queries/cetusPools.d.ts +0 -2
- package/dist/cjs/graphql/queries/cetusPools.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/cetusPools.js +0 -39
- package/dist/cjs/graphql/queries/cetusPools.js.map +0 -1
- package/dist/cjs/graphql/queries/getMultiReceipts.d.ts +0 -3
- package/dist/cjs/graphql/queries/getMultiReceipts.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/getMultiReceipts.js +0 -59
- package/dist/cjs/graphql/queries/getMultiReceipts.js.map +0 -1
- package/dist/cjs/graphql/queries/investors.d.ts +0 -2
- package/dist/cjs/graphql/queries/investors.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/investors.js +0 -39
- package/dist/cjs/graphql/queries/investors.js.map +0 -1
- package/dist/cjs/graphql/queries/lockedTableData.d.ts +0 -2
- package/dist/cjs/graphql/queries/lockedTableData.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/lockedTableData.js +0 -30
- package/dist/cjs/graphql/queries/lockedTableData.js.map +0 -1
- package/dist/cjs/graphql/queries/lockedTableDataFragment.d.ts +0 -2
- package/dist/cjs/graphql/queries/lockedTableDataFragment.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/lockedTableDataFragment.js +0 -24
- package/dist/cjs/graphql/queries/lockedTableDataFragment.js.map +0 -1
- package/dist/cjs/graphql/queries/nftHolders.d.ts +0 -2
- package/dist/cjs/graphql/queries/nftHolders.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/nftHolders.js +0 -23
- package/dist/cjs/graphql/queries/nftHolders.js.map +0 -1
- package/dist/cjs/graphql/queries/pools.d.ts +0 -2
- package/dist/cjs/graphql/queries/pools.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/pools.js +0 -57
- package/dist/cjs/graphql/queries/pools.js.map +0 -1
- package/dist/cjs/graphql/queries/receiptData.d.ts +0 -2
- package/dist/cjs/graphql/queries/receiptData.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/receiptData.js +0 -21
- package/dist/cjs/graphql/queries/receiptData.js.map +0 -1
- package/dist/cjs/graphql/queries/userVaultBalances.d.ts +0 -2
- package/dist/cjs/graphql/queries/userVaultBalances.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/userVaultBalances.js +0 -62
- package/dist/cjs/graphql/queries/userVaultBalances.js.map +0 -1
- package/dist/cjs/graphql/queries/userVaults.d.ts +0 -2
- package/dist/cjs/graphql/queries/userVaults.d.ts.map +0 -1
- package/dist/cjs/graphql/queries/userVaults.js +0 -62
- package/dist/cjs/graphql/queries/userVaults.js.map +0 -1
- package/dist/cjs/graphql/queries.d.ts +0 -15
- package/dist/cjs/graphql/queries.d.ts.map +0 -1
- package/dist/cjs/graphql/queries.js +0 -86
- package/dist/cjs/graphql/queries.js.map +0 -1
- package/dist/cjs/graphql/types.d.ts +0 -112
- package/dist/cjs/graphql/types.d.ts.map +0 -1
- package/dist/cjs/graphql/types.js +0 -3
- package/dist/cjs/graphql/types.js.map +0 -1
- package/dist/cjs/sui-sdk/client.d.ts +0 -44
- package/dist/cjs/sui-sdk/client.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/client.js +0 -90
- package/dist/cjs/sui-sdk/client.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.d.ts +0 -10
- package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js +0 -128
- package/dist/cjs/sui-sdk/events/fetchAfterTransactionEvents.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.d.ts +0 -4
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.js +0 -20
- package/dist/cjs/sui-sdk/events/fetchAirdropClaimEvent.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +0 -9
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +0 -406
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts +0 -4
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js +0 -47
- package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.d.ts +0 -4
- package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.js +0 -453
- package/dist/cjs/sui-sdk/events/fetchEvents.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +0 -4
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js +0 -45
- package/dist/cjs/sui-sdk/events/fetchLiquidityChangeEvents.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.d.ts +0 -9
- package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.js +0 -41
- package/dist/cjs/sui-sdk/events/fetchMultiCategoryEvents.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts +0 -7
- package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js +0 -91
- package/dist/cjs/sui-sdk/events/fetchRebalanceEvents.js.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.d.ts +0 -4
- package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.js +0 -28
- package/dist/cjs/sui-sdk/events/fetchWithdrawV2Events.js.map +0 -1
- package/dist/cjs/sui-sdk/events/parseData.d.ts +0 -6
- package/dist/cjs/sui-sdk/events/parseData.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/parseData.js +0 -33
- package/dist/cjs/sui-sdk/events/parseData.js.map +0 -1
- package/dist/cjs/sui-sdk/events/types.d.ts +0 -238
- package/dist/cjs/sui-sdk/events/types.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/events/types.js +0 -9
- package/dist/cjs/sui-sdk/events/types.js.map +0 -1
- package/dist/cjs/sui-sdk/functions/fetchTableData.d.ts +0 -50
- package/dist/cjs/sui-sdk/functions/fetchTableData.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/functions/fetchTableData.js +0 -77
- package/dist/cjs/sui-sdk/functions/fetchTableData.js.map +0 -1
- package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts +0 -3
- package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js +0 -73
- package/dist/cjs/sui-sdk/functions/fetchUserVaultBalances.js.map +0 -1
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts +0 -3
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.js +0 -50
- package/dist/cjs/sui-sdk/functions/fetchUserVaults.js.map +0 -1
- package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts +0 -19
- package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js +0 -314
- package/dist/cjs/sui-sdk/functions/getPortfolioAmounts.js.map +0 -1
- package/dist/cjs/sui-sdk/functions/getPositionRange.d.ts +0 -12
- package/dist/cjs/sui-sdk/functions/getPositionRange.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/functions/getPositionRange.js +0 -88
- package/dist/cjs/sui-sdk/functions/getPositionRange.js.map +0 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +0 -69
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.js +0 -768
- package/dist/cjs/sui-sdk/functions/getReceipts.js.map +0 -1
- package/dist/cjs/sui-sdk/transactions/constants.d.ts +0 -4
- package/dist/cjs/sui-sdk/transactions/constants.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/transactions/constants.js +0 -90
- package/dist/cjs/sui-sdk/transactions/constants.js.map +0 -1
- package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts +0 -5
- package/dist/cjs/sui-sdk/transactions/fetchTransactions.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/transactions/fetchTransactions.js +0 -65
- package/dist/cjs/sui-sdk/transactions/fetchTransactions.js.map +0 -1
- package/dist/cjs/sui-sdk/transactions/types.d.ts +0 -9
- package/dist/cjs/sui-sdk/transactions/types.d.ts.map +0 -1
- package/dist/cjs/sui-sdk/transactions/types.js +0 -3
- package/dist/cjs/sui-sdk/transactions/types.js.map +0 -1
- package/dist/cjs/transactions/7k.d.ts +0 -8
- package/dist/cjs/transactions/7k.d.ts.map +0 -1
- package/dist/cjs/transactions/7k.js +0 -34
- package/dist/cjs/transactions/7k.js.map +0 -1
- package/dist/cjs/transactions/alpha.d.ts +0 -6
- package/dist/cjs/transactions/alpha.d.ts.map +0 -1
- package/dist/cjs/transactions/alpha.js +0 -110
- package/dist/cjs/transactions/alpha.js.map +0 -1
- package/dist/cjs/transactions/alphaVault.d.ts +0 -33
- package/dist/cjs/transactions/alphaVault.d.ts.map +0 -1
- package/dist/cjs/transactions/alphaVault.js +0 -449
- package/dist/cjs/transactions/alphaVault.js.map +0 -1
- package/dist/cjs/transactions/alphalend.d.ts +0 -30
- package/dist/cjs/transactions/alphalend.d.ts.map +0 -1
- package/dist/cjs/transactions/alphalend.js +0 -286
- package/dist/cjs/transactions/alphalend.js.map +0 -1
- package/dist/cjs/transactions/blueRewards.d.ts +0 -15
- package/dist/cjs/transactions/blueRewards.d.ts.map +0 -1
- package/dist/cjs/transactions/blueRewards.js +0 -395
- package/dist/cjs/transactions/blueRewards.js.map +0 -1
- package/dist/cjs/transactions/bluefin.d.ts +0 -60
- package/dist/cjs/transactions/bluefin.d.ts.map +0 -1
- package/dist/cjs/transactions/bluefin.js +0 -3078
- package/dist/cjs/transactions/bluefin.js.map +0 -1
- package/dist/cjs/transactions/bucket.d.ts +0 -8
- package/dist/cjs/transactions/bucket.d.ts.map +0 -1
- package/dist/cjs/transactions/bucket.js +0 -144
- package/dist/cjs/transactions/bucket.js.map +0 -1
- package/dist/cjs/transactions/cetus.d.ts +0 -27
- package/dist/cjs/transactions/cetus.d.ts.map +0 -1
- package/dist/cjs/transactions/cetus.js +0 -466
- package/dist/cjs/transactions/cetus.js.map +0 -1
- package/dist/cjs/transactions/cetusSwap.d.ts +0 -15
- package/dist/cjs/transactions/cetusSwap.d.ts.map +0 -1
- package/dist/cjs/transactions/cetusSwap.js +0 -74
- package/dist/cjs/transactions/cetusSwap.js.map +0 -1
- package/dist/cjs/transactions/collect_rewards.d.ts +0 -11
- package/dist/cjs/transactions/collect_rewards.d.ts.map +0 -1
- package/dist/cjs/transactions/collect_rewards.js +0 -1292
- package/dist/cjs/transactions/collect_rewards.js.map +0 -1
- package/dist/cjs/transactions/deposit.d.ts +0 -15
- package/dist/cjs/transactions/deposit.d.ts.map +0 -1
- package/dist/cjs/transactions/deposit.js +0 -194
- package/dist/cjs/transactions/deposit.js.map +0 -1
- package/dist/cjs/transactions/get_navi_rewards.d.ts +0 -11
- package/dist/cjs/transactions/get_navi_rewards.d.ts.map +0 -1
- package/dist/cjs/transactions/get_navi_rewards.js +0 -39
- package/dist/cjs/transactions/get_navi_rewards.js.map +0 -1
- package/dist/cjs/transactions/navi-looping.d.ts +0 -55
- package/dist/cjs/transactions/navi-looping.d.ts.map +0 -1
- package/dist/cjs/transactions/navi-looping.js +0 -1718
- package/dist/cjs/transactions/navi-looping.js.map +0 -1
- package/dist/cjs/transactions/navi.d.ts +0 -9
- package/dist/cjs/transactions/navi.d.ts.map +0 -1
- package/dist/cjs/transactions/navi.js +0 -2541
- package/dist/cjs/transactions/navi.js.map +0 -1
- package/dist/cjs/transactions/naviOracle.d.ts +0 -5
- package/dist/cjs/transactions/naviOracle.d.ts.map +0 -1
- package/dist/cjs/transactions/naviOracle.js +0 -28
- package/dist/cjs/transactions/naviOracle.js.map +0 -1
- package/dist/cjs/transactions/newZapDeposit.d.ts +0 -19
- package/dist/cjs/transactions/newZapDeposit.d.ts.map +0 -1
- package/dist/cjs/transactions/newZapDeposit.js +0 -1622
- package/dist/cjs/transactions/newZapDeposit.js.map +0 -1
- package/dist/cjs/transactions/slush.d.ts +0 -16
- package/dist/cjs/transactions/slush.d.ts.map +0 -1
- package/dist/cjs/transactions/slush.js +0 -219
- package/dist/cjs/transactions/slush.js.map +0 -1
- package/dist/cjs/transactions/types.d.ts +0 -17
- package/dist/cjs/transactions/types.d.ts.map +0 -1
- package/dist/cjs/transactions/types.js +0 -3
- package/dist/cjs/transactions/types.js.map +0 -1
- package/dist/cjs/transactions/withdraw.d.ts +0 -9
- package/dist/cjs/transactions/withdraw.d.ts.map +0 -1
- package/dist/cjs/transactions/withdraw.js +0 -132
- package/dist/cjs/transactions/withdraw.js.map +0 -1
- package/dist/cjs/transactions/zapDeposit.d.ts +0 -6
- package/dist/cjs/transactions/zapDeposit.d.ts.map +0 -1
- package/dist/cjs/transactions/zapDeposit.js +0 -1731
- package/dist/cjs/transactions/zapDeposit.js.map +0 -1
- package/dist/cjs/types.d.ts +0 -201
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/types.js +0 -3
- package/dist/cjs/types.js.map +0 -1
- package/dist/cjs/utils/clmm/prices.d.ts +0 -20
- package/dist/cjs/utils/clmm/prices.d.ts.map +0 -1
- package/dist/cjs/utils/clmm/prices.js +0 -321
- package/dist/cjs/utils/clmm/prices.js.map +0 -1
- package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.d.ts +0 -15
- package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.d.ts.map +0 -1
- package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js +0 -200
- package/dist/cjs/utils/clmm/tokenAmountFromLiquidity.js.map +0 -1
- package/dist/cjs/utils/clmm/types.d.ts +0 -25
- package/dist/cjs/utils/clmm/types.d.ts.map +0 -1
- package/dist/cjs/utils/clmm/types.js +0 -3
- package/dist/cjs/utils/clmm/types.js.map +0 -1
- package/dist/cjs/utils/getReceipts.d.ts +0 -4
- package/dist/cjs/utils/getReceipts.d.ts.map +0 -1
- package/dist/cjs/utils/getReceipts.js +0 -47
- package/dist/cjs/utils/getReceipts.js.map +0 -1
- package/dist/cjs/utils/hop.d.ts +0 -16
- package/dist/cjs/utils/hop.d.ts.map +0 -1
- package/dist/cjs/utils/hop.js +0 -130
- package/dist/cjs/utils/hop.js.map +0 -1
- package/dist/cjs/utils/prices.d.ts +0 -15
- package/dist/cjs/utils/prices.d.ts.map +0 -1
- package/dist/cjs/utils/prices.js +0 -168
- package/dist/cjs/utils/prices.js.map +0 -1
- package/dist/cjs/utils/simpleCache.d.ts +0 -14
- package/dist/cjs/utils/simpleCache.d.ts.map +0 -1
- package/dist/cjs/utils/simpleCache.js +0 -92
- package/dist/cjs/utils/simpleCache.js.map +0 -1
- package/dist/cjs/utils/types.d.ts +0 -5
- package/dist/cjs/utils/types.d.ts.map +0 -1
- package/dist/cjs/utils/types.js +0 -3
- package/dist/cjs/utils/types.js.map +0 -1
- package/dist/cjs/utils/userHoldings.d.ts +0 -10
- package/dist/cjs/utils/userHoldings.d.ts.map +0 -1
- package/dist/cjs/utils/userHoldings.js +0 -229
- package/dist/cjs/utils/userHoldings.js.map +0 -1
- package/dist/cjs/vaultFunctions.d.ts +0 -8
- package/dist/cjs/vaultFunctions.d.ts.map +0 -1
- package/dist/cjs/vaultFunctions.js +0 -36
- package/dist/cjs/vaultFunctions.js.map +0 -1
- package/dist/esm/adminFunctions.d.ts +0 -33
- package/dist/esm/adminFunctions.d.ts.map +0 -1
- package/dist/esm/adminFunctions.js +0 -290
- package/dist/esm/adminFunctions.js.map +0 -1
- package/dist/esm/common/alphaTypes.d.ts +0 -110
- package/dist/esm/common/alphaTypes.d.ts.map +0 -1
- package/dist/esm/common/alphaTypes.js +0 -2
- package/dist/esm/common/alphaTypes.js.map +0 -1
- package/dist/esm/common/cetus_mainnet_config.d.ts +0 -3
- package/dist/esm/common/cetus_mainnet_config.d.ts.map +0 -1
- package/dist/esm/common/cetus_mainnet_config.js +0 -47
- package/dist/esm/common/cetus_mainnet_config.js.map +0 -1
- package/dist/esm/common/coins.d.ts +0 -6
- package/dist/esm/common/coins.d.ts.map +0 -1
- package/dist/esm/common/coins.js +0 -310
- package/dist/esm/common/coins.js.map +0 -1
- package/dist/esm/common/constants.d.ts +0 -3187
- package/dist/esm/common/constants.d.ts.map +0 -1
- package/dist/esm/common/constants.js +0 -2560
- package/dist/esm/common/constants.js.map +0 -1
- package/dist/esm/common/maps.d.ts +0 -120
- package/dist/esm/common/maps.d.ts.map +0 -1
- package/dist/esm/common/maps.js +0 -2516
- package/dist/esm/common/maps.js.map +0 -1
- package/dist/esm/common/pyth.d.ts +0 -7
- package/dist/esm/common/pyth.d.ts.map +0 -1
- package/dist/esm/common/pyth.js +0 -2
- package/dist/esm/common/pyth.js.map +0 -1
- package/dist/esm/common/types.d.ts +0 -736
- package/dist/esm/common/types.d.ts.map +0 -1
- package/dist/esm/common/types.js.map +0 -1
- package/dist/esm/example.d.ts +0 -3
- package/dist/esm/example.d.ts.map +0 -1
- package/dist/esm/example.js +0 -38
- package/dist/esm/example.js.map +0 -1
- package/dist/esm/getAirdropShare.d.ts +0 -3
- package/dist/esm/getAirdropShare.d.ts.map +0 -1
- package/dist/esm/getAirdropShare.js +0 -7
- package/dist/esm/getAirdropShare.js.map +0 -1
- package/dist/esm/getAllVaults.d.ts +0 -7
- package/dist/esm/getAllVaults.d.ts.map +0 -1
- package/dist/esm/getAllVaults.js +0 -34
- package/dist/esm/getAllVaults.js.map +0 -1
- package/dist/esm/getAlphaUnlocks.d.ts +0 -15
- package/dist/esm/getAlphaUnlocks.d.ts.map +0 -1
- package/dist/esm/getAlphaUnlocks.js +0 -18
- package/dist/esm/getAlphaUnlocks.js.map +0 -1
- package/dist/esm/getAprs.d.ts +0 -14
- package/dist/esm/getAprs.d.ts.map +0 -1
- package/dist/esm/getAprs.js +0 -297
- package/dist/esm/getAprs.js.map +0 -1
- package/dist/esm/getLastAutoCompoundTime.d.ts +0 -4
- package/dist/esm/getLastAutoCompoundTime.d.ts.map +0 -1
- package/dist/esm/getLastAutoCompoundTime.js +0 -15
- package/dist/esm/getLastAutoCompoundTime.js.map +0 -1
- package/dist/esm/getRebalanceHistory.d.ts +0 -6
- package/dist/esm/getRebalanceHistory.d.ts.map +0 -1
- package/dist/esm/getRebalanceHistory.js +0 -22
- package/dist/esm/getRebalanceHistory.js.map +0 -1
- package/dist/esm/getTvls.d.ts +0 -10
- package/dist/esm/getTvls.d.ts.map +0 -1
- package/dist/esm/getTvls.js +0 -130
- package/dist/esm/getTvls.js.map +0 -1
- package/dist/esm/getVaultBalances.d.ts +0 -13
- package/dist/esm/getVaultBalances.d.ts.map +0 -1
- package/dist/esm/getVaultBalances.js +0 -96
- package/dist/esm/getVaultBalances.js.map +0 -1
- package/dist/esm/getVaults.d.ts +0 -8
- package/dist/esm/getVaults.d.ts.map +0 -1
- package/dist/esm/getVaults.js +0 -29
- package/dist/esm/getVaults.js.map +0 -1
- package/dist/esm/graphql/client.d.ts +0 -4
- package/dist/esm/graphql/client.d.ts.map +0 -1
- package/dist/esm/graphql/client.js +0 -12
- package/dist/esm/graphql/client.js.map +0 -1
- package/dist/esm/graphql/executeMutations.d.ts +0 -19
- package/dist/esm/graphql/executeMutations.d.ts.map +0 -1
- package/dist/esm/graphql/executeMutations.js +0 -34
- package/dist/esm/graphql/executeMutations.js.map +0 -1
- package/dist/esm/graphql/fetchAutoCompoundingEventsGql.d.ts +0 -28
- package/dist/esm/graphql/fetchAutoCompoundingEventsGql.d.ts.map +0 -1
- package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js +0 -117
- package/dist/esm/graphql/fetchAutoCompoundingEventsGql.js.map +0 -1
- package/dist/esm/graphql/fetchData.d.ts +0 -35
- package/dist/esm/graphql/fetchData.d.ts.map +0 -1
- package/dist/esm/graphql/fetchData.js +0 -89
- package/dist/esm/graphql/fetchData.js.map +0 -1
- package/dist/esm/graphql/fetchNftHolders.d.ts +0 -4
- package/dist/esm/graphql/fetchNftHolders.d.ts.map +0 -1
- package/dist/esm/graphql/fetchNftHolders.js +0 -33
- package/dist/esm/graphql/fetchNftHolders.js.map +0 -1
- package/dist/esm/graphql/fetchReceipts.d.ts +0 -4
- package/dist/esm/graphql/fetchReceipts.d.ts.map +0 -1
- package/dist/esm/graphql/fetchReceipts.js +0 -34
- package/dist/esm/graphql/fetchReceipts.js.map +0 -1
- package/dist/esm/graphql/getMultiReceipts.d.ts +0 -4
- package/dist/esm/graphql/getMultiReceipts.d.ts.map +0 -1
- package/dist/esm/graphql/getMultiReceipts.js +0 -114
- package/dist/esm/graphql/getMultiReceipts.js.map +0 -1
- package/dist/esm/graphql/mutations.d.ts +0 -4
- package/dist/esm/graphql/mutations.d.ts.map +0 -1
- package/dist/esm/graphql/mutations.js +0 -30
- package/dist/esm/graphql/mutations.js.map +0 -1
- package/dist/esm/graphql/parseData.d.ts +0 -3
- package/dist/esm/graphql/parseData.d.ts.map +0 -1
- package/dist/esm/graphql/parseData.js +0 -7
- package/dist/esm/graphql/parseData.js.map +0 -1
- package/dist/esm/graphql/parseLockedTableId.d.ts +0 -8
- package/dist/esm/graphql/parseLockedTableId.d.ts.map +0 -1
- package/dist/esm/graphql/parseLockedTableId.js +0 -13
- package/dist/esm/graphql/parseLockedTableId.js.map +0 -1
- package/dist/esm/graphql/queries/autoCompoundEvents.d.ts +0 -2
- package/dist/esm/graphql/queries/autoCompoundEvents.d.ts.map +0 -1
- package/dist/esm/graphql/queries/autoCompoundEvents.js +0 -16
- package/dist/esm/graphql/queries/autoCompoundEvents.js.map +0 -1
- package/dist/esm/graphql/queries/cetusPools.d.ts +0 -2
- package/dist/esm/graphql/queries/cetusPools.d.ts.map +0 -1
- package/dist/esm/graphql/queries/cetusPools.js +0 -36
- package/dist/esm/graphql/queries/cetusPools.js.map +0 -1
- package/dist/esm/graphql/queries/getMultiReceipts.d.ts +0 -3
- package/dist/esm/graphql/queries/getMultiReceipts.d.ts.map +0 -1
- package/dist/esm/graphql/queries/getMultiReceipts.js +0 -56
- package/dist/esm/graphql/queries/getMultiReceipts.js.map +0 -1
- package/dist/esm/graphql/queries/investors.d.ts +0 -2
- package/dist/esm/graphql/queries/investors.d.ts.map +0 -1
- package/dist/esm/graphql/queries/investors.js +0 -36
- package/dist/esm/graphql/queries/investors.js.map +0 -1
- package/dist/esm/graphql/queries/lockedTableData.d.ts +0 -2
- package/dist/esm/graphql/queries/lockedTableData.d.ts.map +0 -1
- package/dist/esm/graphql/queries/lockedTableData.js +0 -27
- package/dist/esm/graphql/queries/lockedTableData.js.map +0 -1
- package/dist/esm/graphql/queries/lockedTableDataFragment.d.ts +0 -2
- package/dist/esm/graphql/queries/lockedTableDataFragment.d.ts.map +0 -1
- package/dist/esm/graphql/queries/lockedTableDataFragment.js +0 -21
- package/dist/esm/graphql/queries/lockedTableDataFragment.js.map +0 -1
- package/dist/esm/graphql/queries/nftHolders.d.ts +0 -2
- package/dist/esm/graphql/queries/nftHolders.d.ts.map +0 -1
- package/dist/esm/graphql/queries/nftHolders.js +0 -20
- package/dist/esm/graphql/queries/nftHolders.js.map +0 -1
- package/dist/esm/graphql/queries/pools.d.ts +0 -2
- package/dist/esm/graphql/queries/pools.d.ts.map +0 -1
- package/dist/esm/graphql/queries/pools.js +0 -54
- package/dist/esm/graphql/queries/pools.js.map +0 -1
- package/dist/esm/graphql/queries/receiptData.d.ts +0 -2
- package/dist/esm/graphql/queries/receiptData.d.ts.map +0 -1
- package/dist/esm/graphql/queries/receiptData.js +0 -18
- package/dist/esm/graphql/queries/receiptData.js.map +0 -1
- package/dist/esm/graphql/queries/userVaultBalances.d.ts +0 -2
- package/dist/esm/graphql/queries/userVaultBalances.d.ts.map +0 -1
- package/dist/esm/graphql/queries/userVaultBalances.js +0 -59
- package/dist/esm/graphql/queries/userVaultBalances.js.map +0 -1
- package/dist/esm/graphql/queries/userVaults.d.ts +0 -2
- package/dist/esm/graphql/queries/userVaults.d.ts.map +0 -1
- package/dist/esm/graphql/queries/userVaults.js +0 -59
- package/dist/esm/graphql/queries/userVaults.js.map +0 -1
- package/dist/esm/graphql/queries.d.ts +0 -15
- package/dist/esm/graphql/queries.d.ts.map +0 -1
- package/dist/esm/graphql/queries.js +0 -83
- package/dist/esm/graphql/queries.js.map +0 -1
- package/dist/esm/graphql/types.d.ts +0 -112
- package/dist/esm/graphql/types.d.ts.map +0 -1
- package/dist/esm/graphql/types.js +0 -2
- package/dist/esm/graphql/types.js.map +0 -1
- package/dist/esm/sui-sdk/client.d.ts +0 -44
- package/dist/esm/sui-sdk/client.d.ts.map +0 -1
- package/dist/esm/sui-sdk/client.js +0 -82
- package/dist/esm/sui-sdk/client.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.d.ts +0 -10
- package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js +0 -125
- package/dist/esm/sui-sdk/events/fetchAfterTransactionEvents.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.d.ts +0 -4
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.js +0 -17
- package/dist/esm/sui-sdk/events/fetchAirdropClaimEvent.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts +0 -9
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +0 -401
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts +0 -4
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js +0 -44
- package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchEvents.d.ts +0 -4
- package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchEvents.js +0 -450
- package/dist/esm/sui-sdk/events/fetchEvents.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts +0 -4
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js +0 -42
- package/dist/esm/sui-sdk/events/fetchLiquidityChangeEvents.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.d.ts +0 -9
- package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.js +0 -38
- package/dist/esm/sui-sdk/events/fetchMultiCategoryEvents.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts +0 -7
- package/dist/esm/sui-sdk/events/fetchRebalanceEvents.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js +0 -86
- package/dist/esm/sui-sdk/events/fetchRebalanceEvents.js.map +0 -1
- package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.d.ts +0 -4
- package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.js +0 -25
- package/dist/esm/sui-sdk/events/fetchWithdrawV2Events.js.map +0 -1
- package/dist/esm/sui-sdk/events/parseData.d.ts +0 -6
- package/dist/esm/sui-sdk/events/parseData.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/parseData.js +0 -29
- package/dist/esm/sui-sdk/events/parseData.js.map +0 -1
- package/dist/esm/sui-sdk/events/types.d.ts +0 -238
- package/dist/esm/sui-sdk/events/types.d.ts.map +0 -1
- package/dist/esm/sui-sdk/events/types.js +0 -6
- package/dist/esm/sui-sdk/events/types.js.map +0 -1
- package/dist/esm/sui-sdk/functions/fetchTableData.d.ts +0 -50
- package/dist/esm/sui-sdk/functions/fetchTableData.d.ts.map +0 -1
- package/dist/esm/sui-sdk/functions/fetchTableData.js +0 -73
- package/dist/esm/sui-sdk/functions/fetchTableData.js.map +0 -1
- package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts +0 -3
- package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.d.ts.map +0 -1
- package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js +0 -70
- package/dist/esm/sui-sdk/functions/fetchUserVaultBalances.js.map +0 -1
- package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts +0 -3
- package/dist/esm/sui-sdk/functions/fetchUserVaults.d.ts.map +0 -1
- package/dist/esm/sui-sdk/functions/fetchUserVaults.js +0 -47
- package/dist/esm/sui-sdk/functions/fetchUserVaults.js.map +0 -1
- package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts +0 -19
- package/dist/esm/sui-sdk/functions/getPortfolioAmounts.d.ts.map +0 -1
- package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js +0 -303
- package/dist/esm/sui-sdk/functions/getPortfolioAmounts.js.map +0 -1
- package/dist/esm/sui-sdk/functions/getPositionRange.d.ts +0 -12
- package/dist/esm/sui-sdk/functions/getPositionRange.d.ts.map +0 -1
- package/dist/esm/sui-sdk/functions/getPositionRange.js +0 -84
- package/dist/esm/sui-sdk/functions/getPositionRange.js.map +0 -1
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts +0 -69
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +0 -1
- package/dist/esm/sui-sdk/functions/getReceipts.js +0 -751
- package/dist/esm/sui-sdk/functions/getReceipts.js.map +0 -1
- package/dist/esm/sui-sdk/transactions/constants.d.ts +0 -4
- package/dist/esm/sui-sdk/transactions/constants.d.ts.map +0 -1
- package/dist/esm/sui-sdk/transactions/constants.js +0 -87
- package/dist/esm/sui-sdk/transactions/constants.js.map +0 -1
- package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts +0 -5
- package/dist/esm/sui-sdk/transactions/fetchTransactions.d.ts.map +0 -1
- package/dist/esm/sui-sdk/transactions/fetchTransactions.js +0 -62
- package/dist/esm/sui-sdk/transactions/fetchTransactions.js.map +0 -1
- package/dist/esm/sui-sdk/transactions/types.d.ts +0 -9
- package/dist/esm/sui-sdk/transactions/types.d.ts.map +0 -1
- package/dist/esm/sui-sdk/transactions/types.js +0 -2
- package/dist/esm/sui-sdk/transactions/types.js.map +0 -1
- package/dist/esm/transactions/7k.d.ts +0 -8
- package/dist/esm/transactions/7k.d.ts.map +0 -1
- package/dist/esm/transactions/7k.js +0 -30
- package/dist/esm/transactions/7k.js.map +0 -1
- package/dist/esm/transactions/alpha.d.ts +0 -6
- package/dist/esm/transactions/alpha.d.ts.map +0 -1
- package/dist/esm/transactions/alpha.js +0 -105
- package/dist/esm/transactions/alpha.js.map +0 -1
- package/dist/esm/transactions/alphaVault.d.ts +0 -33
- package/dist/esm/transactions/alphaVault.d.ts.map +0 -1
- package/dist/esm/transactions/alphaVault.js +0 -441
- package/dist/esm/transactions/alphaVault.js.map +0 -1
- package/dist/esm/transactions/alphalend.d.ts +0 -30
- package/dist/esm/transactions/alphalend.d.ts.map +0 -1
- package/dist/esm/transactions/alphalend.js +0 -277
- package/dist/esm/transactions/alphalend.js.map +0 -1
- package/dist/esm/transactions/blueRewards.d.ts +0 -15
- package/dist/esm/transactions/blueRewards.d.ts.map +0 -1
- package/dist/esm/transactions/blueRewards.js +0 -357
- package/dist/esm/transactions/blueRewards.js.map +0 -1
- package/dist/esm/transactions/bluefin.d.ts +0 -60
- package/dist/esm/transactions/bluefin.d.ts.map +0 -1
- package/dist/esm/transactions/bluefin.js +0 -3060
- package/dist/esm/transactions/bluefin.js.map +0 -1
- package/dist/esm/transactions/bucket.d.ts +0 -8
- package/dist/esm/transactions/bucket.d.ts.map +0 -1
- package/dist/esm/transactions/bucket.js +0 -140
- package/dist/esm/transactions/bucket.js.map +0 -1
- package/dist/esm/transactions/cetus.d.ts +0 -27
- package/dist/esm/transactions/cetus.d.ts.map +0 -1
- package/dist/esm/transactions/cetus.js +0 -457
- package/dist/esm/transactions/cetus.js.map +0 -1
- package/dist/esm/transactions/cetusSwap.d.ts +0 -15
- package/dist/esm/transactions/cetusSwap.d.ts.map +0 -1
- package/dist/esm/transactions/cetusSwap.js +0 -72
- package/dist/esm/transactions/cetusSwap.js.map +0 -1
- package/dist/esm/transactions/collect_rewards.d.ts +0 -11
- package/dist/esm/transactions/collect_rewards.d.ts.map +0 -1
- package/dist/esm/transactions/collect_rewards.js +0 -1286
- package/dist/esm/transactions/collect_rewards.js.map +0 -1
- package/dist/esm/transactions/deposit.d.ts +0 -15
- package/dist/esm/transactions/deposit.d.ts.map +0 -1
- package/dist/esm/transactions/deposit.js +0 -185
- package/dist/esm/transactions/deposit.js.map +0 -1
- package/dist/esm/transactions/get_navi_rewards.d.ts +0 -11
- package/dist/esm/transactions/get_navi_rewards.d.ts.map +0 -1
- package/dist/esm/transactions/get_navi_rewards.js +0 -36
- package/dist/esm/transactions/get_navi_rewards.js.map +0 -1
- package/dist/esm/transactions/navi-looping.d.ts +0 -55
- package/dist/esm/transactions/navi-looping.d.ts.map +0 -1
- package/dist/esm/transactions/navi-looping.js +0 -1703
- package/dist/esm/transactions/navi-looping.js.map +0 -1
- package/dist/esm/transactions/navi.d.ts +0 -9
- package/dist/esm/transactions/navi.d.ts.map +0 -1
- package/dist/esm/transactions/navi.js +0 -2537
- package/dist/esm/transactions/navi.js.map +0 -1
- package/dist/esm/transactions/naviOracle.d.ts +0 -5
- package/dist/esm/transactions/naviOracle.d.ts.map +0 -1
- package/dist/esm/transactions/naviOracle.js +0 -25
- package/dist/esm/transactions/naviOracle.js.map +0 -1
- package/dist/esm/transactions/newZapDeposit.d.ts +0 -19
- package/dist/esm/transactions/newZapDeposit.d.ts.map +0 -1
- package/dist/esm/transactions/newZapDeposit.js +0 -1617
- package/dist/esm/transactions/newZapDeposit.js.map +0 -1
- package/dist/esm/transactions/slush.d.ts +0 -16
- package/dist/esm/transactions/slush.d.ts.map +0 -1
- package/dist/esm/transactions/slush.js +0 -213
- package/dist/esm/transactions/slush.js.map +0 -1
- package/dist/esm/transactions/types.d.ts +0 -17
- package/dist/esm/transactions/types.d.ts.map +0 -1
- package/dist/esm/transactions/types.js +0 -2
- package/dist/esm/transactions/types.js.map +0 -1
- package/dist/esm/transactions/withdraw.d.ts +0 -9
- package/dist/esm/transactions/withdraw.d.ts.map +0 -1
- package/dist/esm/transactions/withdraw.js +0 -127
- package/dist/esm/transactions/withdraw.js.map +0 -1
- package/dist/esm/transactions/zapDeposit.d.ts +0 -6
- package/dist/esm/transactions/zapDeposit.d.ts.map +0 -1
- package/dist/esm/transactions/zapDeposit.js +0 -1727
- package/dist/esm/transactions/zapDeposit.js.map +0 -1
- package/dist/esm/types.d.ts +0 -201
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/types.js +0 -2
- package/dist/esm/types.js.map +0 -1
- package/dist/esm/utils/clmm/prices.d.ts +0 -20
- package/dist/esm/utils/clmm/prices.d.ts.map +0 -1
- package/dist/esm/utils/clmm/prices.js +0 -313
- package/dist/esm/utils/clmm/prices.js.map +0 -1
- package/dist/esm/utils/clmm/tokenAmountFromLiquidity.d.ts +0 -15
- package/dist/esm/utils/clmm/tokenAmountFromLiquidity.d.ts.map +0 -1
- package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js +0 -192
- package/dist/esm/utils/clmm/tokenAmountFromLiquidity.js.map +0 -1
- package/dist/esm/utils/clmm/types.d.ts +0 -25
- package/dist/esm/utils/clmm/types.d.ts.map +0 -1
- package/dist/esm/utils/clmm/types.js +0 -2
- package/dist/esm/utils/clmm/types.js.map +0 -1
- package/dist/esm/utils/getReceipts.d.ts +0 -4
- package/dist/esm/utils/getReceipts.d.ts.map +0 -1
- package/dist/esm/utils/getReceipts.js +0 -44
- package/dist/esm/utils/getReceipts.js.map +0 -1
- package/dist/esm/utils/hop.d.ts +0 -16
- package/dist/esm/utils/hop.d.ts.map +0 -1
- package/dist/esm/utils/hop.js +0 -122
- package/dist/esm/utils/hop.js.map +0 -1
- package/dist/esm/utils/prices.d.ts +0 -15
- package/dist/esm/utils/prices.d.ts.map +0 -1
- package/dist/esm/utils/prices.js +0 -161
- package/dist/esm/utils/prices.js.map +0 -1
- package/dist/esm/utils/simpleCache.d.ts +0 -14
- package/dist/esm/utils/simpleCache.d.ts.map +0 -1
- package/dist/esm/utils/simpleCache.js +0 -88
- package/dist/esm/utils/simpleCache.js.map +0 -1
- package/dist/esm/utils/types.d.ts +0 -5
- package/dist/esm/utils/types.d.ts.map +0 -1
- package/dist/esm/utils/types.js +0 -2
- package/dist/esm/utils/types.js.map +0 -1
- package/dist/esm/utils/userHoldings.d.ts +0 -10
- package/dist/esm/utils/userHoldings.d.ts.map +0 -1
- package/dist/esm/utils/userHoldings.js +0 -223
- package/dist/esm/utils/userHoldings.js.map +0 -1
- package/dist/esm/vaultFunctions.d.ts +0 -8
- package/dist/esm/vaultFunctions.d.ts.map +0 -1
- package/dist/esm/vaultFunctions.js +0 -31
- package/dist/esm/vaultFunctions.js.map +0 -1
- package/docs/assets/hierarchy.js +0 -1
- package/docs/assets/highlight.css +0 -78
- package/docs/assets/icons.js +0 -18
- package/docs/assets/icons.svg +0 -1
- package/docs/assets/main.js +0 -60
- package/docs/assets/navigation.js +0 -1
- package/docs/assets/search.js +0 -1
- package/docs/assets/style.css +0 -1633
- package/docs/functions/addAirdropCoin.html +0 -1
- package/docs/functions/alphaLpBreakdown.html +0 -1
- package/docs/functions/cetusLpBreakdown.html +0 -1
- package/docs/functions/claimAirdropTx.html +0 -1
- package/docs/functions/claimRewardTxb.html +0 -1
- package/docs/functions/claimRewardsTxb.html +0 -1
- package/docs/functions/claimWithdrawAlphaTx.html +0 -1
- package/docs/functions/coinAmountToXTokensDoubleAsset.html +0 -1
- package/docs/functions/coinAmountToXTokensSingleAsset.html +0 -1
- package/docs/functions/coinsInPool.html +0 -1
- package/docs/functions/collectAndSwapRewardsLyf.html +0 -1
- package/docs/functions/collectAndSwapRewardsSingleLoop.html +0 -1
- package/docs/functions/collectRewardTxb.html +0 -1
- package/docs/functions/collectRewards.html +0 -1
- package/docs/functions/collectRewardsAndSwapSlush.html +0 -1
- package/docs/functions/collectUnsuppliedBalance.html +0 -1
- package/docs/functions/deposit.html +0 -1
- package/docs/functions/depositAlphaTx.html +0 -1
- package/docs/functions/depositDoubleAssetTxb.html +0 -1
- package/docs/functions/depositSingleAssetTxb.html +0 -1
- package/docs/functions/fetchAfterTransactionEvents.html +0 -1
- package/docs/functions/fetchAirdropClaimEvents.html +0 -1
- package/docs/functions/fetchAutoCompoundingEvents.html +0 -1
- package/docs/functions/fetchAutoCompoundingEventsGql.html +0 -1
- package/docs/functions/fetchCetusPools.html +0 -1
- package/docs/functions/fetchChainIdentifier.html +0 -1
- package/docs/functions/fetchCheckRatioEvents.html +0 -1
- package/docs/functions/fetchEvents.html +0 -1
- package/docs/functions/fetchLiquidityChangeEvents.html +0 -1
- package/docs/functions/fetchMultiCategoryEvents.html +0 -1
- package/docs/functions/fetchMultiReceipts.html +0 -1
- package/docs/functions/fetchNftHolders.html +0 -1
- package/docs/functions/fetchPools.html +0 -1
- package/docs/functions/fetchPortfolioData.html +0 -1
- package/docs/functions/fetchProtocolData.html +0 -1
- package/docs/functions/fetchRequiredPrices.html +0 -1
- package/docs/functions/fetchTVL.html +0 -1
- package/docs/functions/fetchTransactions.html +0 -1
- package/docs/functions/fetchUserVaultBalances.html +0 -1
- package/docs/functions/fetchUserVaults.html +0 -1
- package/docs/functions/fetchUserWalletData.html +0 -1
- package/docs/functions/fetchVoloExchangeRate.html +0 -1
- package/docs/functions/fetchWithdrawV2Events.html +0 -1
- package/docs/functions/getAirdropShare.html +0 -1
- package/docs/functions/getAllDoubleAssetVaults.html +0 -1
- package/docs/functions/getAllSingleAssetVaults.html +0 -1
- package/docs/functions/getAllVaultBalances.html +0 -1
- package/docs/functions/getAllVaults.html +0 -1
- package/docs/functions/getAlphaUnlocks.html +0 -1
- package/docs/functions/getAlphaVaultBalance.html +0 -1
- package/docs/functions/getAmounts.html +0 -1
- package/docs/functions/getApr.html +0 -1
- package/docs/functions/getAprs.html +0 -1
- package/docs/functions/getApy.html +0 -1
- package/docs/functions/getApys.html +0 -1
- package/docs/functions/getCetusInvestorTicksMap.html +0 -1
- package/docs/functions/getCetusPool.html +0 -1
- package/docs/functions/getCetusSqrtPriceMap.html +0 -1
- package/docs/functions/getCoinAmountsFromLiquidity.html +0 -1
- package/docs/functions/getConf.html +0 -1
- package/docs/functions/getCurrentTick.html +0 -1
- package/docs/functions/getDistributor.html +0 -1
- package/docs/functions/getDoubleAssetVaultBalance.html +0 -1
- package/docs/functions/getDoubleAssetVaults.html +0 -1
- package/docs/functions/getInvestor.html +0 -1
- package/docs/functions/getInvestorPoolMap.html +0 -1
- package/docs/functions/getLastAutoCompoundTime.html +0 -1
- package/docs/functions/getLatestPrices.html +0 -1
- package/docs/functions/getLiquidity.html +0 -1
- package/docs/functions/getMultiCetusPool.html +0 -1
- package/docs/functions/getMultiInvestor.html +0 -1
- package/docs/functions/getMultiLatestPrices.html +0 -1
- package/docs/functions/getMultiParentPool.html +0 -1
- package/docs/functions/getMultiPool.html +0 -1
- package/docs/functions/getMultiReceipts.html +0 -1
- package/docs/functions/getParentPool.html +0 -1
- package/docs/functions/getPool.html +0 -1
- package/docs/functions/getPoolExchangeRate.html +0 -1
- package/docs/functions/getPoolExchangeRateMap.html +0 -1
- package/docs/functions/getPoolsWeightDistribution.html +0 -1
- package/docs/functions/getPositionRange.html +0 -1
- package/docs/functions/getPositionRanges.html +0 -1
- package/docs/functions/getPositionTicks.html +0 -1
- package/docs/functions/getPriceToTick.html +0 -1
- package/docs/functions/getRebalanceCap.html +0 -1
- package/docs/functions/getRebalanceHistories.html +0 -1
- package/docs/functions/getRebalanceHistory.html +0 -1
- package/docs/functions/getReceipts.html +0 -1
- package/docs/functions/getSingleAssetVaultBalance.html +0 -1
- package/docs/functions/getSingleAssetVaults.html +0 -1
- package/docs/functions/getSlushUserTotalXtokens.html +0 -1
- package/docs/functions/getSuiClient.html +0 -3
- package/docs/functions/getSuiNodeUrl.html +0 -3
- package/docs/functions/getTVLs-1.html +0 -1
- package/docs/functions/getTickSpacing.html +0 -1
- package/docs/functions/getTickToPrice.html +0 -1
- package/docs/functions/getTvls.html +0 -1
- package/docs/functions/getVaultBalance.html +0 -1
- package/docs/functions/getVaults.html +0 -1
- package/docs/functions/getWithdrawRequestsAndUnsuppliedAmount.html +0 -1
- package/docs/functions/initiateWithdrawAlpha.html +0 -1
- package/docs/functions/lastAutocompoundTime.html +0 -1
- package/docs/functions/liquidityToTokens.html +0 -1
- package/docs/functions/migrateBoostedToLoop.html +0 -1
- package/docs/functions/multiLiquidityToTokens.html +0 -1
- package/docs/functions/multiTokensToUsd.html +0 -1
- package/docs/functions/multiXTokensToLiquidity.html +0 -1
- package/docs/functions/parseUserWalletData.html +0 -1
- package/docs/functions/pendingRewardAmount.html +0 -1
- package/docs/functions/processWithdrawRequestsManual.html +0 -1
- package/docs/functions/setCustomSuiClient.html +0 -5
- package/docs/functions/setSuiClient.html +0 -7
- package/docs/functions/setSuiNodeUrl.html +0 -5
- package/docs/functions/setWeights.html +0 -1
- package/docs/functions/slushDeposit.html +0 -1
- package/docs/functions/slushWithdraw.html +0 -1
- package/docs/functions/updateSingleTokenPrice.html +0 -1
- package/docs/functions/withdraw.html +0 -1
- package/docs/functions/withdrawAlphaTxb.html +0 -1
- package/docs/functions/withdrawTxb.html +0 -1
- package/docs/functions/zapDepositQuoteTxb.html +0 -1
- package/docs/functions/zapDepositTxb.html +0 -1
- package/docs/hierarchy.html +0 -1
- package/docs/index.html +0 -82
- package/docs/interfaces/Coin.html +0 -12
- package/docs/interfaces/CoinPair.html +0 -3
- package/docs/interfaces/CommonEventAttributes.html +0 -7
- package/docs/interfaces/NaviVoloData.html +0 -3
- package/docs/interfaces/PoolData.html +0 -8
- package/docs/interfaces/PoolWeightDistribution.html +0 -4
- package/docs/interfaces/RebalanceHistoryType.html +0 -9
- package/docs/modules.html +0 -1
- package/docs/types/AfterTransactionEventNode.html +0 -1
- package/docs/types/AirdropClaimEventNode.html +0 -1
- package/docs/types/Allocator.html +0 -3
- package/docs/types/AlphaFiDoubleAssetVault.html +0 -9
- package/docs/types/AlphaFiMultiVaultBalance.html +0 -1
- package/docs/types/AlphaFiSingleAssetVault.html +0 -7
- package/docs/types/AlphaFiVault.html +0 -1
- package/docs/types/AlphaFiVaultBalance.html +0 -1
- package/docs/types/AlphaLendInvestor.html +0 -1
- package/docs/types/AlphaPoolType.html +0 -5
- package/docs/types/AlphaReceipt.html +0 -4
- package/docs/types/AlphaReceiptFields.html +0 -11
- package/docs/types/AlphaVaultBalance.html +0 -7
- package/docs/types/AutoBalancePoolNames.html +0 -1
- package/docs/types/AutoCompoundingEventNode.html +0 -1
- package/docs/types/Bag.html +0 -3
- package/docs/types/BluefinInvestor.html +0 -1
- package/docs/types/BluefinLyfInvestor.html +0 -1
- package/docs/types/BluefinPoolType.html +0 -5
- package/docs/types/BucketInvestor.html +0 -2
- package/docs/types/CetusInvestor.html +0 -2
- package/docs/types/CetusPoolType.html +0 -5
- package/docs/types/CetusSwapOptions.html +0 -1
- package/docs/types/CoinAmounts.html +0 -3
- package/docs/types/CoinName.html +0 -1
- package/docs/types/CoinType.html +0 -1
- package/docs/types/CommonInvestorFields.html +0 -6
- package/docs/types/CreatePoolOptions.html +0 -8
- package/docs/types/Distributor.html +0 -6
- package/docs/types/DoubleAssetMultiVaultBalance.html +0 -6
- package/docs/types/DoubleAssetPoolNames.html +0 -1
- package/docs/types/DoubleAssetTokenHoldings.html +0 -5
- package/docs/types/DoubleAssetVaultBalance.html +0 -4
- package/docs/types/EventCategory.html +0 -1
- package/docs/types/EventNode.html +0 -1
- package/docs/types/GetHoldersParams.html +0 -4
- package/docs/types/GetTokenHoldingsParams.html +0 -4
- package/docs/types/GetUserTokensFromTransactionsParams.html +0 -5
- package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +0 -6
- package/docs/types/GetVaultBalanceParams.html +0 -1
- package/docs/types/HoldingsObj.html +0 -4
- package/docs/types/Icon.html +0 -1
- package/docs/types/Investor.html +0 -1
- package/docs/types/LiquidityChangeEventNode.html +0 -1
- package/docs/types/LiquidityToTokensParams.html +0 -3
- package/docs/types/LiquidityToUsdParams.html +0 -6
- package/docs/types/LoopingDebt.html +0 -5
- package/docs/types/LoopingPoolNames.html +0 -1
- package/docs/types/LpBreakdownType.html +0 -6
- package/docs/types/MemberPoolDataType.html +0 -3
- package/docs/types/MemberType.html +0 -3
- package/docs/types/MultiGetVaultBalancesParams.html +0 -4
- package/docs/types/NaviInvestor.html +0 -2
- package/docs/types/ObjectTable.html +0 -1
- package/docs/types/OtherReceiptFields.html +0 -9
- package/docs/types/PoolName.html +0 -1
- package/docs/types/PoolReceipt.html +0 -1
- package/docs/types/PoolType.html +0 -5
- package/docs/types/Receipt.html +0 -5
- package/docs/types/ReceiptGQL.html +0 -6
- package/docs/types/SingleAssetMultiVaultBalance.html +0 -5
- package/docs/types/SingleAssetPoolNames.html +0 -1
- package/docs/types/SingleAssetTokenHoldings.html +0 -4
- package/docs/types/SingleAssetVaultBalance.html +0 -3
- package/docs/types/SingleGetVaultBalancesParams.html +0 -3
- package/docs/types/StrategyType.html +0 -1
- package/docs/types/SuiNetwork.html +0 -1
- package/docs/types/SwapOptions.html +0 -1
- package/docs/types/TickSpacing.html +0 -1
- package/docs/types/TotalWeightType.html +0 -3
- package/docs/types/TransactionBlockType.html +0 -6
- package/docs/types/UserPoolLiquidity.html +0 -4
- package/docs/types/UserPoolTokenHoldings.html +0 -1
- package/docs/types/UserUsdHoldings.html +0 -4
- package/docs/types/VaultBalance.html +0 -1
- package/docs/types/VecMap.html +0 -3
- package/docs/types/VoteCastEvent.html +0 -1
- package/docs/types/WithdrawV2EventNode.html +0 -1
- package/docs/variables/AUTOBALANCE_SUI_FIRST_POOLS.html +0 -1
- package/docs/variables/AUTOBALANCE_SUI_SECOND_POOLS.html +0 -1
- package/docs/variables/AUTOBALANCE_TYPE_1_POOLS.html +0 -1
- package/docs/variables/alphalendMarketIdMap.html +0 -1
- package/docs/variables/bluefinPoolMap.html +0 -1
- package/docs/variables/cetusPoolMap.html +0 -1
- package/docs/variables/coinsList.html +0 -1
- package/docs/variables/defunctPoolsSet.html +0 -1
- package/docs/variables/doubleAssetPoolCoinMap.html +0 -1
- package/docs/variables/eventCategories.html +0 -1
- package/docs/variables/ignoredWalletsForDailyRevenue.html +0 -1
- package/docs/variables/loopingAccountAddresses.html +0 -1
- package/docs/variables/loopingPoolCoinMap.html +0 -1
- package/docs/variables/naviAssetMap.html +0 -1
- package/docs/variables/naviPriceFeedMap.html +0 -1
- package/docs/variables/poolIdPoolNameMap.html +0 -1
- package/docs/variables/poolInfo.html +0 -1
- package/docs/variables/singleAssetPoolCoinMap.html +0 -1
- package/docs/variables/stableCoins.html +0 -1
- package/eslint.config.js +0 -53
- package/prettier.config.js +0 -3
- package/scripts/package-lock.json +0 -2506
- package/scripts/package.json +0 -30
- package/scripts/testRun.ts +0 -117
- package/scripts/utils.ts +0 -108
- /package/dist/cjs/{common → models}/types.js +0 -0
- /package/dist/esm/{common → models}/types.js +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blockchain interface wrapper for Sui network operations using GraphQL and JSON-RPC clients.
|
|
3
|
+
*/
|
|
4
|
+
import { SuiClient } from '@mysten/sui/client';
|
|
5
|
+
import { SuiGraphQLClient } from '@mysten/sui/graphql';
|
|
6
|
+
import { Transaction } from '@mysten/sui/transactions';
|
|
7
|
+
export type BlockchainOptions = {
|
|
8
|
+
network: 'mainnet' | 'testnet' | 'devnet' | 'localnet';
|
|
9
|
+
suiClient?: SuiClient;
|
|
10
|
+
gqlClient?: SuiGraphQLClient<any>;
|
|
11
|
+
};
|
|
12
|
+
export declare class Blockchain {
|
|
13
|
+
network: 'mainnet' | 'testnet' | 'devnet' | 'localnet';
|
|
14
|
+
gqlClient: SuiGraphQLClient<any>;
|
|
15
|
+
suiClient: SuiClient;
|
|
16
|
+
constructor(options: BlockchainOptions);
|
|
17
|
+
getCoinObject(tx: Transaction, coinType: string, address: string, amount?: bigint): Promise<{
|
|
18
|
+
$kind: "NestedResult";
|
|
19
|
+
NestedResult: [number, number];
|
|
20
|
+
} | {
|
|
21
|
+
$kind: "GasCoin";
|
|
22
|
+
GasCoin: true;
|
|
23
|
+
} | ({
|
|
24
|
+
$kind: "Result";
|
|
25
|
+
Result: number;
|
|
26
|
+
} & [{
|
|
27
|
+
$kind: "NestedResult";
|
|
28
|
+
NestedResult: [number, number];
|
|
29
|
+
}])>;
|
|
30
|
+
getOptionReceipt(tx: Transaction, receiptType: string, receiptId?: string): import("@mysten/sui/transactions").TransactionResult;
|
|
31
|
+
/** Estimate gas budget for transaction execution. */
|
|
32
|
+
getEstimatedGasBudget(tx: Transaction, sender: string): Promise<number | undefined>;
|
|
33
|
+
/** Get object contents by ID using GraphQL. */
|
|
34
|
+
getObject(objectId: string): Promise<unknown>;
|
|
35
|
+
/** Get multiple objects in batches using GraphQL. */
|
|
36
|
+
multiGetObjects(objectIds: string[]): Promise<Map<string, any>>;
|
|
37
|
+
/** Get receipt objects owned by address for specific type. */
|
|
38
|
+
getReceipt(address: string, type: string): Promise<unknown[] | undefined>;
|
|
39
|
+
/** Get receipt objects for multiple types in batches. */
|
|
40
|
+
multiGetReceipts(address: string, types: string[]): Promise<Map<any, any>>;
|
|
41
|
+
/** Generate dynamic GraphQL query for multiple receipt types. */
|
|
42
|
+
private getMultiReceiptsQuery;
|
|
43
|
+
private isCoinTypeSui;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=blockchain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockchain.d.ts","sourceRoot":"","sources":["../../../src/models/blockchain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAc,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;CACnC,CAAC;AAEF,qBAAa,UAAU;IACrB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvD,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACjC,SAAS,EAAE,SAAS,CAAC;gBAET,OAAO,EAAE,iBAAiB;IAoBhC,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;IA0CvF,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAkBzE,qDAAqD;IAC/C,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAiBzF,+CAA+C;IACzC,SAAS,CAAC,QAAQ,EAAE,MAAM;IAqBhC,qDAAqD;IAC/C,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IA4CrE,8DAA8D;IACxD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAuB9C,yDAAyD;IACnD,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAqCvD,iEAAiE;IACjE,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,aAAa;CAMtB"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blockchain interface wrapper for Sui network operations using GraphQL and JSON-RPC clients.
|
|
3
|
+
*/
|
|
4
|
+
import { SuiClient } from '@mysten/sui/client';
|
|
5
|
+
import { SuiGraphQLClient } from '@mysten/sui/graphql';
|
|
6
|
+
import { graphql } from '@mysten/sui/graphql/schemas/latest';
|
|
7
|
+
export class Blockchain {
|
|
8
|
+
network;
|
|
9
|
+
gqlClient;
|
|
10
|
+
suiClient;
|
|
11
|
+
constructor(options) {
|
|
12
|
+
this.network = options.network;
|
|
13
|
+
this.suiClient =
|
|
14
|
+
options.suiClient ||
|
|
15
|
+
new SuiClient({
|
|
16
|
+
url: options.network === 'testnet'
|
|
17
|
+
? 'https://fullnode.testnet.sui.io/'
|
|
18
|
+
: 'https://fullnode.mainnet.sui.io/',
|
|
19
|
+
});
|
|
20
|
+
this.gqlClient =
|
|
21
|
+
options.gqlClient ||
|
|
22
|
+
new SuiGraphQLClient({
|
|
23
|
+
url: options.network === 'testnet'
|
|
24
|
+
? 'https://graphql.testnet.sui.io/graphql'
|
|
25
|
+
: 'https://graphql.mainnet.sui.io/graphql',
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
async getCoinObject(tx, coinType, address, amount) {
|
|
29
|
+
if (this.isCoinTypeSui(coinType)) {
|
|
30
|
+
if (amount) {
|
|
31
|
+
return tx.splitCoins(tx.gas, [amount]);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return tx.gas;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
let currentCursor = null;
|
|
38
|
+
let coins1 = [];
|
|
39
|
+
do {
|
|
40
|
+
const response = await this.suiClient.getCoins({
|
|
41
|
+
owner: address,
|
|
42
|
+
coinType,
|
|
43
|
+
cursor: currentCursor,
|
|
44
|
+
});
|
|
45
|
+
coins1 = coins1.concat(response.data);
|
|
46
|
+
if (response.hasNextPage && response.nextCursor) {
|
|
47
|
+
currentCursor = response.nextCursor;
|
|
48
|
+
}
|
|
49
|
+
else
|
|
50
|
+
break;
|
|
51
|
+
} while (true);
|
|
52
|
+
if (coins1.length === 0) {
|
|
53
|
+
throw new Error(`No coins found for ${coinType} for owner ${address}`);
|
|
54
|
+
}
|
|
55
|
+
const [coin] = tx.splitCoins(tx.object(coins1[0].coinObjectId), [0]);
|
|
56
|
+
tx.mergeCoins(coin, coins1.map((c) => c.coinObjectId));
|
|
57
|
+
if (amount) {
|
|
58
|
+
const returnCoin = tx.splitCoins(coin, [amount]);
|
|
59
|
+
tx.transferObjects([coin], address);
|
|
60
|
+
return returnCoin;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
return coin;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
getOptionReceipt(tx, receiptType, receiptId) {
|
|
67
|
+
let receiptOption;
|
|
68
|
+
if (receiptId) {
|
|
69
|
+
receiptOption = tx.moveCall({
|
|
70
|
+
target: `0x1::option::some`,
|
|
71
|
+
typeArguments: [receiptType],
|
|
72
|
+
arguments: [tx.object(receiptId)],
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
receiptOption = tx.moveCall({
|
|
77
|
+
target: `0x1::option::none`,
|
|
78
|
+
typeArguments: [receiptType],
|
|
79
|
+
arguments: [],
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return receiptOption;
|
|
83
|
+
}
|
|
84
|
+
/** Estimate gas budget for transaction execution. */
|
|
85
|
+
async getEstimatedGasBudget(tx, sender) {
|
|
86
|
+
try {
|
|
87
|
+
const simResult = await this.suiClient.devInspectTransactionBlock({
|
|
88
|
+
transactionBlock: tx,
|
|
89
|
+
sender,
|
|
90
|
+
});
|
|
91
|
+
return (Number(simResult.effects.gasUsed.computationCost) +
|
|
92
|
+
Number(simResult.effects.gasUsed.nonRefundableStorageFee) +
|
|
93
|
+
1e8);
|
|
94
|
+
}
|
|
95
|
+
catch (err) {
|
|
96
|
+
console.error(`Error estimating transaction gasBudget`, err);
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** Get object contents by ID using GraphQL. */
|
|
101
|
+
async getObject(objectId) {
|
|
102
|
+
const query = graphql(`
|
|
103
|
+
query getObject($objectId: SuiAddress!) {
|
|
104
|
+
object(address: $objectId) {
|
|
105
|
+
asMoveObject {
|
|
106
|
+
contents {
|
|
107
|
+
json
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
`);
|
|
113
|
+
const result = await this.gqlClient.query({
|
|
114
|
+
query,
|
|
115
|
+
variables: { objectId },
|
|
116
|
+
});
|
|
117
|
+
return result.data?.object?.asMoveObject?.contents?.json;
|
|
118
|
+
}
|
|
119
|
+
/** Get multiple objects in batches using GraphQL. */
|
|
120
|
+
async multiGetObjects(objectIds) {
|
|
121
|
+
if (objectIds.length === 0) {
|
|
122
|
+
return new Map();
|
|
123
|
+
}
|
|
124
|
+
const query = graphql(`
|
|
125
|
+
query multiGetObjects($objectIds: [ObjectKey!]!) {
|
|
126
|
+
multiGetObjects(keys: $objectIds) {
|
|
127
|
+
address
|
|
128
|
+
asMoveObject {
|
|
129
|
+
contents {
|
|
130
|
+
json
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
`);
|
|
136
|
+
const batches = [];
|
|
137
|
+
for (let i = 0; i < objectIds.length; i += 50) {
|
|
138
|
+
batches.push(objectIds.slice(i, i + 50));
|
|
139
|
+
}
|
|
140
|
+
const resMap = new Map();
|
|
141
|
+
const results = await Promise.all(batches.map((batch) => this.gqlClient.query({
|
|
142
|
+
query,
|
|
143
|
+
variables: { objectIds: batch.map((id) => ({ address: id })) },
|
|
144
|
+
})));
|
|
145
|
+
results.forEach((result) => {
|
|
146
|
+
result.data?.multiGetObjects?.forEach((obj) => {
|
|
147
|
+
if (obj) {
|
|
148
|
+
resMap.set(obj.address, obj.asMoveObject?.contents?.json);
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
return resMap;
|
|
153
|
+
}
|
|
154
|
+
/** Get receipt objects owned by address for specific type. */
|
|
155
|
+
async getReceipt(address, type) {
|
|
156
|
+
const query = graphql(`
|
|
157
|
+
query getReceipt($address: SuiAddress!, $type: String!) {
|
|
158
|
+
objects(filter: { owner: $address, type: $type }) {
|
|
159
|
+
nodes {
|
|
160
|
+
asMoveObject {
|
|
161
|
+
contents {
|
|
162
|
+
json
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
`);
|
|
169
|
+
const result = await this.gqlClient.query({
|
|
170
|
+
query,
|
|
171
|
+
variables: { address, type },
|
|
172
|
+
});
|
|
173
|
+
return result.data?.objects?.nodes.map((obj) => obj?.asMoveObject?.contents?.json);
|
|
174
|
+
}
|
|
175
|
+
/** Get receipt objects for multiple types in batches. */
|
|
176
|
+
async multiGetReceipts(address, types) {
|
|
177
|
+
if (types.length === 0) {
|
|
178
|
+
return new Map();
|
|
179
|
+
}
|
|
180
|
+
const batches = [];
|
|
181
|
+
for (let i = 0; i < types.length; i += 10) {
|
|
182
|
+
batches.push(types.slice(i, i + 10));
|
|
183
|
+
}
|
|
184
|
+
const promises = [];
|
|
185
|
+
for (const batch of batches) {
|
|
186
|
+
promises.push(this.gqlClient.query({
|
|
187
|
+
query: this.getMultiReceiptsQuery(batch),
|
|
188
|
+
variables: { address },
|
|
189
|
+
}));
|
|
190
|
+
}
|
|
191
|
+
const results = await Promise.all(promises);
|
|
192
|
+
const receiptsMap = new Map();
|
|
193
|
+
for (const result of results) {
|
|
194
|
+
for (const receipts of Object.values(result.data)) {
|
|
195
|
+
if (receipts.nodes.length > 0) {
|
|
196
|
+
receiptsMap.set(receipts.nodes[0].asMoveObject.contents.type.repr, receipts.nodes.map((obj) => obj?.asMoveObject?.contents?.json));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return receiptsMap;
|
|
201
|
+
}
|
|
202
|
+
/** Generate dynamic GraphQL query for multiple receipt types. */
|
|
203
|
+
getMultiReceiptsQuery(types) {
|
|
204
|
+
let char = 65;
|
|
205
|
+
let query = `query multiGetReceipts($address: SuiAddress!) {`;
|
|
206
|
+
types.forEach((type) => {
|
|
207
|
+
query += `
|
|
208
|
+
${String.fromCharCode(char)}: objects(
|
|
209
|
+
filter: {owner: $address, type: "${type}"}
|
|
210
|
+
) {
|
|
211
|
+
nodes {
|
|
212
|
+
asMoveObject {
|
|
213
|
+
contents {
|
|
214
|
+
type {
|
|
215
|
+
repr
|
|
216
|
+
}
|
|
217
|
+
json
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
`;
|
|
223
|
+
char++;
|
|
224
|
+
});
|
|
225
|
+
query += `}`;
|
|
226
|
+
return graphql(query);
|
|
227
|
+
}
|
|
228
|
+
isCoinTypeSui(coinType) {
|
|
229
|
+
return (coinType === '0x2::sui::SUI' ||
|
|
230
|
+
coinType === '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=blockchain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockchain.js","sourceRoot":"","sources":["../../../src/models/blockchain.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Blockchain interface wrapper for Sui network operations using GraphQL and JSON-RPC clients.\n */\n\nimport { CoinStruct, SuiClient } from '@mysten/sui/client';\nimport { SuiGraphQLClient } from '@mysten/sui/graphql';\nimport { graphql } from '@mysten/sui/graphql/schemas/latest';\nimport { Transaction } from '@mysten/sui/transactions';\n\nexport type BlockchainOptions = {\n network: 'mainnet' | 'testnet' | 'devnet' | 'localnet';\n suiClient?: SuiClient;\n gqlClient?: SuiGraphQLClient<any>;\n};\n\nexport class Blockchain {\n network: 'mainnet' | 'testnet' | 'devnet' | 'localnet';\n gqlClient: SuiGraphQLClient<any>;\n suiClient: SuiClient;\n\n constructor(options: BlockchainOptions) {\n this.network = options.network;\n this.suiClient =\n options.suiClient ||\n new SuiClient({\n url:\n options.network === 'testnet'\n ? 'https://fullnode.testnet.sui.io/'\n : 'https://fullnode.mainnet.sui.io/',\n });\n this.gqlClient =\n options.gqlClient ||\n new SuiGraphQLClient({\n url:\n options.network === 'testnet'\n ? 'https://graphql.testnet.sui.io/graphql'\n : 'https://graphql.mainnet.sui.io/graphql',\n });\n }\n\n async getCoinObject(tx: Transaction, coinType: string, address: string, amount?: bigint) {\n if (this.isCoinTypeSui(coinType)) {\n if (amount) {\n return tx.splitCoins(tx.gas, [amount]);\n } else {\n return tx.gas;\n }\n }\n\n let currentCursor: string | null | undefined = null;\n let coins1: CoinStruct[] = [];\n do {\n const response = await this.suiClient.getCoins({\n owner: address,\n coinType,\n cursor: currentCursor,\n });\n coins1 = coins1.concat(response.data);\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else break;\n } while (true);\n\n if (coins1.length === 0) {\n throw new Error(`No coins found for ${coinType} for owner ${address}`);\n }\n\n const [coin] = tx.splitCoins(tx.object(coins1[0].coinObjectId), [0]);\n tx.mergeCoins(\n coin,\n coins1.map((c) => c.coinObjectId),\n );\n\n if (amount) {\n const returnCoin = tx.splitCoins(coin, [amount]);\n tx.transferObjects([coin], address);\n return returnCoin;\n } else {\n return coin;\n }\n }\n\n getOptionReceipt(tx: Transaction, receiptType: string, receiptId?: string) {\n let receiptOption;\n if (receiptId) {\n receiptOption = tx.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receiptType],\n arguments: [tx.object(receiptId)],\n });\n } else {\n receiptOption = tx.moveCall({\n target: `0x1::option::none`,\n typeArguments: [receiptType],\n arguments: [],\n });\n }\n return receiptOption;\n }\n\n /** Estimate gas budget for transaction execution. */\n async getEstimatedGasBudget(tx: Transaction, sender: string): Promise<number | undefined> {\n try {\n const simResult = await this.suiClient.devInspectTransactionBlock({\n transactionBlock: tx,\n sender,\n });\n return (\n Number(simResult.effects.gasUsed.computationCost) +\n Number(simResult.effects.gasUsed.nonRefundableStorageFee) +\n 1e8\n );\n } catch (err) {\n console.error(`Error estimating transaction gasBudget`, err);\n return undefined;\n }\n }\n\n /** Get object contents by ID using GraphQL. */\n async getObject(objectId: string) {\n const query = graphql(`\n query getObject($objectId: SuiAddress!) {\n object(address: $objectId) {\n asMoveObject {\n contents {\n json\n }\n }\n }\n }\n `);\n\n const result = await this.gqlClient.query({\n query,\n variables: { objectId },\n });\n\n return result.data?.object?.asMoveObject?.contents?.json;\n }\n\n /** Get multiple objects in batches using GraphQL. */\n async multiGetObjects(objectIds: string[]): Promise<Map<string, any>> {\n if (objectIds.length === 0) {\n return new Map();\n }\n\n const query = graphql(`\n query multiGetObjects($objectIds: [ObjectKey!]!) {\n multiGetObjects(keys: $objectIds) {\n address\n asMoveObject {\n contents {\n json\n }\n }\n }\n }\n `);\n\n const batches: string[][] = [];\n for (let i = 0; i < objectIds.length; i += 50) {\n batches.push(objectIds.slice(i, i + 50));\n }\n\n const resMap: Map<string, any> = new Map();\n const results = await Promise.all(\n batches.map((batch) =>\n this.gqlClient.query({\n query,\n variables: { objectIds: batch.map((id) => ({ address: id })) },\n }),\n ),\n );\n\n results.forEach((result) => {\n result.data?.multiGetObjects?.forEach((obj) => {\n if (obj) {\n resMap.set(obj.address, obj.asMoveObject?.contents?.json);\n }\n });\n });\n\n return resMap;\n }\n\n /** Get receipt objects owned by address for specific type. */\n async getReceipt(address: string, type: string) {\n const query = graphql(`\n query getReceipt($address: SuiAddress!, $type: String!) {\n objects(filter: { owner: $address, type: $type }) {\n nodes {\n asMoveObject {\n contents {\n json\n }\n }\n }\n }\n }\n `);\n\n const result = await this.gqlClient.query({\n query,\n variables: { address, type },\n });\n\n return result.data?.objects?.nodes.map((obj) => obj?.asMoveObject?.contents?.json);\n }\n\n /** Get receipt objects for multiple types in batches. */\n async multiGetReceipts(address: string, types: string[]) {\n if (types.length === 0) {\n return new Map();\n }\n\n const batches: string[][] = [];\n for (let i = 0; i < types.length; i += 10) {\n batches.push(types.slice(i, i + 10));\n }\n\n const promises: Promise<any>[] = [];\n for (const batch of batches) {\n promises.push(\n this.gqlClient.query({\n query: this.getMultiReceiptsQuery(batch),\n variables: { address },\n }),\n );\n }\n\n const results = await Promise.all(promises);\n const receiptsMap: Map<string, any[]> = new Map();\n\n for (const result of results) {\n for (const receipts of Object.values(result.data)) {\n if ((receipts as any).nodes.length > 0) {\n receiptsMap.set(\n (receipts as any).nodes[0].asMoveObject.contents.type.repr,\n (receipts as any).nodes.map((obj: any) => obj?.asMoveObject?.contents?.json),\n );\n }\n }\n }\n\n return receiptsMap;\n }\n\n /** Generate dynamic GraphQL query for multiple receipt types. */\n private getMultiReceiptsQuery(types: string[]) {\n let char = 65;\n let query = `query multiGetReceipts($address: SuiAddress!) {`;\n types.forEach((type) => {\n query += `\n ${String.fromCharCode(char)}: objects(\n filter: {owner: $address, type: \"${type}\"}\n ) {\n nodes {\n asMoveObject {\n contents {\n type {\n repr\n }\n json\n }\n }\n }\n }\n `;\n char++;\n });\n\n query += `}`;\n return graphql(query);\n }\n\n private isCoinTypeSui(coinType: string) {\n return (\n coinType === '0x2::sui::SUI' ||\n coinType === '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI'\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides coin metadata and pricing data from AlphaLend API with automatic caching.
|
|
3
|
+
*/
|
|
4
|
+
import { Decimal } from 'decimal.js';
|
|
5
|
+
import { CoinInfo } from './types.js';
|
|
6
|
+
export declare class CoinInfoProvider {
|
|
7
|
+
private readonly apiUrl;
|
|
8
|
+
private readonly cache;
|
|
9
|
+
constructor();
|
|
10
|
+
/** Get all coin metadata with caching and promise deduplication. */
|
|
11
|
+
getAllCoins(): Promise<Map<string, CoinInfo>>;
|
|
12
|
+
/** Get coin metadata by symbol. */
|
|
13
|
+
getCoinBySymbol(symbol: string): Promise<CoinInfo | undefined>;
|
|
14
|
+
/** Get coin metadata by type. */
|
|
15
|
+
getCoinByType(coinType: string): Promise<CoinInfo | undefined>;
|
|
16
|
+
/** Get coin price (Pyth preferred, fallback to CoinGecko). */
|
|
17
|
+
getPriceByType(coinType: string): Promise<Decimal>;
|
|
18
|
+
/** Clear the cache to force fresh data on next request. */
|
|
19
|
+
clear(): void;
|
|
20
|
+
/** Fetch coin data from AlphaLend GraphQL API. */
|
|
21
|
+
private fetchFromApi;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=coinInfoProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coinInfoProvider.d.ts","sourceRoot":"","sources":["../../../src/models/coinInfoProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAetC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwC;;IAO9D,oEAAoE;IAC9D,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAInD,mCAAmC;IAC7B,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAOpE,iCAAiC;IAC3B,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAKpE,8DAA8D;IACxD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQxD,2DAA2D;IAC3D,KAAK,IAAI,IAAI;IAIb,kDAAkD;YACpC,YAAY;CAqD3B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides coin metadata and pricing data from AlphaLend API with automatic caching.
|
|
3
|
+
*/
|
|
4
|
+
import { normalizeStructTag } from '@mysten/sui/utils';
|
|
5
|
+
import { Decimal } from 'decimal.js';
|
|
6
|
+
import { SingletonCache } from '../utils/cache.js';
|
|
7
|
+
import { CACHE_TTL, URLS } from '../utils/constants.js';
|
|
8
|
+
export class CoinInfoProvider {
|
|
9
|
+
apiUrl = URLS.COININFO_API;
|
|
10
|
+
cache;
|
|
11
|
+
constructor() {
|
|
12
|
+
// 5 minute TTL for coin data
|
|
13
|
+
this.cache = new SingletonCache(CACHE_TTL.COIN_INFO);
|
|
14
|
+
}
|
|
15
|
+
/** Get all coin metadata with caching and promise deduplication. */
|
|
16
|
+
async getAllCoins() {
|
|
17
|
+
return this.cache.getOrFetch(() => this.fetchFromApi());
|
|
18
|
+
}
|
|
19
|
+
/** Get coin metadata by symbol. */
|
|
20
|
+
async getCoinBySymbol(symbol) {
|
|
21
|
+
const coins = await this.getAllCoins();
|
|
22
|
+
return Array.from(coins.values()).find((coin) => coin.symbol.toUpperCase() === symbol.toUpperCase());
|
|
23
|
+
}
|
|
24
|
+
/** Get coin metadata by type. */
|
|
25
|
+
async getCoinByType(coinType) {
|
|
26
|
+
const coins = await this.getAllCoins();
|
|
27
|
+
return coins.get(normalizeStructTag(coinType));
|
|
28
|
+
}
|
|
29
|
+
/** Get coin price (Pyth preferred, fallback to CoinGecko). */
|
|
30
|
+
async getPriceByType(coinType) {
|
|
31
|
+
const coin = await this.getCoinByType(normalizeStructTag(coinType));
|
|
32
|
+
if (!coin)
|
|
33
|
+
throw new Error(`Coin not found: ${coinType}`);
|
|
34
|
+
const price = coin.pythPrice ?? coin.coingeckoPrice;
|
|
35
|
+
if (!price)
|
|
36
|
+
throw new Error(`No price available for: ${coinType}`);
|
|
37
|
+
return price;
|
|
38
|
+
}
|
|
39
|
+
/** Clear the cache to force fresh data on next request. */
|
|
40
|
+
clear() {
|
|
41
|
+
this.cache.clear();
|
|
42
|
+
}
|
|
43
|
+
/** Fetch coin data from AlphaLend GraphQL API. */
|
|
44
|
+
async fetchFromApi() {
|
|
45
|
+
const query = `
|
|
46
|
+
query {
|
|
47
|
+
coinInfo {
|
|
48
|
+
coinType
|
|
49
|
+
symbol
|
|
50
|
+
decimals
|
|
51
|
+
coingeckoPrice
|
|
52
|
+
pythPrice
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
`;
|
|
56
|
+
const response = await fetch(this.apiUrl, {
|
|
57
|
+
method: 'POST',
|
|
58
|
+
headers: { 'Content-Type': 'application/json' },
|
|
59
|
+
body: JSON.stringify({ query }),
|
|
60
|
+
});
|
|
61
|
+
if (!response.ok) {
|
|
62
|
+
throw new Error(`AlphaLend API error: ${response.status}`);
|
|
63
|
+
}
|
|
64
|
+
const json = (await response.json());
|
|
65
|
+
const apiCoins = json?.data?.coinInfo ?? [];
|
|
66
|
+
const coins = new Map();
|
|
67
|
+
apiCoins.forEach((apiCoin) => {
|
|
68
|
+
coins.set(normalizeStructTag(apiCoin.coinType), {
|
|
69
|
+
coinType: normalizeStructTag(apiCoin.coinType),
|
|
70
|
+
symbol: apiCoin.symbol,
|
|
71
|
+
decimals: apiCoin.decimals,
|
|
72
|
+
coingeckoPrice: apiCoin.coingeckoPrice !== undefined && apiCoin.coingeckoPrice !== null
|
|
73
|
+
? new Decimal(apiCoin.coingeckoPrice)
|
|
74
|
+
: undefined,
|
|
75
|
+
pythPrice: apiCoin.pythPrice !== undefined && apiCoin.pythPrice !== null
|
|
76
|
+
? new Decimal(apiCoin.pythPrice)
|
|
77
|
+
: undefined,
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
return coins;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=coinInfoProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coinInfoProvider.js","sourceRoot":"","sources":["../../../src/models/coinInfoProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Provides coin metadata and pricing data from AlphaLend API with automatic caching.\n */\n\nimport { normalizeStructTag } from '@mysten/sui/utils';\nimport { Decimal } from 'decimal.js';\nimport { SingletonCache } from '../utils/cache.js';\nimport { CoinInfo } from './types.js';\nimport { CACHE_TTL, URLS } from '../utils/constants.js';\n\ntype GraphQLResponse = {\n data: {\n coinInfo: Array<{\n coinType: string;\n symbol: string;\n decimals: number;\n coingeckoPrice?: number | null;\n pythPrice?: number | null;\n }>;\n };\n};\n\nexport class CoinInfoProvider {\n private readonly apiUrl: string = URLS.COININFO_API;\n private readonly cache: SingletonCache<Map<string, CoinInfo>>;\n\n constructor() {\n // 5 minute TTL for coin data\n this.cache = new SingletonCache<Map<string, CoinInfo>>(CACHE_TTL.COIN_INFO);\n }\n\n /** Get all coin metadata with caching and promise deduplication. */\n async getAllCoins(): Promise<Map<string, CoinInfo>> {\n return this.cache.getOrFetch(() => this.fetchFromApi());\n }\n\n /** Get coin metadata by symbol. */\n async getCoinBySymbol(symbol: string): Promise<CoinInfo | undefined> {\n const coins = await this.getAllCoins();\n return Array.from(coins.values()).find(\n (coin) => coin.symbol.toUpperCase() === symbol.toUpperCase(),\n );\n }\n\n /** Get coin metadata by type. */\n async getCoinByType(coinType: string): Promise<CoinInfo | undefined> {\n const coins = await this.getAllCoins();\n return coins.get(normalizeStructTag(coinType));\n }\n\n /** Get coin price (Pyth preferred, fallback to CoinGecko). */\n async getPriceByType(coinType: string): Promise<Decimal> {\n const coin = await this.getCoinByType(normalizeStructTag(coinType));\n if (!coin) throw new Error(`Coin not found: ${coinType}`);\n const price = coin.pythPrice ?? coin.coingeckoPrice;\n if (!price) throw new Error(`No price available for: ${coinType}`);\n return price;\n }\n\n /** Clear the cache to force fresh data on next request. */\n clear(): void {\n this.cache.clear();\n }\n\n /** Fetch coin data from AlphaLend GraphQL API. */\n private async fetchFromApi(): Promise<Map<string, CoinInfo>> {\n const query = `\n query {\n coinInfo {\n coinType\n symbol\n decimals\n coingeckoPrice\n pythPrice\n }\n }\n `;\n\n const response = await fetch(this.apiUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ query }),\n });\n\n if (!response.ok) {\n throw new Error(`AlphaLend API error: ${response.status}`);\n }\n\n const json = (await response.json()) as GraphQLResponse;\n const apiCoins = json?.data?.coinInfo ?? [];\n\n const coins: Map<string, CoinInfo> = new Map();\n apiCoins.forEach(\n (apiCoin: {\n coinType: string;\n symbol: string;\n decimals: number;\n coingeckoPrice?: number | null;\n pythPrice?: number | null;\n }) => {\n coins.set(normalizeStructTag(apiCoin.coinType), {\n coinType: normalizeStructTag(apiCoin.coinType),\n symbol: apiCoin.symbol,\n decimals: apiCoin.decimals,\n coingeckoPrice:\n apiCoin.coingeckoPrice !== undefined && apiCoin.coingeckoPrice !== null\n ? new Decimal(apiCoin.coingeckoPrice)\n : undefined,\n pythPrice:\n apiCoin.pythPrice !== undefined && apiCoin.pythPrice !== null\n ? new Decimal(apiCoin.pythPrice)\n : undefined,\n });\n },\n );\n\n return coins;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { Blockchain } from './blockchain.js';\nexport { Protocol } from './protocol.js';\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User portfolio manager that calculates balances, net worth, and aggregated APY.
|
|
3
|
+
*/
|
|
4
|
+
import { Protocol } from './protocol.js';
|
|
5
|
+
import { StrategyContext } from './strategyContext.js';
|
|
6
|
+
import { UserPortfolioData } from './types.js';
|
|
7
|
+
import { Strategy, StrategyType } from '../strategies/strategy.js';
|
|
8
|
+
export declare class Portfolio {
|
|
9
|
+
protocol: Protocol;
|
|
10
|
+
strategyContext: StrategyContext;
|
|
11
|
+
constructor(protocol: Protocol, strategyContext: StrategyContext);
|
|
12
|
+
/** Get all coin balances in user's wallet. */
|
|
13
|
+
getWalletCoins(userAddress: string): Promise<Map<string, string>>;
|
|
14
|
+
getAllPoolStrategies(userAddress: string): Promise<Map<string, Strategy>>;
|
|
15
|
+
getPoolStrategy(userAddress: string, poolId: string): Promise<Strategy>;
|
|
16
|
+
/** Calculate user's complete portfolio including net worth, aggregated APY, and alpha rewards. */
|
|
17
|
+
getUserPortfolio(userAddress: string, strategiesType?: StrategyType[]): Promise<UserPortfolioData>;
|
|
18
|
+
/** Update strategies with user's receipt objects and positions. */
|
|
19
|
+
private updateStrategiesWithReceipts;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=portfolio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/models/portfolio.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAe,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAenE,qBAAa,SAAS;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;gBAErB,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe;IAKhE,8CAA8C;IACxC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAYjE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAMzE,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM7E,kGAAkG;IAC5F,gBAAgB,CACpB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,YAAY,EAAE,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IAkD7B,mEAAmE;YACrD,4BAA4B;CAgI3C"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User portfolio manager that calculates balances, net worth, and aggregated APY.
|
|
3
|
+
*/
|
|
4
|
+
import { normalizeStructTag } from '@mysten/sui/utils';
|
|
5
|
+
import { Decimal } from 'decimal.js';
|
|
6
|
+
export class Portfolio {
|
|
7
|
+
protocol;
|
|
8
|
+
strategyContext;
|
|
9
|
+
constructor(protocol, strategyContext) {
|
|
10
|
+
this.protocol = protocol;
|
|
11
|
+
this.strategyContext = strategyContext;
|
|
12
|
+
}
|
|
13
|
+
/** Get all coin balances in user's wallet. */
|
|
14
|
+
async getWalletCoins(userAddress) {
|
|
15
|
+
const res = await this.strategyContext.blockchain.suiClient.getAllBalances({
|
|
16
|
+
owner: userAddress,
|
|
17
|
+
});
|
|
18
|
+
const resMap = new Map();
|
|
19
|
+
res.forEach((entry) => {
|
|
20
|
+
resMap.set(normalizeStructTag(entry.coinType), entry.totalBalance);
|
|
21
|
+
});
|
|
22
|
+
return resMap;
|
|
23
|
+
}
|
|
24
|
+
async getAllPoolStrategies(userAddress) {
|
|
25
|
+
const strategies = await this.protocol.getStrategies();
|
|
26
|
+
await this.updateStrategiesWithReceipts(userAddress, strategies);
|
|
27
|
+
return strategies;
|
|
28
|
+
}
|
|
29
|
+
async getPoolStrategy(userAddress, poolId) {
|
|
30
|
+
const strategy = await this.protocol.getSinglePoolStrategy(poolId);
|
|
31
|
+
await this.updateStrategiesWithReceipts(userAddress, new Map([[poolId, strategy]]));
|
|
32
|
+
return strategy;
|
|
33
|
+
}
|
|
34
|
+
/** Calculate user's complete portfolio including net worth, aggregated APY, and alpha rewards. */
|
|
35
|
+
async getUserPortfolio(userAddress, strategiesType) {
|
|
36
|
+
const strategies = await this.protocol.getStrategies(strategiesType);
|
|
37
|
+
await this.updateStrategiesWithReceipts(userAddress, strategies);
|
|
38
|
+
// Fetch APR map once for all strategies
|
|
39
|
+
const aprMap = await this.strategyContext.getAprMap();
|
|
40
|
+
const balancesWithIds = await Promise.all(Array.from(strategies.entries()).map(async ([poolId, strategy]) => {
|
|
41
|
+
const balance = await strategy.getBalance(userAddress);
|
|
42
|
+
return [poolId, balance];
|
|
43
|
+
}));
|
|
44
|
+
const poolBalances = new Map(balancesWithIds);
|
|
45
|
+
let [netWorth, aggregatedApy] = [new Decimal(0), new Decimal(0)];
|
|
46
|
+
Array.from(poolBalances.entries()).forEach(([poolId, balance]) => {
|
|
47
|
+
const balanceUsd = 'stakedAlphaUsdValue' in balance ? balance.stakedAlphaUsdValue : balance.usdValue;
|
|
48
|
+
// Cap retired pool APY at 1000%
|
|
49
|
+
const aprData = aprMap.get(poolId) || {
|
|
50
|
+
baseApr: new Decimal(0),
|
|
51
|
+
alphaMiningApr: new Decimal(0),
|
|
52
|
+
apy: new Decimal(0),
|
|
53
|
+
lastAutocompounded: new Date(),
|
|
54
|
+
};
|
|
55
|
+
let apy = new Decimal(aprData.apy);
|
|
56
|
+
const isActive = strategies.get(poolId)?.getPoolLabel()?.isActive;
|
|
57
|
+
if (isActive === false && apy.gt(1000)) {
|
|
58
|
+
apy = new Decimal(1000);
|
|
59
|
+
}
|
|
60
|
+
netWorth = netWorth.add(balanceUsd);
|
|
61
|
+
aggregatedApy = aggregatedApy.add(balanceUsd.mul(apy));
|
|
62
|
+
});
|
|
63
|
+
aggregatedApy = netWorth.isZero() ? new Decimal(0) : aggregatedApy.div(netWorth);
|
|
64
|
+
// Sum alpha rewards across all strategies
|
|
65
|
+
const distributor = await this.strategyContext.getDistributorObject();
|
|
66
|
+
let alphaRewardsToClaim = new Decimal(0);
|
|
67
|
+
for (const strategy of strategies.values()) {
|
|
68
|
+
alphaRewardsToClaim = alphaRewardsToClaim.add(strategy.getAlphaMiningRewardsToClaim(distributor));
|
|
69
|
+
}
|
|
70
|
+
return { netWorth, aggregatedApy, alphaRewardsToClaim, poolBalances };
|
|
71
|
+
}
|
|
72
|
+
/** Update strategies with user's receipt objects and positions. */
|
|
73
|
+
async updateStrategiesWithReceipts(userAddress, strategies) {
|
|
74
|
+
const poolLabels = Array.from(strategies.values()).map((strategy) => strategy.getPoolLabel());
|
|
75
|
+
const receiptTypes = [];
|
|
76
|
+
let [hasSlushLending, hasFungible, hasAlphaVault] = [false, false, false];
|
|
77
|
+
poolLabels.forEach((poolLabel) => {
|
|
78
|
+
switch (poolLabel.strategyType) {
|
|
79
|
+
case 'AlphaVault':
|
|
80
|
+
hasAlphaVault = true;
|
|
81
|
+
break;
|
|
82
|
+
case 'AutobalanceLp':
|
|
83
|
+
case 'Lending':
|
|
84
|
+
case 'Looping':
|
|
85
|
+
case 'Lp':
|
|
86
|
+
case 'Lyf':
|
|
87
|
+
case 'SingleAssetLooping':
|
|
88
|
+
receiptTypes.push(poolLabel.receipt.type);
|
|
89
|
+
break;
|
|
90
|
+
case 'FungibleLp':
|
|
91
|
+
hasFungible = true;
|
|
92
|
+
break;
|
|
93
|
+
case 'SlushLending':
|
|
94
|
+
hasSlushLending = true;
|
|
95
|
+
break;
|
|
96
|
+
case 'FungibleLending':
|
|
97
|
+
hasFungible = true;
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
const [slushPositions, alphafiPositions, receiptObjects, coinBalances] = await Promise.all([
|
|
104
|
+
hasSlushLending
|
|
105
|
+
? this.strategyContext.getAllSlushPositions(userAddress)
|
|
106
|
+
: Promise.resolve(new Map()),
|
|
107
|
+
hasAlphaVault
|
|
108
|
+
? this.strategyContext.getPositionsFromAlphaFiReceipts(userAddress)
|
|
109
|
+
: Promise.resolve(new Map()),
|
|
110
|
+
this.strategyContext.blockchain.multiGetReceipts(userAddress, receiptTypes),
|
|
111
|
+
hasFungible ? this.getWalletCoins(userAddress) : Promise.resolve(new Map()),
|
|
112
|
+
]);
|
|
113
|
+
strategies.forEach((strategy, poolId) => {
|
|
114
|
+
switch (strategy.getPoolLabel().strategyType) {
|
|
115
|
+
case 'AlphaVault': {
|
|
116
|
+
const alphaVaultStrategy = strategy;
|
|
117
|
+
alphaVaultStrategy.updateReceipts(receiptObjects.get(alphaVaultStrategy.getPoolLabel().receipt.type) ?? [], alphafiPositions.get(poolId) ?? []);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
case 'AutobalanceLp': {
|
|
121
|
+
const autobalanceLpStrategy = strategy;
|
|
122
|
+
autobalanceLpStrategy.updateReceipts(receiptObjects.get(autobalanceLpStrategy.getPoolLabel().receipt.type) ?? []);
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
case 'FungibleLp': {
|
|
126
|
+
const fungibleLpStrategy = strategy;
|
|
127
|
+
fungibleLpStrategy.updateReceipts(new Decimal(coinBalances.get(strategy.getPoolLabel().fungibleCoin.type) ?? '0'));
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
case 'Lending': {
|
|
131
|
+
const lendingStrategy = strategy;
|
|
132
|
+
lendingStrategy.updateReceipts(receiptObjects.get(lendingStrategy.getPoolLabel().receipt.type) ?? []);
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
case 'Looping': {
|
|
136
|
+
const loopingStrategy = strategy;
|
|
137
|
+
loopingStrategy.updateReceipts(receiptObjects.get(loopingStrategy.getPoolLabel().receipt.type) ?? []);
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
case 'Lp': {
|
|
141
|
+
const lpStrategy = strategy;
|
|
142
|
+
lpStrategy.updateReceipts(receiptObjects.get(lpStrategy.getPoolLabel().receipt.type) ?? []);
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
case 'Lyf': {
|
|
146
|
+
const lyfStrategy = strategy;
|
|
147
|
+
lyfStrategy.updateReceipts(receiptObjects.get(lyfStrategy.getPoolLabel().receipt.type) ?? []);
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
case 'SingleAssetLooping': {
|
|
151
|
+
const singleAssetLoopingStrategy = strategy;
|
|
152
|
+
singleAssetLoopingStrategy.updateReceipts(receiptObjects.get(singleAssetLoopingStrategy.getPoolLabel().receipt.type) ?? []);
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
case 'SlushLending': {
|
|
156
|
+
const slushLendingStrategy = strategy;
|
|
157
|
+
slushLendingStrategy.updateReceipts(slushPositions.get(poolId) ?? []);
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
case 'FungibleLending': {
|
|
161
|
+
const fungibleLpStrategy = strategy;
|
|
162
|
+
fungibleLpStrategy.updateReceipts(new Decimal(coinBalances.get(strategy.getPoolLabel().fungibleCoin.type) ?? '0'));
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=portfolio.js.map
|