@alphafi/alphafi-sdk 0.0.97 → 0.0.99
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/FETCH_OVERRIDE_FIX.md +222 -0
- package/dist/cjs/common/coins.d.ts.map +1 -1
- package/dist/cjs/common/coins.js +18 -0
- package/dist/cjs/common/coins.js.map +1 -1
- package/dist/cjs/common/constants.d.ts +63 -6
- package/dist/cjs/common/constants.d.ts.map +1 -1
- package/dist/cjs/common/constants.js +76 -20
- package/dist/cjs/common/constants.js.map +1 -1
- package/dist/cjs/common/maps.d.ts.map +1 -1
- package/dist/cjs/common/maps.js +17 -0
- package/dist/cjs/common/maps.js.map +1 -1
- package/dist/cjs/common/pyth.d.ts +1 -1
- package/dist/cjs/common/pyth.d.ts.map +1 -1
- package/dist/cjs/common/pyth.js.map +1 -1
- package/dist/cjs/common/types.d.ts +20 -5
- package/dist/cjs/common/types.d.ts.map +1 -1
- package/dist/cjs/common/types.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js +32 -0
- package/dist/cjs/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/fetchEvents.js +28 -0
- package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/cjs/sui-sdk/events/types.d.ts +7 -1
- package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/events/types.js.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.js +15 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/cjs/transactions/alpha.js +3 -4
- package/dist/cjs/transactions/alpha.js.map +1 -1
- package/dist/cjs/transactions/alphalend.d.ts +0 -1
- package/dist/cjs/transactions/alphalend.d.ts.map +1 -1
- package/dist/cjs/transactions/alphalend.js +2 -285
- package/dist/cjs/transactions/alphalend.js.map +1 -1
- package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
- package/dist/cjs/transactions/bluefin.js +53 -0
- package/dist/cjs/transactions/bluefin.js.map +1 -1
- package/dist/cjs/transactions/collect_rewards.d.ts +3 -0
- package/dist/cjs/transactions/collect_rewards.d.ts.map +1 -1
- package/dist/cjs/transactions/collect_rewards.js +384 -0
- package/dist/cjs/transactions/collect_rewards.js.map +1 -1
- package/dist/cjs/transactions/deposit.d.ts.map +1 -1
- package/dist/cjs/transactions/deposit.js.map +1 -1
- package/dist/cjs/transactions/get_navi_rewards.d.ts +8 -0
- package/dist/cjs/transactions/get_navi_rewards.d.ts.map +1 -1
- package/dist/cjs/transactions/get_navi_rewards.js +28 -45
- package/dist/cjs/transactions/get_navi_rewards.js.map +1 -1
- package/dist/cjs/utils/prices.d.ts.map +1 -1
- package/dist/cjs/utils/prices.js +8 -2
- package/dist/cjs/utils/prices.js.map +1 -1
- package/dist/esm/common/coins.d.ts.map +1 -1
- package/dist/esm/common/coins.js +18 -0
- package/dist/esm/common/coins.js.map +1 -1
- package/dist/esm/common/constants.d.ts +63 -6
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +76 -20
- package/dist/esm/common/constants.js.map +1 -1
- package/dist/esm/common/maps.d.ts.map +1 -1
- package/dist/esm/common/maps.js +17 -0
- package/dist/esm/common/maps.js.map +1 -1
- package/dist/esm/common/pyth.d.ts +1 -1
- package/dist/esm/common/pyth.d.ts.map +1 -1
- package/dist/esm/common/pyth.js.map +1 -1
- package/dist/esm/common/types.d.ts +20 -5
- package/dist/esm/common/types.d.ts.map +1 -1
- package/dist/esm/common/types.js.map +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js +32 -0
- package/dist/esm/sui-sdk/events/fetchAutoCompoundingEvents.js.map +1 -1
- package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/fetchEvents.js +28 -0
- package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -1
- package/dist/esm/sui-sdk/events/types.d.ts +7 -1
- package/dist/esm/sui-sdk/events/types.d.ts.map +1 -1
- package/dist/esm/sui-sdk/events/types.js.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.js +15 -1
- package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
- package/dist/esm/transactions/alpha.js +3 -4
- package/dist/esm/transactions/alpha.js.map +1 -1
- package/dist/esm/transactions/alphalend.d.ts +0 -1
- package/dist/esm/transactions/alphalend.d.ts.map +1 -1
- package/dist/esm/transactions/alphalend.js +1 -283
- package/dist/esm/transactions/alphalend.js.map +1 -1
- package/dist/esm/transactions/bluefin.d.ts.map +1 -1
- package/dist/esm/transactions/bluefin.js +53 -0
- package/dist/esm/transactions/bluefin.js.map +1 -1
- package/dist/esm/transactions/collect_rewards.d.ts +3 -0
- package/dist/esm/transactions/collect_rewards.d.ts.map +1 -1
- package/dist/esm/transactions/collect_rewards.js +383 -1
- package/dist/esm/transactions/collect_rewards.js.map +1 -1
- package/dist/esm/transactions/deposit.d.ts.map +1 -1
- package/dist/esm/transactions/deposit.js.map +1 -1
- package/dist/esm/transactions/get_navi_rewards.d.ts +8 -0
- package/dist/esm/transactions/get_navi_rewards.d.ts.map +1 -1
- package/dist/esm/transactions/get_navi_rewards.js +28 -45
- package/dist/esm/transactions/get_navi_rewards.js.map +1 -1
- package/dist/esm/utils/prices.d.ts.map +1 -1
- package/dist/esm/utils/prices.js +8 -2
- package/dist/esm/utils/prices.js.map +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/functions/alphaLpBreakdown.html +1 -1
- package/docs/functions/cetusLpBreakdown.html +1 -1
- package/docs/functions/claimRewardTxb.html +1 -1
- package/docs/functions/claimRewardsTxb.html +1 -1
- package/docs/functions/coinAmountToXTokensDoubleAsset.html +1 -1
- package/docs/functions/coinAmountToXTokensSingleAsset.html +1 -1
- package/docs/functions/coinsInPool.html +1 -1
- package/docs/functions/collectAndSwapRewardsLyf.html +1 -0
- package/docs/functions/collectAndSwapRewardsSingleLoop.html +1 -1
- package/docs/functions/collectRewardTxb.html +1 -1
- package/docs/functions/collectRewards.html +1 -1
- package/docs/functions/deposit.html +1 -1
- package/docs/functions/depositDoubleAssetTxb.html +1 -1
- package/docs/functions/depositSingleAssetTxb.html +1 -1
- package/docs/functions/fetchAfterTransactionEvents.html +1 -1
- package/docs/functions/fetchAirdropClaimEvents.html +1 -1
- package/docs/functions/fetchAutoCompoundingEvents.html +1 -1
- package/docs/functions/fetchAutoCompoundingEventsGql.html +1 -1
- package/docs/functions/fetchCetusPools.html +1 -1
- package/docs/functions/fetchChainIdentifier.html +1 -1
- package/docs/functions/fetchCheckRatioEvents.html +1 -1
- package/docs/functions/fetchEvents.html +1 -1
- package/docs/functions/fetchLiquidityChangeEvents.html +1 -1
- package/docs/functions/fetchMultiCategoryEvents.html +1 -1
- package/docs/functions/fetchMultiReceipts.html +1 -1
- package/docs/functions/fetchNftHolders.html +1 -1
- package/docs/functions/fetchPools.html +1 -1
- package/docs/functions/fetchPortfolioData.html +1 -1
- package/docs/functions/fetchProtocolData.html +1 -1
- package/docs/functions/fetchRequiredPrices.html +1 -1
- package/docs/functions/fetchTVL.html +1 -1
- package/docs/functions/fetchTransactions.html +1 -1
- package/docs/functions/fetchUserVaultBalances.html +1 -1
- package/docs/functions/fetchUserVaults.html +1 -1
- package/docs/functions/fetchUserWalletData.html +1 -1
- package/docs/functions/fetchVoloExchangeRate.html +1 -1
- package/docs/functions/fetchWithdrawV2Events.html +1 -1
- package/docs/functions/getAirdropShare.html +1 -1
- package/docs/functions/getAllDoubleAssetVaults.html +1 -1
- package/docs/functions/getAllSingleAssetVaults.html +1 -1
- package/docs/functions/getAllVaultBalances.html +1 -1
- package/docs/functions/getAllVaults.html +1 -1
- package/docs/functions/getAlphaUnlocks.html +1 -1
- package/docs/functions/getAlphaVaultBalance.html +1 -1
- package/docs/functions/getAmounts.html +1 -1
- package/docs/functions/getApr.html +1 -1
- package/docs/functions/getAprs.html +1 -1
- package/docs/functions/getApy.html +1 -1
- package/docs/functions/getApys.html +1 -1
- package/docs/functions/getCetusInvestorTicksMap.html +1 -1
- package/docs/functions/getCetusPool.html +1 -1
- package/docs/functions/getCetusSqrtPriceMap.html +1 -1
- package/docs/functions/getCoinAmountsFromLiquidity.html +1 -1
- package/docs/functions/getConf.html +1 -1
- package/docs/functions/getCurrentTick.html +1 -1
- package/docs/functions/getDistributor.html +1 -1
- package/docs/functions/getDoubleAssetVaultBalance.html +1 -1
- package/docs/functions/getDoubleAssetVaults.html +1 -1
- package/docs/functions/getInvestor.html +1 -1
- package/docs/functions/getInvestorPoolMap.html +1 -1
- package/docs/functions/getLastAutoCompoundTime.html +1 -1
- package/docs/functions/getLatestPrices.html +1 -1
- package/docs/functions/getLiquidity.html +1 -1
- package/docs/functions/getMultiCetusPool.html +1 -1
- package/docs/functions/getMultiInvestor.html +1 -1
- package/docs/functions/getMultiLatestPrices.html +1 -1
- package/docs/functions/getMultiParentPool.html +1 -1
- package/docs/functions/getMultiPool.html +1 -1
- package/docs/functions/getMultiReceipts.html +1 -1
- package/docs/functions/getParentPool.html +1 -1
- package/docs/functions/getPool.html +1 -1
- package/docs/functions/getPoolExchangeRate.html +1 -1
- package/docs/functions/getPoolExchangeRateMap.html +1 -1
- package/docs/functions/getPoolsWeightDistribution.html +1 -1
- package/docs/functions/getPositionRange.html +1 -1
- package/docs/functions/getPositionRanges.html +1 -1
- package/docs/functions/getPositionTicks.html +1 -1
- package/docs/functions/getPriceToTick.html +1 -1
- package/docs/functions/getRebalanceHistories.html +1 -1
- package/docs/functions/getRebalanceHistory.html +1 -1
- package/docs/functions/getReceipts.html +1 -1
- package/docs/functions/getSingleAssetVaultBalance.html +1 -1
- package/docs/functions/getSingleAssetVaults.html +1 -1
- package/docs/functions/getSuiClient.html +2 -2
- package/docs/functions/getSuiNodeUrl.html +2 -2
- package/docs/functions/getTVLs-1.html +1 -1
- package/docs/functions/getTickSpacing.html +1 -1
- package/docs/functions/getTickToPrice.html +1 -1
- package/docs/functions/getTvls.html +1 -1
- package/docs/functions/getVaultBalance.html +1 -1
- package/docs/functions/getVaults.html +1 -1
- package/docs/functions/lastAutocompoundTime.html +1 -1
- package/docs/functions/liquidityToTokens.html +1 -1
- package/docs/functions/migrateBoostedToLoop.html +1 -1
- package/docs/functions/multiLiquidityToTokens.html +1 -1
- package/docs/functions/multiTokensToUsd.html +1 -1
- package/docs/functions/multiXTokensToLiquidity.html +1 -1
- package/docs/functions/parseUserWalletData.html +1 -1
- package/docs/functions/pendingRewardAmount.html +1 -1
- package/docs/functions/setCustomSuiClient.html +2 -2
- package/docs/functions/setSuiClient.html +2 -2
- package/docs/functions/setSuiNodeUrl.html +2 -2
- package/docs/functions/setWeights.html +1 -1
- package/docs/functions/withdraw.html +1 -1
- package/docs/functions/withdrawAlphaTxb.html +1 -1
- package/docs/functions/withdrawTxb.html +1 -1
- package/docs/functions/zapDepositQuoteTxb.html +1 -1
- package/docs/functions/zapDepositTxb.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +2 -2
- package/docs/interfaces/Coin.html +6 -6
- package/docs/interfaces/CoinPair.html +2 -2
- package/docs/interfaces/CommonEventAttributes.html +2 -2
- package/docs/interfaces/NaviVoloData.html +2 -2
- package/docs/interfaces/PoolData.html +2 -2
- package/docs/interfaces/PoolWeightDistribution.html +2 -2
- package/docs/interfaces/RebalanceHistoryType.html +2 -2
- package/docs/modules.html +1 -1
- package/docs/types/AfterTransactionEventNode.html +1 -1
- package/docs/types/AirdropClaimEventNode.html +1 -1
- package/docs/types/Allocator.html +2 -2
- package/docs/types/AlphaFiDoubleAssetVault.html +2 -2
- package/docs/types/AlphaFiMultiVaultBalance.html +1 -1
- package/docs/types/AlphaFiSingleAssetVault.html +2 -2
- package/docs/types/AlphaFiVault.html +1 -1
- package/docs/types/AlphaFiVaultBalance.html +1 -1
- package/docs/types/AlphaLendInvestor.html +1 -1
- package/docs/types/AlphaPoolType.html +2 -2
- package/docs/types/AlphaReceipt.html +2 -2
- package/docs/types/AlphaReceiptFields.html +2 -2
- package/docs/types/AlphaVaultBalance.html +2 -2
- package/docs/types/AutoBalancePoolNames.html +1 -1
- package/docs/types/AutoCompoundingEventNode.html +1 -1
- package/docs/types/BluefinInvestor.html +1 -1
- package/docs/types/BluefinLyfInvestor.html +1 -0
- package/docs/types/BluefinPoolType.html +2 -2
- package/docs/types/BucketInvestor.html +2 -2
- package/docs/types/CetusInvestor.html +2 -2
- package/docs/types/CetusPoolType.html +2 -2
- package/docs/types/CetusSwapOptions.html +1 -1
- package/docs/types/CoinAmounts.html +2 -2
- package/docs/types/CoinName.html +1 -1
- package/docs/types/CoinType.html +1 -1
- package/docs/types/CommonInvestorFields.html +2 -2
- package/docs/types/CreatePoolOptions.html +2 -2
- package/docs/types/Distributor.html +2 -2
- package/docs/types/DoubleAssetMultiVaultBalance.html +2 -2
- package/docs/types/DoubleAssetPoolNames.html +1 -1
- package/docs/types/DoubleAssetTokenHoldings.html +2 -2
- package/docs/types/DoubleAssetVaultBalance.html +2 -2
- package/docs/types/EventCategory.html +1 -1
- package/docs/types/EventNode.html +1 -1
- package/docs/types/GetHoldersParams.html +2 -2
- package/docs/types/GetTokenHoldingsParams.html +2 -2
- package/docs/types/GetUserTokensFromTransactionsParams.html +2 -2
- package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +2 -2
- package/docs/types/GetVaultBalanceParams.html +1 -1
- package/docs/types/HoldingsObj.html +2 -2
- package/docs/types/Icon.html +1 -1
- package/docs/types/Investor.html +1 -1
- package/docs/types/LiquidityChangeEventNode.html +1 -1
- package/docs/types/LiquidityToTokensParams.html +2 -2
- package/docs/types/LiquidityToUsdParams.html +2 -2
- package/docs/types/LoopingDebt.html +2 -2
- package/docs/types/LoopingPoolNames.html +1 -1
- package/docs/types/LpBreakdownType.html +2 -2
- package/docs/types/MemberPoolDataType.html +2 -2
- package/docs/types/MemberType.html +2 -2
- package/docs/types/MultiGetVaultBalancesParams.html +2 -2
- package/docs/types/NaviInvestor.html +2 -2
- package/docs/types/OtherReceiptFields.html +2 -2
- package/docs/types/PoolName.html +1 -1
- package/docs/types/PoolReceipt.html +1 -1
- package/docs/types/PoolType.html +2 -2
- package/docs/types/Receipt.html +2 -2
- package/docs/types/ReceiptGQL.html +2 -2
- package/docs/types/SingleAssetMultiVaultBalance.html +2 -2
- package/docs/types/SingleAssetPoolNames.html +1 -1
- package/docs/types/SingleAssetTokenHoldings.html +2 -2
- package/docs/types/SingleAssetVaultBalance.html +2 -2
- package/docs/types/SingleGetVaultBalancesParams.html +2 -2
- package/docs/types/StrategyType.html +1 -1
- package/docs/types/SuiNetwork.html +1 -1
- package/docs/types/SwapOptions.html +1 -1
- package/docs/types/TickSpacing.html +1 -1
- package/docs/types/TotalWeightType.html +2 -2
- package/docs/types/TransactionBlockType.html +2 -2
- package/docs/types/UserPoolLiquidity.html +2 -2
- package/docs/types/UserPoolTokenHoldings.html +1 -1
- package/docs/types/UserUsdHoldings.html +2 -2
- package/docs/types/VaultBalance.html +1 -1
- package/docs/types/VoteCastEvent.html +1 -1
- package/docs/types/WithdrawV2EventNode.html +1 -1
- package/docs/variables/AUTOBALANCE_SUI_FIRST_POOLS.html +1 -1
- package/docs/variables/AUTOBALANCE_SUI_SECOND_POOLS.html +1 -1
- package/docs/variables/AUTOBALANCE_TYPE_1_POOLS.html +1 -1
- package/docs/variables/alphalendMarketIdMap.html +1 -1
- package/docs/variables/bluefinPoolMap.html +1 -1
- package/docs/variables/cetusPoolMap.html +1 -1
- package/docs/variables/coinsList.html +1 -1
- package/docs/variables/defunctPoolsSet.html +1 -1
- package/docs/variables/doubleAssetPoolCoinMap.html +1 -1
- package/docs/variables/eventCategories.html +1 -1
- package/docs/variables/ignoredWalletsForDailyRevenue.html +1 -1
- package/docs/variables/loopingAccountAddresses.html +1 -1
- package/docs/variables/loopingPoolCoinMap.html +1 -1
- package/docs/variables/naviAssetMap.html +1 -1
- package/docs/variables/poolIdPoolNameMap.html +1 -1
- package/docs/variables/poolInfo.html +1 -1
- package/docs/variables/singleAssetPoolCoinMap.html +1 -1
- package/docs/variables/stableCoins.html +1 -1
- package/package.json +3 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alphalend.js","sourceRoot":"","sources":["../../../src/transactions/alphalend.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport {\n bluefinPoolMap,\n cetusPoolMap,\n coinsList,\n getConf,\n getReceipts,\n getSuiClient,\n loopingPoolCoinMap,\n poolInfo,\n} from \"../index.js\";\nimport { PoolName, Receipt } from \"../common/types.js\";\nimport { AlphalendClient } from \"@alphafi/alphalend-sdk\";\nimport { getCoinObject } from \"./bluefin.js\";\n\nexport async function alphalendLoopingDeposit(\n poolName: PoolName,\n amount: string,\n options: { address: string },\n) {\n let txb = new Transaction();\n\n if (poolName === \"ALPHALEND-LOOP-SUI-STSUI\") {\n txb = await alphalendSuiStsuiLoopDepositTx(amount, options);\n }\n return txb;\n}\nexport async function alphalendLoopingWithdraw(\n poolName: PoolName,\n xTokens: string,\n options: { address: string },\n) {\n let txb = new Transaction();\n\n if (poolName === \"ALPHALEND-LOOP-SUI-STSUI\") {\n txb = await alphalendSuiStsuiLoopWithdrawTx(xTokens, options);\n }\n return txb;\n}\nexport const alphalendClient = new AlphalendClient(\"mainnet\", getSuiClient());\nexport async function alphalendSuiStsuiLoopDepositTx(\n amount: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolName = \"ALPHALEND-LOOP-SUI-STSUI\";\n const poolData = poolInfo[poolName];\n\n await alphalendClient.updatePrices(txb, [\n coinsList[\"STSUI\"].type,\n \"0x2::sui::SUI\",\n ]);\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n const [depositCoin] = txb.splitCoins(txb.gas, [amount]);\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_one_swap`,\n typeArguments: [coinsList[\"ALPHA\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`ALPHA-STSUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_no_swap_v2`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps_v2`,\n typeArguments: [coinsList[\"BLUE\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(cetusPoolMap[`BLUE-SUI`]),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::user_deposit_v3`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n\n return txb;\n}\nexport async function collectAndSwapRewardsSingleLoop(\n poolName: PoolName,\n tx?: Transaction,\n): Promise<Transaction> {\n const txb = tx ? tx : new Transaction();\n const C = getConf();\n const poolData = poolInfo[poolName];\n if (poolName === \"ALPHALEND-SINGLE-LOOP-TBTC\") {\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"TBTC\"].type,\n coinsList[\"ALPHA\"].type,\n coinsList[\"STSUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`ALPHA-STSUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(false),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"TBTC\"].type,\n coinsList[\"STSUI\"].type,\n coinsList[\"SUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`STSUI-SUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"TBTC\"].type,\n coinsList[\"BLUE\"].type,\n coinsList[\"SUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`BLUE-SUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"TBTC\"].type,\n coinsList[\"DEEP\"].type,\n coinsList[\"SUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`DEEP-SUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"TBTC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"USDC\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`SUI-USDC`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"TBTC\"].type,\n coinsList[\"TBTC\"].type,\n coinsList[\"USDC\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`TBTC-USDC`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(false),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (poolName === \"ALPHALEND-SINGLE-LOOP-SUIBTC\") {\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"SUIBTC\"].type,\n coinsList[\"ALPHA\"].type,\n coinsList[\"STSUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`ALPHA-STSUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(false),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"SUIBTC\"].type,\n coinsList[\"BLUE\"].type,\n coinsList[\"SUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`BLUE-SUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"SUIBTC\"].type,\n coinsList[\"DEEP\"].type,\n coinsList[\"SUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`DEEP-SUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"SUIBTC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"SUIBTC\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`SUI-SUIBTC`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (poolName === \"ALPHALEND-SINGLE-LOOP-XAUM\") {\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"XAUM\"].type,\n coinsList[\"ALPHA\"].type,\n coinsList[\"USDC\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`ALPHA-USDC`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"XAUM\"].type,\n coinsList[\"DEEP\"].type,\n coinsList[\"SUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`DEEP-SUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"XAUM\"].type,\n coinsList[\"BLUE\"].type,\n coinsList[\"SUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`BLUE-SUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"XAUM\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"USDC\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`SUI-USDC`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(true),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,\n typeArguments: [\n coinsList[\"XAUM\"].type,\n coinsList[\"XAUM\"].type,\n coinsList[\"USDC\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`XAUM-USDC`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.pure.bool(false),\n txb.pure.bool(true),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n }\n return txb;\n}\nexport async function alphalendSingleLoopDeposit(\n poolName: PoolName,\n amount: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolData = poolInfo[poolName];\n\n const coinName = loopingPoolCoinMap[poolName].supplyCoin;\n\n await alphalendClient.updatePrices(txb, [coinsList[coinName].type]);\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n let totalCoin: any;\n if (coinName === \"SUI\") {\n totalCoin = txb.gas;\n } else {\n totalCoin = await getCoinObject(coinsList[coinName].type, address, txb);\n }\n const [depositCoin] = txb.splitCoins(totalCoin, [amount]);\n await collectAndSwapRewardsSingleLoop(poolName, txb);\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::user_deposit`,\n typeArguments: [coinsList[coinName].type],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([totalCoin], address);\n return txb;\n}\n\nexport async function alphalendSuiStsuiLoopWithdrawTx(\n xTokens: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolName = \"ALPHALEND-LOOP-SUI-STSUI\";\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n await alphalendClient.updatePrices(txb, [\n coinsList[\"STSUI\"].type,\n \"0x2::sui::SUI\",\n ]);\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [C.ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_one_swap`,\n typeArguments: [coinsList[\"ALPHA\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`ALPHA-STSUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_no_swap_v2`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps_v2`,\n typeArguments: [coinsList[\"BLUE\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(cetusPoolMap[`BLUE-SUI`]),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n const [stsui_coin] = txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::user_withdraw_v3`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `0x2::transfer::public_transfer`,\n typeArguments: [`0x2::coin::Coin<${coinsList[\"SUI\"].type}>`],\n arguments: [stsui_coin, txb.pure.address(address)],\n });\n } else {\n throw new Error(`No ALPHALEND-LOOP-SUI-STSUI Receipt`);\n }\n\n return txb;\n}\nexport async function alphalendSingleLoopWithdraw(\n poolName: PoolName,\n xTokens: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n const coinName = loopingPoolCoinMap[poolName].supplyCoin;\n\n await alphalendClient.updatePrices(txb, [coinsList[coinName].type]);\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [C.ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n await collectAndSwapRewardsSingleLoop(poolName, txb);\n const [coin] = txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::user_withdraw`,\n typeArguments: [coinsList[coinName].type],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([coin], address);\n } else {\n throw new Error(`No ALPHALEND-LOOP-SUI-STSUI Receipt`);\n }\n\n return txb;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"alphalend.js","sourceRoot":"","sources":["../../../src/transactions/alphalend.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport {\n bluefinPoolMap,\n cetusPoolMap,\n coinsList,\n collectAndSwapRewardsSingleLoop,\n getConf,\n getReceipts,\n getSuiClient,\n loopingPoolCoinMap,\n poolInfo,\n} from \"../index.js\";\nimport { PoolName, Receipt } from \"../common/types.js\";\nimport { AlphalendClient } from \"@alphafi/alphalend-sdk\";\nimport { getCoinObject } from \"./bluefin.js\";\n\nexport async function alphalendLoopingDeposit(\n poolName: PoolName,\n amount: string,\n options: { address: string },\n) {\n let txb = new Transaction();\n\n if (poolName === \"ALPHALEND-LOOP-SUI-STSUI\") {\n txb = await alphalendSuiStsuiLoopDepositTx(amount, options);\n }\n return txb;\n}\nexport async function alphalendLoopingWithdraw(\n poolName: PoolName,\n xTokens: string,\n options: { address: string },\n) {\n let txb = new Transaction();\n\n if (poolName === \"ALPHALEND-LOOP-SUI-STSUI\") {\n txb = await alphalendSuiStsuiLoopWithdrawTx(xTokens, options);\n }\n return txb;\n}\nexport const alphalendClient = new AlphalendClient(\"mainnet\", getSuiClient());\nexport async function alphalendSuiStsuiLoopDepositTx(\n amount: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolName = \"ALPHALEND-LOOP-SUI-STSUI\";\n const poolData = poolInfo[poolName];\n\n await alphalendClient.updatePrices(txb, [\n coinsList[\"STSUI\"].type,\n \"0x2::sui::SUI\",\n ]);\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n const [depositCoin] = txb.splitCoins(txb.gas, [amount]);\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_one_swap`,\n typeArguments: [coinsList[\"ALPHA\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`ALPHA-STSUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_no_swap_v2`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps_v2`,\n typeArguments: [coinsList[\"BLUE\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(cetusPoolMap[`BLUE-SUI`]),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::user_deposit_v3`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n\n return txb;\n}\n\nexport async function alphalendSingleLoopDeposit(\n poolName: PoolName,\n amount: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolData = poolInfo[poolName];\n\n const coinName = loopingPoolCoinMap[poolName].supplyCoin;\n\n await alphalendClient.updatePrices(txb, [coinsList[coinName].type]);\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n let totalCoin: any;\n if (coinName === \"SUI\") {\n totalCoin = txb.gas;\n } else {\n totalCoin = await getCoinObject(coinsList[coinName].type, address, txb);\n }\n const [depositCoin] = txb.splitCoins(totalCoin, [amount]);\n await collectAndSwapRewardsSingleLoop(poolName, txb);\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::user_deposit`,\n typeArguments: [coinsList[coinName].type],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([totalCoin], address);\n return txb;\n}\n\nexport async function alphalendSuiStsuiLoopWithdrawTx(\n xTokens: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolName = \"ALPHALEND-LOOP-SUI-STSUI\";\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n await alphalendClient.updatePrices(txb, [\n coinsList[\"STSUI\"].type,\n \"0x2::sui::SUI\",\n ]);\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [C.ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_one_swap`,\n typeArguments: [coinsList[\"ALPHA\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(bluefinPoolMap[`ALPHA-STSUI`]),\n txb.object(C.BLUEFIN_GLOBAL_CONFIG),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_no_swap_v2`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::collect_v3_rewards_with_two_swaps_v2`,\n typeArguments: [coinsList[\"BLUE\"].type],\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(poolData.investorId),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(cetusPoolMap[`BLUE-SUI`]),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n const [stsui_coin] = txb.moveCall({\n target: `${poolData.packageId}::alphafi_navi_sui_stsui_pool::user_withdraw_v3`,\n arguments: [\n txb.object(C.ALPHA_5_VERSION),\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.LST_INFO),\n txb.object(C.SUI_SYSTEM_STATE),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.moveCall({\n target: `0x2::transfer::public_transfer`,\n typeArguments: [`0x2::coin::Coin<${coinsList[\"SUI\"].type}>`],\n arguments: [stsui_coin, txb.pure.address(address)],\n });\n } else {\n throw new Error(`No ALPHALEND-LOOP-SUI-STSUI Receipt`);\n }\n\n return txb;\n}\nexport async function alphalendSingleLoopWithdraw(\n poolName: PoolName,\n xTokens: string,\n options: { address: string },\n): Promise<Transaction> {\n const C = getConf();\n const address = options.address;\n const txb = new Transaction();\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(\n poolName as PoolName,\n address,\n true,\n );\n\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n const coinName = loopingPoolCoinMap[poolName].supplyCoin;\n\n await alphalendClient.updatePrices(txb, [coinsList[coinName].type]);\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [C.ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n await collectAndSwapRewardsSingleLoop(poolName, txb);\n const [coin] = txb.moveCall({\n target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::user_withdraw`,\n typeArguments: [coinsList[coinName].type],\n arguments: [\n txb.object(C.ALPHA_ALPHALEND_VERSION),\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.LENDING_PROTOCOL_ID),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n txb.transferObjects([coin], address);\n } else {\n throw new Error(`No ALPHALEND-LOOP-SUI-STSUI Receipt`);\n }\n\n return txb;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bluefin.d.ts","sourceRoot":"","sources":["../../../src/transactions/bluefin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAalC,OAAO,EAAE,QAAQ,EAAW,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"bluefin.d.ts","sourceRoot":"","sources":["../../../src/transactions/bluefin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAalC,OAAO,EAAE,QAAQ,EAAW,MAAM,oBAAoB,CAAC;AAQvD,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAmLrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CA8OrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAsiBrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAqPrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAqTrB,CAAC;AACF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,KAAK,WAAW,KACf,OAAO,CAAC,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAuCxD,CAAC;AACF,eAAO,MAAM,yBAAyB,GACpC,QAAQ,MAAM,EACd,UAAU,QAAQ,EAClB,WAAW,OAAO,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC5B,cAAa,WAAW,GAAG,SAAqB,KAC/C,OAAO,CAAC,WAAW,CAmFrB,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAqJ7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAuM7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAif7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAkL7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAkP7B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,SAAS,MAAM,EACf,UAAU,QAAQ,EAClB,SAAS;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,yBAwC7B,CAAC"}
|
|
@@ -6,6 +6,8 @@ import { getReceipts } from "../sui-sdk/functions/getReceipts.js";
|
|
|
6
6
|
import { getSuiClient } from "../sui-sdk/client.js";
|
|
7
7
|
import { getAmounts } from "./deposit.js";
|
|
8
8
|
import { claimRewardsTxb, collectRewardTxb } from "./blueRewards.js";
|
|
9
|
+
import { collectAndSwapRewardsLyf } from "../index.js";
|
|
10
|
+
import { alphalendClient } from "./alphalend.js";
|
|
9
11
|
export const depositBluefinSuiFirstTxb = async (amount, poolName, isAmountA, options, transaction = undefined) => {
|
|
10
12
|
const suiClient = getSuiClient();
|
|
11
13
|
const address = options.address;
|
|
@@ -374,6 +376,32 @@ export const depositBluefinSuiSecondTxb = async (amount, poolName, isAmountA, op
|
|
|
374
376
|
],
|
|
375
377
|
});
|
|
376
378
|
}
|
|
379
|
+
else if (poolinfo.strategyType === "LEVERAGE-YIELD-FARMING") {
|
|
380
|
+
const coinAType = pool1 === "SUI" ? "0x2::sui::SUI" : coinsList[pool1].type;
|
|
381
|
+
const coinBType = pool2 === "SUI" ? "0x2::sui::SUI" : coinsList[pool2].type;
|
|
382
|
+
await alphalendClient.updatePrices(txb, [coinAType, coinBType]);
|
|
383
|
+
console.log(alphalendClient.constants.ALPHAFI_LATEST_ORACLE_PACKAGE_ID, alphalendClient.constants.ALPHAFI_ORACLE_OBJECT_ID, alphalendClient.constants.ALPHALEND_LATEST_PACKAGE_ID, alphalendClient.constants.LENDING_PROTOCOL_ID);
|
|
384
|
+
await collectAndSwapRewardsLyf(poolName, txb);
|
|
385
|
+
console.log(amount1, amount2);
|
|
386
|
+
txb.moveCall({
|
|
387
|
+
target: `${poolinfo.packageId}::alphafi_lyf_pool::user_deposit`,
|
|
388
|
+
typeArguments: [coinsList[pool1].type, coinsList[pool2].type],
|
|
389
|
+
arguments: [
|
|
390
|
+
txb.object(getConf().ALPHA_LYF_VERSION),
|
|
391
|
+
txb.object(getConf().VERSION),
|
|
392
|
+
someReceipt,
|
|
393
|
+
txb.object(poolinfo.poolId),
|
|
394
|
+
depositCoinA,
|
|
395
|
+
depositCoinB,
|
|
396
|
+
txb.object(getConf().ALPHA_DISTRIBUTOR),
|
|
397
|
+
txb.object(getConf().LENDING_PROTOCOL_ID),
|
|
398
|
+
txb.object(getConf().BLUEFIN_GLOBAL_CONFIG),
|
|
399
|
+
txb.object(poolinfo.parentPoolId),
|
|
400
|
+
txb.object(getConf().SUI_SYSTEM_STATE),
|
|
401
|
+
txb.object(getConf().CLOCK_PACKAGE_ID),
|
|
402
|
+
],
|
|
403
|
+
});
|
|
404
|
+
}
|
|
377
405
|
txb.transferObjects([coin1], address);
|
|
378
406
|
}
|
|
379
407
|
else {
|
|
@@ -1898,6 +1926,31 @@ export const withdrawBluefinSuiSecondTxb = async (xTokens, poolName, options) =>
|
|
|
1898
1926
|
],
|
|
1899
1927
|
});
|
|
1900
1928
|
}
|
|
1929
|
+
else if (poolinfo.strategyType === "LEVERAGE-YIELD-FARMING") {
|
|
1930
|
+
const coinAType = pool1 === "SUI" ? "0x2::sui::SUI" : coinsList[pool1].type;
|
|
1931
|
+
const coinBType = pool2 === "SUI" ? "0x2::sui::SUI" : coinsList[pool2].type;
|
|
1932
|
+
await alphalendClient.updatePrices(txb, [coinAType, coinBType]);
|
|
1933
|
+
await collectAndSwapRewardsLyf(poolName, txb);
|
|
1934
|
+
txb.moveCall({
|
|
1935
|
+
target: `${poolinfo.packageId}::alphafi_lyf_pool::user_withdraw`,
|
|
1936
|
+
typeArguments: [coinsList[pool1].type, coinsList[pool2].type],
|
|
1937
|
+
arguments: [
|
|
1938
|
+
txb.object(getConf().ALPHA_LYF_VERSION),
|
|
1939
|
+
txb.object(getConf().VERSION),
|
|
1940
|
+
txb.object(receipt[0].objectId),
|
|
1941
|
+
alpha_receipt,
|
|
1942
|
+
txb.object(getConf().ALPHA_POOL),
|
|
1943
|
+
txb.object(poolinfo.poolId),
|
|
1944
|
+
txb.pure.u128(xTokens),
|
|
1945
|
+
txb.object(getConf().ALPHA_DISTRIBUTOR),
|
|
1946
|
+
txb.object(getConf().LENDING_PROTOCOL_ID),
|
|
1947
|
+
txb.object(getConf().BLUEFIN_GLOBAL_CONFIG),
|
|
1948
|
+
txb.object(poolinfo.parentPoolId),
|
|
1949
|
+
txb.object(getConf().SUI_SYSTEM_STATE),
|
|
1950
|
+
txb.object(getConf().CLOCK_PACKAGE_ID),
|
|
1951
|
+
],
|
|
1952
|
+
});
|
|
1953
|
+
}
|
|
1901
1954
|
}
|
|
1902
1955
|
}
|
|
1903
1956
|
else {
|