@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 @@
|
|
|
1
|
+
{"version":3,"file":"slushLending.js","sourceRoot":"","sources":["../../../src/strategies/slushLending.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SlushLending Strategy\n */\n\nimport { Decimal } from 'decimal.js';\nimport { AlphaMiningData, BaseStrategy, ProtocolType, StringMap } from './strategy.js';\nimport { PoolBalance, PoolData, SingleTvl } from '../models/types.js';\nimport { StrategyContext } from '../models/strategyContext.js';\nimport { DepositOptions, WithdrawOptions } from '../core/types.js';\nimport { Transaction, TransactionResult } from '@mysten/sui/transactions';\nimport { AlphalendClient } from '@alphafi/alphalend-sdk';\nimport {\n ALPHALEND_LENDING_PROTOCOL_ID,\n CLOCK_PACKAGE_ID,\n GLOBAL_CONFIGS,\n IMAGE_URLS,\n SUI_SYSTEM_STATE,\n VERSIONS,\n} from '../utils/constants.js';\n\n/**\n * SlushLending Strategy for slush lending pools without alpha mining\n */\nexport class SlushLendingStrategy extends BaseStrategy<\n SlushLendingPoolObject,\n never,\n never,\n SlushLendingReceiptObject\n> {\n private poolLabel: SlushLendingPoolLabel;\n private poolObject: SlushLendingPoolObject;\n private receiptObjects: SlushLendingReceiptObject[] = [];\n private context: StrategyContext;\n\n constructor(poolLabel: SlushLendingPoolLabel, poolObject: any, context: StrategyContext) {\n super();\n this.poolLabel = poolLabel;\n this.poolObject = this.parsePoolObject(poolObject);\n this.context = context;\n }\n\n getPoolLabel(): SlushLendingPoolLabel {\n return this.poolLabel;\n }\n\n getOtherAmount(_amount: string, _isAmountA: boolean): [string, string] {\n throw new Error('getOtherAmount is not supported for single-asset SlushLending strategy');\n }\n\n updateReceipts(receipts: any[]): void {\n this.receiptObjects = this.parseReceiptObjects(receipts);\n }\n\n /**\n * Returns alpha mining data - SlushLending pools do not support alpha mining\n */\n protected getAlphaMiningData(): AlphaMiningData {\n return {\n poolId: this.poolLabel.poolId,\n accRewardsPerXtoken: [],\n xTokenSupply: '0',\n receipt: null,\n };\n }\n\n /**\n * Get the exchange rate for xtoken to underlying token ratio\n * Calculated as tokens_invested / xtoken_supply\n */\n exchangeRate(): Decimal {\n const tokensInvested = new Decimal(this.poolObject.tokensInvested);\n const xtokenSupply = new Decimal(this.poolObject.xTokenSupply);\n\n if (xtokenSupply.isZero()) {\n return new Decimal(1);\n }\n\n return tokensInvested.div(xtokenSupply);\n }\n\n /**\n * Get comprehensive pool data including TVL and APR information\n */\n async getData(): Promise<PoolData> {\n const [_alphafi, parent, apr] = await Promise.all([\n this.getTvl(),\n this.getParentTvl(),\n this.context.getAprData(this.poolLabel.poolId),\n ]);\n return {\n poolId: this.poolLabel.poolId,\n strategyType: this.poolLabel.strategyType,\n coinType: this.poolLabel.asset.type,\n poolName: this.poolLabel.poolName,\n apr,\n tvl: {\n alphafi: parent,\n parent,\n },\n };\n }\n\n /**\n * Calculate total value locked using current asset price\n */\n async getTvl(): Promise<SingleTvl> {\n const coinType = this.poolLabel.asset.type;\n const [price, decimals] = await Promise.all([\n this.context.getCoinPrice(coinType),\n this.context.getCoinDecimals(coinType),\n ]);\n const tokenAmount = new Decimal(this.poolObject.tokensInvested).div(\n new Decimal(10).pow(decimals),\n );\n const usdValue = tokenAmount.mul(price);\n return { tokenAmount, usdValue };\n }\n\n /**\n * Calculate parent protocol TVL (Alphalend only)\n */\n async getParentTvl(): Promise<SingleTvl> {\n const protocol = this.poolLabel.parentProtocol;\n if (protocol !== 'Alphalend') {\n throw new Error(`Unsupported parent protocol for SlushLending: ${protocol}`);\n }\n const [tokenAmount, price] = await Promise.all([\n this.context.getAlphaLendTvl(this.poolLabel.asset.type),\n this.context.getCoinPrice(this.poolLabel.asset.type),\n ]);\n return { tokenAmount, usdValue: tokenAmount.mul(price) };\n }\n\n /**\n * Calculate user's current pool balance from xToken balance\n * Converts xTokens to underlying tokens via exchange rate\n */\n async getBalance(_userAddress: string): Promise<PoolBalance> {\n if (this.receiptObjects.length === 0 || this.receiptObjects[0].xTokens === '0') {\n return { tokenAmount: new Decimal(0), usdValue: new Decimal(0) };\n }\n const xTokens = new Decimal(this.receiptObjects[0].xTokens);\n const [price, exchangeRate, decimals] = await Promise.all([\n this.context.getCoinPrice(this.poolLabel.asset.type),\n Promise.resolve(this.exchangeRate()),\n this.context.getCoinDecimals(this.poolLabel.asset.type),\n ]);\n const tokens = xTokens.mul(exchangeRate).div(new Decimal(10).pow(decimals));\n return { tokenAmount: tokens, usdValue: tokens.mul(price) };\n }\n\n /**\n * Parse pool object from blockchain response\n */\n parsePoolObject(response: any): SlushLendingPoolObject {\n return this.safeParseObject(() => {\n const fields = this.extractFields(response);\n\n return {\n id: this.getStringField(fields, 'id'),\n xTokenSupply: this.getNestedField(fields, 'xTokenSupply.value'),\n tokensInvested: this.getStringField(fields, 'tokensInvested'),\n interestBasedRewardsData: {\n rewardBalance: this.getStringField(fields.interest_based_rewards_data, 'reward_balance'),\n lastUpdatedTimestamp: this.getStringField(\n fields.interest_based_rewards_data,\n 'last_updated_timestamp',\n ),\n rewardShareFromInterestBps: this.getNestedField(\n fields.interest_based_rewards_data,\n 'reward_share_from_interest_bps.value',\n ),\n },\n timeBasedRewardsData: {\n rewardBalance: this.getStringField(fields.time_based_rewards_data, 'reward_balance'),\n startTime: this.getStringField(fields.time_based_rewards_data, 'start_time'),\n endTime: this.getStringField(fields.time_based_rewards_data, 'end_time'),\n rewardPerMs: this.getNestedField(fields.time_based_rewards_data, 'reward_per_ms.value'),\n lastUpdatedTimestamp: this.getStringField(\n fields.time_based_rewards_data,\n 'last_updated_timestamp',\n ),\n },\n positionCount: this.getNestedField(fields, 'positions.size'),\n positionsTableId: this.getNestedField(fields, 'positions.id'),\n feeCollected: this.getStringField(fields, 'fee_collected'),\n depositFee: this.getStringField(fields, 'deposit_fee'),\n depositFeeMaxCap: this.getStringField(fields, 'deposit_fee_max_cap'),\n withdrawalFee: this.getStringField(fields, 'withdrawal_fee'),\n withdrawFeeMaxCap: this.getStringField(fields, 'withdraw_fee_max_cap'),\n investor: {\n id: this.getStringField(fields.investor, 'id'),\n marketId: this.getStringField(fields.investor, 'market_id'),\n },\n paused: this.getBooleanField(fields, 'paused', false),\n };\n }, 'Failed to parse Slush Lending pool object');\n }\n\n /**\n * Parse investor object (not applicable for SlushLending)\n */\n parseInvestorObject(_: any): never {\n throw new Error('Investor object not used for SlushLending');\n }\n\n /**\n * Parse parent pool object (not applicable for SlushLending)\n */\n parseParentPoolObject(_: any): never {\n throw new Error('Parent pool object not used for SlushLending');\n }\n\n /**\n * Parse receipt objects from blockchain responses\n */\n parseReceiptObjects(responses: any[]): SlushLendingReceiptObject[] {\n return responses.map((response, index) => {\n return this.safeParseObject(() => {\n const fields = this.extractFields(response);\n\n return {\n id: this.getStringField(fields, 'id'),\n positionCapId: this.getStringField(fields, 'position_cap_id'),\n poolId: this.getStringField(fields, 'pool_id'),\n coinType: this.getNestedField(fields, 'coin_type.name'),\n principal: this.getStringField(fields, 'principal'),\n xTokens:\n this.getStringField(fields, 'xtokens') ||\n this.getStringField(fields, 'x_token_balance') ||\n this.getStringField(fields, 'xTokenBalance'),\n };\n }, `Failed to parse Slush Lending receipt object at index ${index}`);\n });\n }\n\n createPositionCap(tx: Transaction): TransactionResult {\n const urlBytes = Array.from(new TextEncoder().encode(IMAGE_URLS.SLUSH_POSITION_CAP));\n const positionCap = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::create_position_cap`,\n arguments: [tx.pure.vector('u8', urlBytes)],\n });\n\n return positionCap;\n }\n\n private coinAmountToXToken(amount: string): string {\n const exchangeRate = this.exchangeRate();\n return new Decimal(amount).div(exchangeRate).floor().toString();\n }\n\n private async collectAndSwapRewards(tx: Transaction) {\n const [alphaCoin, stsuiCoin, suiCoin, blueCoin, deepCoin, usdcCoin, walCoin] =\n await this.context.getCoinsBySymbols([\n 'ALPHA',\n 'stSUI',\n 'SUI',\n 'BLUE',\n 'DEEP',\n 'USDC',\n 'WAL',\n ]);\n\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, alphaCoin.coinType, stsuiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('ALPHA', 'stSUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, stsuiCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('stSUI', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, blueCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('BLUE', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n\n if (this.poolLabel.asset.type !== deepCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, deepCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('DEEP', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n\n if (this.poolLabel.asset.type === usdcCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, suiCoin.coinType, this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('SUI', 'USDC', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(true),\n tx.pure.bool(false),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (this.poolLabel.asset.type === walCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, walCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('WAL', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(false),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n } else if (this.poolLabel.asset.type === deepCoin.coinType) {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [this.poolLabel.asset.type, deepCoin.coinType, suiCoin.coinType],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(this.poolLabel.poolId),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(await this.context.getPoolIdBySymbolsAndProtocol('DEEP', 'SUI', 'bluefin')),\n tx.object(GLOBAL_CONFIGS.BLUEFIN),\n tx.pure.bool(false),\n tx.pure.bool(true),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n }\n\n async deposit(tx: Transaction, options: DepositOptions) {\n const alphalendClient = new AlphalendClient('mainnet', this.context.blockchain.suiClient);\n await alphalendClient.updatePrices(tx, [this.poolLabel.asset.type]);\n\n // Get coin object\n const depositCoin = await this.context.blockchain.getCoinObject(\n tx,\n this.poolLabel.asset.type,\n options.address,\n BigInt(options.amount),\n );\n\n await this.collectAndSwapRewards(tx);\n\n const positionCaps = await this.context.getSlushPositionCaps(options.address);\n if (positionCaps.length === 0) {\n const positionCap: TransactionResult = this.createPositionCap(tx);\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::user_deposit`,\n typeArguments: [this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n positionCap,\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n tx.transferObjects([positionCap], options.address);\n } else {\n tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::user_deposit`,\n typeArguments: [this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(positionCaps[0].id),\n tx.object(this.poolLabel.poolId),\n depositCoin,\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n }\n }\n\n async withdraw(tx: Transaction, options: WithdrawOptions) {\n if (this.receiptObjects.length === 0) {\n throw new Error('No receipt found for withdraw');\n }\n\n const alphalendClient = new AlphalendClient('mainnet', this.context.blockchain.suiClient);\n await alphalendClient.updatePrices(tx, [this.poolLabel.asset.type]);\n\n let xTokenAmount = this.coinAmountToXToken(options.amount);\n if (options.withdrawMax) {\n xTokenAmount = this.receiptObjects[0].xTokens;\n }\n\n await this.collectAndSwapRewards(tx);\n\n const positionCaps = await this.context.getSlushPositionCaps(options.address);\n const [slushCoin] = tx.moveCall({\n target: `${this.poolLabel.packageId}::alphalend_slush_pool::user_withdraw`,\n typeArguments: [this.poolLabel.asset.type],\n arguments: [\n tx.object(VERSIONS.SLUSH),\n tx.object(positionCaps[0].id),\n tx.object(this.poolLabel.poolId),\n tx.pure.u64(xTokenAmount),\n tx.object(ALPHALEND_LENDING_PROTOCOL_ID),\n tx.object(SUI_SYSTEM_STATE),\n tx.object(CLOCK_PACKAGE_ID),\n ],\n });\n\n tx.transferObjects([slushCoin], options.address);\n }\n\n async claimRewards(_tx: Transaction, _alphaReceipt: TransactionResult) {\n return;\n }\n}\n\n/**\n * SlushLending Pool object data structure\n */\nexport interface SlushLendingPoolObject {\n id: string;\n xTokenSupply: string;\n tokensInvested: string;\n interestBasedRewardsData: {\n rewardBalance: string;\n lastUpdatedTimestamp: string;\n rewardShareFromInterestBps: string;\n };\n timeBasedRewardsData: {\n rewardBalance: string;\n startTime: string;\n endTime: string;\n rewardPerMs: string;\n lastUpdatedTimestamp: string;\n };\n positionCount: string;\n positionsTableId: string;\n feeCollected: string;\n depositFee: string;\n depositFeeMaxCap: string;\n withdrawalFee: string;\n withdrawFeeMaxCap: string;\n investor: {\n id: string;\n marketId: string;\n };\n paused: boolean;\n}\n\n/**\n * SlushLending Receipt object data structure\n */\nexport interface SlushLendingReceiptObject {\n id: string;\n positionCapId: string;\n poolId: string;\n coinType: string;\n principal: string;\n xTokens: string;\n}\n\n/**\n * SlushLending Pool Label configuration\n */\nexport interface SlushLendingPoolLabel {\n poolId: string;\n packageId: string;\n packageNumber: number;\n strategyType: 'SlushLending';\n parentProtocol: ProtocolType;\n asset: StringMap;\n events: {\n autocompoundEventType: string;\n };\n isActive: boolean;\n poolName: string;\n isNative: boolean;\n}\n"]}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy interfaces and shared helpers used by all strategy implementations.
|
|
3
|
+
*/
|
|
4
|
+
import { Decimal } from 'decimal.js';
|
|
5
|
+
import { SingleTvl, DoubleTvl, PoolData, PoolBalance, DistributorObject } from '../models/types.js';
|
|
6
|
+
import { Transaction, TransactionResult } from '@mysten/sui/transactions';
|
|
7
|
+
import { DepositOptions, WithdrawOptions } from '../core/types.js';
|
|
8
|
+
export interface StringMap {
|
|
9
|
+
[key: string]: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Minimal data needed to compute ALPHA mining rewards for a user.
|
|
13
|
+
*
|
|
14
|
+
* Strategies that don't participate in alpha mining should return `receipt: null`.
|
|
15
|
+
*/
|
|
16
|
+
export interface AlphaMiningData {
|
|
17
|
+
poolId: string;
|
|
18
|
+
accRewardsPerXtoken: StringMap[];
|
|
19
|
+
xTokenSupply: string;
|
|
20
|
+
receipt: {
|
|
21
|
+
lastAccRewardPerXtoken: StringMap[];
|
|
22
|
+
pendingRewards: StringMap[];
|
|
23
|
+
xTokenBalance: string;
|
|
24
|
+
} | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Struct tag for the ALPHA coin used by the distributor.
|
|
28
|
+
*/
|
|
29
|
+
export declare const ALPHA_COIN_TYPE = "fe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA";
|
|
30
|
+
export type StrategyType = 'AlphaVault' | 'Lp' | 'FungibleLp' | 'AutobalanceLp' | 'Lending' | 'SlushLending' | 'Looping' | 'SingleAssetLooping' | 'Lyf' | 'FungibleLending';
|
|
31
|
+
export type ProtocolType = 'AlphaFi' | 'Navi' | 'Alphalend' | 'Cetus' | 'Bluefin' | 'Bucket' | 'DeepBook';
|
|
32
|
+
export type LpPoolLabel = import('./lp.js').LpPoolLabel;
|
|
33
|
+
export type AlphaVaultPoolLabel = import('./alphaVault.js').AlphaVaultPoolLabel;
|
|
34
|
+
export type AutobalanceLpPoolLabel = import('./autobalanceLp.js').AutobalanceLpPoolLabel;
|
|
35
|
+
export type FungibleLpPoolLabel = import('./fungibleLp.js').FungibleLpPoolLabel;
|
|
36
|
+
export type LendingPoolLabel = import('./lending.js').LendingPoolLabel;
|
|
37
|
+
export type SlushLendingPoolLabel = import('./slushLending.js').SlushLendingPoolLabel;
|
|
38
|
+
export type LoopingPoolLabel = import('./looping.js').LoopingPoolLabel;
|
|
39
|
+
export type SingleAssetLoopingPoolLabel = import('./singleAssetLooping.js').SingleAssetLoopingPoolLabel;
|
|
40
|
+
export type LyfPoolLabel = import('./lyf.js').LyfPoolLabel;
|
|
41
|
+
export type FungibleLendingPoolLabel = import('./fungibleLending.js').FungibleLendingPoolLabel;
|
|
42
|
+
/**
|
|
43
|
+
* Union of all strategy-specific pool label types.
|
|
44
|
+
*/
|
|
45
|
+
export type PoolLabel = LpPoolLabel | AlphaVaultPoolLabel | AutobalanceLpPoolLabel | FungibleLpPoolLabel | LendingPoolLabel | SlushLendingPoolLabel | LoopingPoolLabel | SingleAssetLoopingPoolLabel | LyfPoolLabel | FungibleLendingPoolLabel;
|
|
46
|
+
/**
|
|
47
|
+
* Common strategy surface used by the SDK.
|
|
48
|
+
*/
|
|
49
|
+
export interface Strategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any> {
|
|
50
|
+
/**
|
|
51
|
+
* Parse a pool object fetched from chain into a typed shape.
|
|
52
|
+
*/
|
|
53
|
+
parsePoolObject(response: any): TPool;
|
|
54
|
+
/**
|
|
55
|
+
* Parse an investor object fetched from chain into a typed shape.
|
|
56
|
+
*/
|
|
57
|
+
parseInvestorObject(response: any): TInvestor;
|
|
58
|
+
/**
|
|
59
|
+
* Parse a parent pool object (underlying protocol) fetched from chain.
|
|
60
|
+
*/
|
|
61
|
+
parseParentPoolObject(response: any): TParentPool;
|
|
62
|
+
/**
|
|
63
|
+
* Parse receipt objects fetched from chain.
|
|
64
|
+
*/
|
|
65
|
+
parseReceiptObjects(responses: any[]): TReceipt[];
|
|
66
|
+
/**
|
|
67
|
+
* Current exchange rate used by the strategy.
|
|
68
|
+
* Typically: `tokens_invested / xToken_supply`.
|
|
69
|
+
*/
|
|
70
|
+
exchangeRate(): Decimal;
|
|
71
|
+
/**
|
|
72
|
+
* TVL for the AlphaFi pool and the underlying parent protocol (if any).
|
|
73
|
+
*/
|
|
74
|
+
getTvl(): Promise<SingleTvl | DoubleTvl>;
|
|
75
|
+
getParentTvl(): Promise<SingleTvl | DoubleTvl>;
|
|
76
|
+
/**
|
|
77
|
+
* User balance breakdown for this pool.
|
|
78
|
+
*/
|
|
79
|
+
getBalance(userAddress: string): Promise<PoolBalance>;
|
|
80
|
+
/**
|
|
81
|
+
* Static metadata/config for this pool (from config API).
|
|
82
|
+
*/
|
|
83
|
+
getPoolLabel(): PoolLabel;
|
|
84
|
+
/**
|
|
85
|
+
* High-level pool summary (APR + TVL + strategy-specific metadata).
|
|
86
|
+
*/
|
|
87
|
+
getData(): Promise<PoolData>;
|
|
88
|
+
/**
|
|
89
|
+
* Compute ALPHA mining rewards claimable for this pool.
|
|
90
|
+
*
|
|
91
|
+
* Note: this uses the cached distributor object from `StrategyContext`.
|
|
92
|
+
*/
|
|
93
|
+
getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal;
|
|
94
|
+
/**
|
|
95
|
+
* Get the other amount for a given amount and isAmountA flag.
|
|
96
|
+
*
|
|
97
|
+
* @param amount - The amount to get the other amount for
|
|
98
|
+
* @param isAmountA - Whether the amount is amount A
|
|
99
|
+
* @returns The other amount
|
|
100
|
+
*/
|
|
101
|
+
getOtherAmount(amount: string, isAmountA: boolean): [string, string];
|
|
102
|
+
/**
|
|
103
|
+
* Deposit assets into the pool.
|
|
104
|
+
*
|
|
105
|
+
* @param options - The options for the deposit
|
|
106
|
+
* @returns Transaction to deposit assets into the pool
|
|
107
|
+
*/
|
|
108
|
+
deposit(tx: Transaction, options: DepositOptions): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Withdraw assets from the pool.
|
|
111
|
+
*
|
|
112
|
+
* @param options - The options for the withdrawal
|
|
113
|
+
* @returns Transaction to withdraw assets from the pool
|
|
114
|
+
*/
|
|
115
|
+
withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;
|
|
116
|
+
/**
|
|
117
|
+
* Claim rewards for a specific pool.
|
|
118
|
+
*
|
|
119
|
+
* @param poolId - The ID of the pool to claim rewards for
|
|
120
|
+
* @param address - The address of the user to claim rewards for
|
|
121
|
+
* @returns Transaction to claim rewards for the specified pool
|
|
122
|
+
*/
|
|
123
|
+
claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Create an AlphaFi receipt.
|
|
126
|
+
*
|
|
127
|
+
* @param tx - The transaction to create the AlphaFi receipt
|
|
128
|
+
* @returns Transaction to create the AlphaFi receipt
|
|
129
|
+
*/
|
|
130
|
+
createAlphaFiReceipt(tx: Transaction): TransactionResult;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Base class shared by all strategies.
|
|
134
|
+
* Provides parsing helpers and common reward calculation logic.
|
|
135
|
+
*/
|
|
136
|
+
export declare abstract class BaseStrategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any> implements Strategy<TPool, TInvestor, TParentPool, TReceipt> {
|
|
137
|
+
abstract parsePoolObject(response: any): TPool;
|
|
138
|
+
abstract parseInvestorObject(response: any): TInvestor;
|
|
139
|
+
abstract parseParentPoolObject(response: any): TParentPool;
|
|
140
|
+
abstract parseReceiptObjects(responses: any[]): TReceipt[];
|
|
141
|
+
abstract exchangeRate(): Decimal;
|
|
142
|
+
abstract getTvl(): Promise<SingleTvl | DoubleTvl>;
|
|
143
|
+
abstract getParentTvl(): Promise<SingleTvl | DoubleTvl>;
|
|
144
|
+
abstract getData(): Promise<PoolData>;
|
|
145
|
+
abstract getBalance(userAddress: string): Promise<PoolBalance>;
|
|
146
|
+
abstract getPoolLabel(): PoolLabel;
|
|
147
|
+
abstract getOtherAmount(amount: string, isAmountA: boolean): [string, string];
|
|
148
|
+
abstract deposit(tx: Transaction, options: DepositOptions): Promise<void>;
|
|
149
|
+
abstract withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;
|
|
150
|
+
abstract claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;
|
|
151
|
+
createAlphaFiReceipt(tx: Transaction): TransactionResult;
|
|
152
|
+
/**
|
|
153
|
+
* Provide the inputs needed to compute ALPHA mining rewards for this strategy.
|
|
154
|
+
* Return `receipt: null` if the strategy/user has no alpha mining position.
|
|
155
|
+
*/
|
|
156
|
+
protected abstract getAlphaMiningData(): AlphaMiningData;
|
|
157
|
+
/**
|
|
158
|
+
* Compute claimable ALPHA rewards using the distributor + pool/receipt accounting.
|
|
159
|
+
* Returns a human-readable amount (divided by 1e9).
|
|
160
|
+
*/
|
|
161
|
+
getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal;
|
|
162
|
+
/**
|
|
163
|
+
* Helper function to get string field from JSON with validation
|
|
164
|
+
*/
|
|
165
|
+
protected getStringField(fieldsJson: any, fieldName: string): string;
|
|
166
|
+
/**
|
|
167
|
+
* Helper function to get boolean field from JSON with default value
|
|
168
|
+
*/
|
|
169
|
+
protected getBooleanField(fieldsJson: any, fieldName: string, defaultValue: boolean): boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Helper function to get number field from JSON
|
|
172
|
+
*/
|
|
173
|
+
protected getNumberField(fieldsJson: any, fieldName: string): number;
|
|
174
|
+
/**
|
|
175
|
+
* Helper function to parse VecMap structures from Move objects into StringMap format
|
|
176
|
+
*/
|
|
177
|
+
protected parseVecMap(vecMapField: any): {
|
|
178
|
+
key: any;
|
|
179
|
+
value: any;
|
|
180
|
+
}[];
|
|
181
|
+
/**
|
|
182
|
+
* Helper function to convert ASCII array from JSON to string
|
|
183
|
+
*/
|
|
184
|
+
protected asciiToString(asciiArray: any): string;
|
|
185
|
+
/**
|
|
186
|
+
* Helper function to extract fields from various response formats
|
|
187
|
+
*/
|
|
188
|
+
protected extractFields(response: any): any;
|
|
189
|
+
/**
|
|
190
|
+
* Helper function to safely parse nested object fields
|
|
191
|
+
*/
|
|
192
|
+
protected getNestedField(obj: any, path: string): any;
|
|
193
|
+
/**
|
|
194
|
+
* Helper function to parse object with error handling
|
|
195
|
+
*/
|
|
196
|
+
protected safeParseObject<T>(parseFunction: () => T, errorMessage: string): T;
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=strategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/strategies/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strategy interfaces and shared helpers used by all strategy implementations.
|
|
3
|
+
*/
|
|
4
|
+
import { Decimal } from 'decimal.js';
|
|
5
|
+
import { IMAGE_URLS, PACKAGE_IDS } from '../utils/constants.js';
|
|
6
|
+
/**
|
|
7
|
+
* Struct tag for the ALPHA coin used by the distributor.
|
|
8
|
+
*/
|
|
9
|
+
export const ALPHA_COIN_TYPE = 'fe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA';
|
|
10
|
+
/**
|
|
11
|
+
* Base class shared by all strategies.
|
|
12
|
+
* Provides parsing helpers and common reward calculation logic.
|
|
13
|
+
*/
|
|
14
|
+
export class BaseStrategy {
|
|
15
|
+
createAlphaFiReceipt(tx) {
|
|
16
|
+
return tx.moveCall({
|
|
17
|
+
target: `${PACKAGE_IDS.ALPHAFI_RECEIPT}::alphafi_receipt::create_alphafi_receipt_v2`,
|
|
18
|
+
arguments: [tx.pure.string(IMAGE_URLS.ALPHAFI_RECEIPT)],
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Compute claimable ALPHA rewards using the distributor + pool/receipt accounting.
|
|
23
|
+
* Returns a human-readable amount (divided by 1e9).
|
|
24
|
+
*/
|
|
25
|
+
getAlphaMiningRewardsToClaim(distributor) {
|
|
26
|
+
const data = this.getAlphaMiningData();
|
|
27
|
+
// No receipt -> no position -> no alpha rewards.
|
|
28
|
+
if (!data.receipt) {
|
|
29
|
+
return new Decimal(0);
|
|
30
|
+
}
|
|
31
|
+
const { poolId, accRewardsPerXtoken, xTokenSupply, receipt } = data;
|
|
32
|
+
const { lastAccRewardPerXtoken, pendingRewards, xTokenBalance } = receipt;
|
|
33
|
+
// Get user's last accumulated reward per xtoken for ALPHA
|
|
34
|
+
const userLastAccEntry = lastAccRewardPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);
|
|
35
|
+
const userLastAcc = new Decimal(userLastAccEntry?.value || '0');
|
|
36
|
+
// Get user's xtoken balance
|
|
37
|
+
const userXtokenBalance = new Decimal(xTokenBalance || '0');
|
|
38
|
+
// Get pending alpha rewards from receipt
|
|
39
|
+
const pendingAlphaRewards = pendingRewards
|
|
40
|
+
.filter((entry) => entry.key === ALPHA_COIN_TYPE)
|
|
41
|
+
.reduce((acc, entry) => acc.add(new Decimal(entry.value || '0')), new Decimal(0));
|
|
42
|
+
// Get total alpha weight across all pools from distributor
|
|
43
|
+
const alphaRewardTotalWeight = distributor.poolAllocator.totalWeights.find((w) => w.key === ALPHA_COIN_TYPE)?.value || '0';
|
|
44
|
+
// Get distribution status for this pool
|
|
45
|
+
const memberEntry = distributor.poolAllocator.members.find((m) => m.key === poolId);
|
|
46
|
+
const alphaAllocatorDetailsForPool = memberEntry?.value.poolData.find((pd) => pd.key === ALPHA_COIN_TYPE)?.value;
|
|
47
|
+
// Calculate pending rewards for pool
|
|
48
|
+
let pendingRewardsForPool = new Decimal(0);
|
|
49
|
+
if (alphaAllocatorDetailsForPool) {
|
|
50
|
+
const currentTime = Date.now();
|
|
51
|
+
const pendingRewardsInAllocator = new Decimal(alphaAllocatorDetailsForPool.pendingRewards || '0');
|
|
52
|
+
const lastUpdateTime = parseInt(alphaAllocatorDetailsForPool.lastUpdateTime || '0', 10);
|
|
53
|
+
const weight = new Decimal(alphaAllocatorDetailsForPool.weight || '0');
|
|
54
|
+
const totalWeight = new Decimal(alphaRewardTotalWeight);
|
|
55
|
+
const target = new Decimal(distributor.target || '0');
|
|
56
|
+
// Calculate unlockPerMS (target per millisecond)
|
|
57
|
+
// unlock_per_ms = target * 2750000 / (4250000 * 100 * 86400000)
|
|
58
|
+
const unlockPerMs = target
|
|
59
|
+
.mul(new Decimal('2750000'))
|
|
60
|
+
.div(new Decimal('4250000').mul('100').mul('86400000'));
|
|
61
|
+
// Calculate time diff
|
|
62
|
+
const timeDiff = Math.max(0, currentTime - lastUpdateTime);
|
|
63
|
+
// Calculate additional rewards
|
|
64
|
+
let additionalRewards = new Decimal(0);
|
|
65
|
+
if (totalWeight.gt(0)) {
|
|
66
|
+
additionalRewards = new Decimal(timeDiff).mul(unlockPerMs).mul(weight).div(totalWeight);
|
|
67
|
+
}
|
|
68
|
+
pendingRewardsForPool = pendingRewardsInAllocator.add(additionalRewards);
|
|
69
|
+
}
|
|
70
|
+
// Get pool's accumulated rewards per xtoken for ALPHA
|
|
71
|
+
const alphaOldAccEntry = accRewardsPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);
|
|
72
|
+
const alphaOldAccInPool = new Decimal(alphaOldAccEntry?.value || '0');
|
|
73
|
+
// Get total xtoken supply from pool
|
|
74
|
+
const totalXtokenSupply = new Decimal(xTokenSupply || '0');
|
|
75
|
+
// Calculate new accumulated rewards per xtoken
|
|
76
|
+
const SCALE = new Decimal('1000000000000000000'); // 1e18
|
|
77
|
+
let addAcc = new Decimal(0);
|
|
78
|
+
if (totalXtokenSupply.gt(0)) {
|
|
79
|
+
addAcc = pendingRewardsForPool.div(totalXtokenSupply).mul(SCALE).mul(SCALE);
|
|
80
|
+
}
|
|
81
|
+
const alphaNewAccInPool = alphaOldAccInPool.add(addAcc);
|
|
82
|
+
// Calculate user's accrued rewards
|
|
83
|
+
// user_accrued_rewards = ((acc_new - acc_last) / SCALE^2) * user_balance
|
|
84
|
+
const deltaAcc = alphaNewAccInPool.sub(userLastAcc);
|
|
85
|
+
const userAccruedRewards = deltaAcc.div(SCALE.mul(SCALE)).mul(userXtokenBalance);
|
|
86
|
+
// Combine pending rewards and accrued rewards, then divide by 1e9 for human-readable amount
|
|
87
|
+
const totalPendingRewards = pendingAlphaRewards.add(userAccruedRewards).div(new Decimal(1e9));
|
|
88
|
+
return totalPendingRewards;
|
|
89
|
+
}
|
|
90
|
+
// ===== Parsing Helper Methods =====
|
|
91
|
+
/**
|
|
92
|
+
* Helper function to get string field from JSON with validation
|
|
93
|
+
*/
|
|
94
|
+
getStringField(fieldsJson, fieldName) {
|
|
95
|
+
const value = fieldsJson?.[fieldName];
|
|
96
|
+
if (typeof value === 'string') {
|
|
97
|
+
return value;
|
|
98
|
+
}
|
|
99
|
+
if (value !== undefined && value !== null) {
|
|
100
|
+
return String(value);
|
|
101
|
+
}
|
|
102
|
+
return '';
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Helper function to get boolean field from JSON with default value
|
|
106
|
+
*/
|
|
107
|
+
getBooleanField(fieldsJson, fieldName, defaultValue) {
|
|
108
|
+
const value = fieldsJson?.[fieldName];
|
|
109
|
+
if (typeof value === 'boolean') {
|
|
110
|
+
return value;
|
|
111
|
+
}
|
|
112
|
+
return defaultValue;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Helper function to get number field from JSON
|
|
116
|
+
*/
|
|
117
|
+
getNumberField(fieldsJson, fieldName) {
|
|
118
|
+
const value = fieldsJson?.[fieldName];
|
|
119
|
+
if (typeof value === 'number') {
|
|
120
|
+
return value;
|
|
121
|
+
}
|
|
122
|
+
if (typeof value === 'string') {
|
|
123
|
+
const parsed = parseInt(value, 10);
|
|
124
|
+
return isNaN(parsed) ? 0 : parsed;
|
|
125
|
+
}
|
|
126
|
+
return 0;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Helper function to parse VecMap structures from Move objects into StringMap format
|
|
130
|
+
*/
|
|
131
|
+
parseVecMap(vecMapField) {
|
|
132
|
+
if (!vecMapField || typeof vecMapField !== 'object') {
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
const contents = vecMapField.contents;
|
|
136
|
+
if (!Array.isArray(contents)) {
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
return contents.map((entry) => {
|
|
140
|
+
const key = entry?.key?.name;
|
|
141
|
+
const value = entry?.value;
|
|
142
|
+
return { key, value };
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Helper function to convert ASCII array from JSON to string
|
|
147
|
+
*/
|
|
148
|
+
asciiToString(asciiArray) {
|
|
149
|
+
if (Array.isArray(asciiArray)) {
|
|
150
|
+
try {
|
|
151
|
+
const bytes = asciiArray.map((n) => {
|
|
152
|
+
const num = typeof n === 'number' ? n : parseInt(n);
|
|
153
|
+
if (num < 0 || num > 255) {
|
|
154
|
+
throw new Error('ASCII value out of range');
|
|
155
|
+
}
|
|
156
|
+
return num;
|
|
157
|
+
});
|
|
158
|
+
return String.fromCharCode(...bytes);
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
console.error('Error converting ASCII array to string:', error);
|
|
162
|
+
return '';
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
return '';
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Helper function to extract fields from various response formats
|
|
169
|
+
*/
|
|
170
|
+
extractFields(response) {
|
|
171
|
+
return response.fields || response.content?.fields || response;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Helper function to safely parse nested object fields
|
|
175
|
+
*/
|
|
176
|
+
getNestedField(obj, path) {
|
|
177
|
+
return path.split('.').reduce((current, key) => current?.[key], obj);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Helper function to parse object with error handling
|
|
181
|
+
*/
|
|
182
|
+
safeParseObject(parseFunction, errorMessage) {
|
|
183
|
+
try {
|
|
184
|
+
return parseFunction();
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
console.error(`${errorMessage}:`, error);
|
|
188
|
+
throw new Error(`${errorMessage}: ${error}`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/strategies/strategy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAsBhE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,gFAAgF,CAAC;AA0JnF;;;GAGG;AACH,MAAM,OAAgB,YAAY;IAkBhC,oBAAoB,CAAC,EAAe;QAClC,OAAO,EAAE,CAAC,QAAQ,CAAC;YACjB,MAAM,EAAE,GAAG,WAAW,CAAC,eAAe,8CAA8C;YACpF,SAAS,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAQD;;;OAGG;IACH,4BAA4B,CAAC,WAA8B;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEvC,iDAAiD;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACpE,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAE1E,0DAA0D;QAC1D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;QAC/F,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;QAEhE,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC;QAE5D,yCAAyC;QACzC,MAAM,mBAAmB,GAAG,cAAc;aACvC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC;aAChD,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpF,2DAA2D;QAC3D,MAAM,sBAAsB,GAC1B,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,eAAe,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;QAE9F,wCAAwC;QACxC,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;QACpF,MAAM,4BAA4B,GAAG,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CACnE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,eAAe,CACnC,EAAE,KAAK,CAAC;QAET,qCAAqC;QACrC,IAAI,qBAAqB,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,4BAA4B,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,MAAM,yBAAyB,GAAG,IAAI,OAAO,CAC3C,4BAA4B,CAAC,cAAc,IAAI,GAAG,CACnD,CAAC;YACF,MAAM,cAAc,GAAG,QAAQ,CAAC,4BAA4B,CAAC,cAAc,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;YACxF,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,4BAA4B,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YACvE,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YAEtD,iDAAiD;YACjD,gEAAgE;YAChE,MAAM,WAAW,GAAG,MAAM;iBACvB,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;iBAC3B,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YAE1D,sBAAsB;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC,CAAC;YAE3D,+BAA+B;YAC/B,IAAI,iBAAiB,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,iBAAiB,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1F,CAAC;YAED,qBAAqB,GAAG,yBAAyB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC3E,CAAC;QAED,sDAAsD;QACtD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;QAEtE,oCAAoC;QACpC,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,CAAC;QAE3D,+CAA+C;QAC/C,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO;QACzD,IAAI,MAAM,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAExD,mCAAmC;QACnC,yEAAyE;QACzE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAEjF,4FAA4F;QAC5F,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9F,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,qCAAqC;IAErC;;OAEG;IACO,cAAc,CAAC,UAAe,EAAE,SAAiB;QACzD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACO,eAAe,CAAC,UAAe,EAAE,SAAiB,EAAE,YAAqB;QACjF,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,UAAe,EAAE,SAAiB;QACzD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACO,WAAW,CAAC,WAAgB;QACpC,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC;YAC7B,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;YAC3B,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,UAAe;QACrC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBACtC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpD,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;wBACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;gBAChE,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,QAAa;QACnC,OAAO,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC;IACjE,CAAC;IAED;;OAEG;IACO,cAAc,CAAC,GAAQ,EAAE,IAAY;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACO,eAAe,CAAI,aAAsB,EAAE,YAAoB;QACvE,IAAI,CAAC;YACH,OAAO,aAAa,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["/**\n * Strategy interfaces and shared helpers used by all strategy implementations.\n */\n\nimport { Decimal } from 'decimal.js';\nimport { SingleTvl, DoubleTvl, PoolData, PoolBalance, DistributorObject } from '../models/types.js';\nimport { Transaction, TransactionResult } from '@mysten/sui/transactions';\nimport { DepositOptions, WithdrawOptions } from '../core/types.js';\nimport { IMAGE_URLS, PACKAGE_IDS } from '../utils/constants.js';\n\nexport interface StringMap {\n [key: string]: string;\n}\n\n/**\n * Minimal data needed to compute ALPHA mining rewards for a user.\n *\n * Strategies that don't participate in alpha mining should return `receipt: null`.\n */\nexport interface AlphaMiningData {\n poolId: string;\n accRewardsPerXtoken: StringMap[];\n xTokenSupply: string;\n receipt: {\n lastAccRewardPerXtoken: StringMap[];\n pendingRewards: StringMap[];\n xTokenBalance: string;\n } | null;\n}\n\n/**\n * Struct tag for the ALPHA coin used by the distributor.\n */\nexport const ALPHA_COIN_TYPE =\n 'fe3afec26c59e874f3c1d60b8203cb3852d2bb2aa415df9548b8d688e6683f93::alpha::ALPHA';\n\n// ===== Common Pool Label Types =====\n\nexport type StrategyType =\n | 'AlphaVault'\n | 'Lp'\n | 'FungibleLp'\n | 'AutobalanceLp'\n | 'Lending'\n | 'SlushLending'\n | 'Looping'\n | 'SingleAssetLooping'\n | 'Lyf'\n | 'FungibleLending';\n\nexport type ProtocolType =\n | 'AlphaFi'\n | 'Navi'\n | 'Alphalend'\n | 'Cetus'\n | 'Bluefin'\n | 'Bucket'\n | 'DeepBook';\n\n// Forward declarations for pool label types (will be imported from individual strategy files)\nexport type LpPoolLabel = import('./lp.js').LpPoolLabel;\nexport type AlphaVaultPoolLabel = import('./alphaVault.js').AlphaVaultPoolLabel;\nexport type AutobalanceLpPoolLabel = import('./autobalanceLp.js').AutobalanceLpPoolLabel;\nexport type FungibleLpPoolLabel = import('./fungibleLp.js').FungibleLpPoolLabel;\nexport type LendingPoolLabel = import('./lending.js').LendingPoolLabel;\nexport type SlushLendingPoolLabel = import('./slushLending.js').SlushLendingPoolLabel;\nexport type LoopingPoolLabel = import('./looping.js').LoopingPoolLabel;\nexport type SingleAssetLoopingPoolLabel =\n import('./singleAssetLooping.js').SingleAssetLoopingPoolLabel;\nexport type LyfPoolLabel = import('./lyf.js').LyfPoolLabel;\nexport type FungibleLendingPoolLabel = import('./fungibleLending.js').FungibleLendingPoolLabel;\n\n/**\n * Union of all strategy-specific pool label types.\n */\nexport type PoolLabel =\n | LpPoolLabel\n | AlphaVaultPoolLabel\n | AutobalanceLpPoolLabel\n | FungibleLpPoolLabel\n | LendingPoolLabel\n | SlushLendingPoolLabel\n | LoopingPoolLabel\n | SingleAssetLoopingPoolLabel\n | LyfPoolLabel\n | FungibleLendingPoolLabel;\n\n/**\n * Common strategy surface used by the SDK.\n */\nexport interface Strategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any> {\n /**\n * Parse a pool object fetched from chain into a typed shape.\n */\n parsePoolObject(response: any): TPool;\n\n /**\n * Parse an investor object fetched from chain into a typed shape.\n */\n parseInvestorObject(response: any): TInvestor;\n\n /**\n * Parse a parent pool object (underlying protocol) fetched from chain.\n */\n parseParentPoolObject(response: any): TParentPool;\n\n /**\n * Parse receipt objects fetched from chain.\n */\n parseReceiptObjects(responses: any[]): TReceipt[];\n\n /**\n * Current exchange rate used by the strategy.\n * Typically: `tokens_invested / xToken_supply`.\n */\n exchangeRate(): Decimal;\n\n /**\n * TVL for the AlphaFi pool and the underlying parent protocol (if any).\n */\n getTvl(): Promise<SingleTvl | DoubleTvl>;\n getParentTvl(): Promise<SingleTvl | DoubleTvl>;\n\n /**\n * User balance breakdown for this pool.\n */\n getBalance(userAddress: string): Promise<PoolBalance>;\n\n /**\n * Static metadata/config for this pool (from config API).\n */\n getPoolLabel(): PoolLabel;\n\n /**\n * High-level pool summary (APR + TVL + strategy-specific metadata).\n */\n getData(): Promise<PoolData>;\n\n /**\n * Compute ALPHA mining rewards claimable for this pool.\n *\n * Note: this uses the cached distributor object from `StrategyContext`.\n */\n getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal;\n\n /**\n * Get the other amount for a given amount and isAmountA flag.\n *\n * @param amount - The amount to get the other amount for\n * @param isAmountA - Whether the amount is amount A\n * @returns The other amount\n */\n getOtherAmount(amount: string, isAmountA: boolean): [string, string];\n\n /**\n * Deposit assets into the pool.\n *\n * @param options - The options for the deposit\n * @returns Transaction to deposit assets into the pool\n */\n deposit(tx: Transaction, options: DepositOptions): Promise<void>;\n\n /**\n * Withdraw assets from the pool.\n *\n * @param options - The options for the withdrawal\n * @returns Transaction to withdraw assets from the pool\n */\n withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;\n\n /**\n * Claim rewards for a specific pool.\n *\n * @param poolId - The ID of the pool to claim rewards for\n * @param address - The address of the user to claim rewards for\n * @returns Transaction to claim rewards for the specified pool\n */\n claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;\n\n /**\n * Create an AlphaFi receipt.\n *\n * @param tx - The transaction to create the AlphaFi receipt\n * @returns Transaction to create the AlphaFi receipt\n */\n createAlphaFiReceipt(tx: Transaction): TransactionResult;\n}\n\n/**\n * Base class shared by all strategies.\n * Provides parsing helpers and common reward calculation logic.\n */\nexport abstract class BaseStrategy<TPool = any, TInvestor = any, TParentPool = any, TReceipt = any>\n implements Strategy<TPool, TInvestor, TParentPool, TReceipt>\n{\n abstract parsePoolObject(response: any): TPool;\n abstract parseInvestorObject(response: any): TInvestor;\n abstract parseParentPoolObject(response: any): TParentPool;\n abstract parseReceiptObjects(responses: any[]): TReceipt[];\n abstract exchangeRate(): Decimal;\n abstract getTvl(): Promise<SingleTvl | DoubleTvl>;\n abstract getParentTvl(): Promise<SingleTvl | DoubleTvl>;\n abstract getData(): Promise<PoolData>;\n abstract getBalance(userAddress: string): Promise<PoolBalance>;\n abstract getPoolLabel(): PoolLabel;\n abstract getOtherAmount(amount: string, isAmountA: boolean): [string, string];\n abstract deposit(tx: Transaction, options: DepositOptions): Promise<void>;\n abstract withdraw(tx: Transaction, options: WithdrawOptions): Promise<void>;\n abstract claimRewards(tx: Transaction, alphaReceipt: TransactionResult): Promise<void>;\n\n createAlphaFiReceipt(tx: Transaction) {\n return tx.moveCall({\n target: `${PACKAGE_IDS.ALPHAFI_RECEIPT}::alphafi_receipt::create_alphafi_receipt_v2`,\n arguments: [tx.pure.string(IMAGE_URLS.ALPHAFI_RECEIPT)],\n });\n }\n\n /**\n * Provide the inputs needed to compute ALPHA mining rewards for this strategy.\n * Return `receipt: null` if the strategy/user has no alpha mining position.\n */\n protected abstract getAlphaMiningData(): AlphaMiningData;\n\n /**\n * Compute claimable ALPHA rewards using the distributor + pool/receipt accounting.\n * Returns a human-readable amount (divided by 1e9).\n */\n getAlphaMiningRewardsToClaim(distributor: DistributorObject): Decimal {\n const data = this.getAlphaMiningData();\n\n // No receipt -> no position -> no alpha rewards.\n if (!data.receipt) {\n return new Decimal(0);\n }\n\n const { poolId, accRewardsPerXtoken, xTokenSupply, receipt } = data;\n const { lastAccRewardPerXtoken, pendingRewards, xTokenBalance } = receipt;\n\n // Get user's last accumulated reward per xtoken for ALPHA\n const userLastAccEntry = lastAccRewardPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);\n const userLastAcc = new Decimal(userLastAccEntry?.value || '0');\n\n // Get user's xtoken balance\n const userXtokenBalance = new Decimal(xTokenBalance || '0');\n\n // Get pending alpha rewards from receipt\n const pendingAlphaRewards = pendingRewards\n .filter((entry) => entry.key === ALPHA_COIN_TYPE)\n .reduce((acc, entry) => acc.add(new Decimal(entry.value || '0')), new Decimal(0));\n\n // Get total alpha weight across all pools from distributor\n const alphaRewardTotalWeight =\n distributor.poolAllocator.totalWeights.find((w) => w.key === ALPHA_COIN_TYPE)?.value || '0';\n\n // Get distribution status for this pool\n const memberEntry = distributor.poolAllocator.members.find((m) => m.key === poolId);\n const alphaAllocatorDetailsForPool = memberEntry?.value.poolData.find(\n (pd) => pd.key === ALPHA_COIN_TYPE,\n )?.value;\n\n // Calculate pending rewards for pool\n let pendingRewardsForPool = new Decimal(0);\n if (alphaAllocatorDetailsForPool) {\n const currentTime = Date.now();\n const pendingRewardsInAllocator = new Decimal(\n alphaAllocatorDetailsForPool.pendingRewards || '0',\n );\n const lastUpdateTime = parseInt(alphaAllocatorDetailsForPool.lastUpdateTime || '0', 10);\n const weight = new Decimal(alphaAllocatorDetailsForPool.weight || '0');\n const totalWeight = new Decimal(alphaRewardTotalWeight);\n const target = new Decimal(distributor.target || '0');\n\n // Calculate unlockPerMS (target per millisecond)\n // unlock_per_ms = target * 2750000 / (4250000 * 100 * 86400000)\n const unlockPerMs = target\n .mul(new Decimal('2750000'))\n .div(new Decimal('4250000').mul('100').mul('86400000'));\n\n // Calculate time diff\n const timeDiff = Math.max(0, currentTime - lastUpdateTime);\n\n // Calculate additional rewards\n let additionalRewards = new Decimal(0);\n if (totalWeight.gt(0)) {\n additionalRewards = new Decimal(timeDiff).mul(unlockPerMs).mul(weight).div(totalWeight);\n }\n\n pendingRewardsForPool = pendingRewardsInAllocator.add(additionalRewards);\n }\n\n // Get pool's accumulated rewards per xtoken for ALPHA\n const alphaOldAccEntry = accRewardsPerXtoken.find((entry) => entry.key === ALPHA_COIN_TYPE);\n const alphaOldAccInPool = new Decimal(alphaOldAccEntry?.value || '0');\n\n // Get total xtoken supply from pool\n const totalXtokenSupply = new Decimal(xTokenSupply || '0');\n\n // Calculate new accumulated rewards per xtoken\n const SCALE = new Decimal('1000000000000000000'); // 1e18\n let addAcc = new Decimal(0);\n if (totalXtokenSupply.gt(0)) {\n addAcc = pendingRewardsForPool.div(totalXtokenSupply).mul(SCALE).mul(SCALE);\n }\n const alphaNewAccInPool = alphaOldAccInPool.add(addAcc);\n\n // Calculate user's accrued rewards\n // user_accrued_rewards = ((acc_new - acc_last) / SCALE^2) * user_balance\n const deltaAcc = alphaNewAccInPool.sub(userLastAcc);\n const userAccruedRewards = deltaAcc.div(SCALE.mul(SCALE)).mul(userXtokenBalance);\n\n // Combine pending rewards and accrued rewards, then divide by 1e9 for human-readable amount\n const totalPendingRewards = pendingAlphaRewards.add(userAccruedRewards).div(new Decimal(1e9));\n\n return totalPendingRewards;\n }\n\n // ===== Parsing Helper Methods =====\n\n /**\n * Helper function to get string field from JSON with validation\n */\n protected getStringField(fieldsJson: any, fieldName: string): string {\n const value = fieldsJson?.[fieldName];\n if (typeof value === 'string') {\n return value;\n }\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return '';\n }\n\n /**\n * Helper function to get boolean field from JSON with default value\n */\n protected getBooleanField(fieldsJson: any, fieldName: string, defaultValue: boolean): boolean {\n const value = fieldsJson?.[fieldName];\n if (typeof value === 'boolean') {\n return value;\n }\n return defaultValue;\n }\n\n /**\n * Helper function to get number field from JSON\n */\n protected getNumberField(fieldsJson: any, fieldName: string): number {\n const value = fieldsJson?.[fieldName];\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n const parsed = parseInt(value, 10);\n return isNaN(parsed) ? 0 : parsed;\n }\n return 0;\n }\n\n /**\n * Helper function to parse VecMap structures from Move objects into StringMap format\n */\n protected parseVecMap(vecMapField: any) {\n if (!vecMapField || typeof vecMapField !== 'object') {\n return [];\n }\n\n const contents = vecMapField.contents;\n if (!Array.isArray(contents)) {\n return [];\n }\n\n return contents.map((entry: any) => {\n const key = entry?.key?.name;\n const value = entry?.value;\n return { key, value };\n });\n }\n\n /**\n * Helper function to convert ASCII array from JSON to string\n */\n protected asciiToString(asciiArray: any): string {\n if (Array.isArray(asciiArray)) {\n try {\n const bytes = asciiArray.map((n: any) => {\n const num = typeof n === 'number' ? n : parseInt(n);\n if (num < 0 || num > 255) {\n throw new Error('ASCII value out of range');\n }\n return num;\n });\n return String.fromCharCode(...bytes);\n } catch (error) {\n console.error('Error converting ASCII array to string:', error);\n return '';\n }\n }\n return '';\n }\n\n /**\n * Helper function to extract fields from various response formats\n */\n protected extractFields(response: any): any {\n return response.fields || response.content?.fields || response;\n }\n\n /**\n * Helper function to safely parse nested object fields\n */\n protected getNestedField(obj: any, path: string): any {\n return path.split('.').reduce((current, key) => current?.[key], obj);\n }\n\n /**\n * Helper function to parse object with error handling\n */\n protected safeParseObject<T>(parseFunction: () => T, errorMessage: string): T {\n try {\n return parseFunction();\n } catch (error) {\n console.error(`${errorMessage}:`, error);\n throw new Error(`${errorMessage}: ${error}`);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic time-based cache with promise memoization.
|
|
3
|
+
* Prevents duplicate concurrent fetches and auto-expires entries.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A generic cache that stores values with TTL (time-to-live).
|
|
7
|
+
* Supports promise memoization to prevent duplicate concurrent fetches.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const cache = new Cache<string, UserData>(60000); // 60 second TTL
|
|
12
|
+
*
|
|
13
|
+
* // Fetch with automatic caching and deduplication
|
|
14
|
+
* const data = await cache.getOrFetch('user-123', async () => {
|
|
15
|
+
* return await fetchUserFromAPI('user-123');
|
|
16
|
+
* });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare class Cache<K, V> {
|
|
20
|
+
private cache;
|
|
21
|
+
private pendingPromises;
|
|
22
|
+
private defaultTtl;
|
|
23
|
+
/**
|
|
24
|
+
* Create a new cache instance.
|
|
25
|
+
* @param defaultTtlMs - Default time-to-live in milliseconds (default: 5 minutes)
|
|
26
|
+
*/
|
|
27
|
+
constructor(defaultTtlMs?: number);
|
|
28
|
+
/**
|
|
29
|
+
* Get a value from cache if it exists and hasn't expired.
|
|
30
|
+
*/
|
|
31
|
+
get(key: K): V | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Set a value in the cache with optional custom TTL.
|
|
34
|
+
*/
|
|
35
|
+
set(key: K, value: V, ttlMs?: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a key exists and hasn't expired.
|
|
38
|
+
*/
|
|
39
|
+
has(key: K): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Delete a specific key from cache.
|
|
42
|
+
*/
|
|
43
|
+
delete(key: K): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Clear all cached entries.
|
|
46
|
+
*/
|
|
47
|
+
clear(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Get value from cache or fetch it using the provided function.
|
|
50
|
+
* Handles promise memoization to prevent duplicate concurrent fetches.
|
|
51
|
+
*
|
|
52
|
+
* @param key - Cache key
|
|
53
|
+
* @param fetcher - Async function to fetch the value if not cached
|
|
54
|
+
* @param ttlMs - Optional custom TTL for this entry
|
|
55
|
+
*/
|
|
56
|
+
getOrFetch(key: K, fetcher: () => Promise<V>, ttlMs?: number): Promise<V>;
|
|
57
|
+
/**
|
|
58
|
+
* Get the number of cached entries (including potentially expired ones).
|
|
59
|
+
*/
|
|
60
|
+
get size(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Remove all expired entries from cache.
|
|
63
|
+
*/
|
|
64
|
+
prune(): void;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A singleton cache for a single value (useful for global data like config).
|
|
68
|
+
* Supports promise memoization and TTL.
|
|
69
|
+
*/
|
|
70
|
+
export declare class SingletonCache<V> {
|
|
71
|
+
private value;
|
|
72
|
+
private expiresAt;
|
|
73
|
+
private pendingPromise;
|
|
74
|
+
private defaultTtl;
|
|
75
|
+
constructor(defaultTtlMs?: number);
|
|
76
|
+
/**
|
|
77
|
+
* Get the cached value if it exists and hasn't expired.
|
|
78
|
+
*/
|
|
79
|
+
get(): V | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Set the cached value with optional custom TTL.
|
|
82
|
+
*/
|
|
83
|
+
set(value: V, ttlMs?: number): void;
|
|
84
|
+
/**
|
|
85
|
+
* Check if value exists and hasn't expired.
|
|
86
|
+
*/
|
|
87
|
+
has(): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Clear the cached value.
|
|
90
|
+
*/
|
|
91
|
+
clear(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Get value from cache or fetch it using the provided function.
|
|
94
|
+
* Handles promise memoization to prevent duplicate concurrent fetches.
|
|
95
|
+
*/
|
|
96
|
+
getOrFetch(fetcher: () => Promise<V>, ttlMs?: number): Promise<V>;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/utils/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC;IACrB,OAAO,CAAC,KAAK,CAAoC;IACjD,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,UAAU,CAAS;IAE3B;;;OAGG;gBACS,YAAY,GAAE,MAA0B;IAIpD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAY1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ3C;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAKvB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;;;OAOG;IACG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IA6B/E;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,UAAU,CAAS;gBAEf,YAAY,GAAE,MAA0B;IAIpD;;OAEG;IACH,GAAG,IAAI,CAAC,GAAG,SAAS;IASpB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAMnC;;OAEG;IACH,GAAG,IAAI,OAAO;IAId;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CA0BxE"}
|