@alphafi/alphafi-sdk 0.0.91 → 0.0.92
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/dist/cjs/common/constants.d.ts +18 -0
- package/dist/cjs/common/constants.d.ts.map +1 -1
- package/dist/cjs/common/constants.js +9 -0
- 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 +41 -0
- package/dist/cjs/common/maps.js.map +1 -1
- package/dist/cjs/common/types.d.ts +12 -2
- 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 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +1 -0
- package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/cjs/transactions/alphalend.d.ts +1 -0
- package/dist/cjs/transactions/alphalend.d.ts.map +1 -1
- package/dist/cjs/transactions/alphalend.js +148 -201
- package/dist/cjs/transactions/alphalend.js.map +1 -1
- package/dist/esm/common/constants.d.ts +18 -0
- package/dist/esm/common/constants.d.ts.map +1 -1
- package/dist/esm/common/constants.js +9 -0
- 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 +41 -0
- package/dist/esm/common/maps.js.map +1 -1
- package/dist/esm/common/types.d.ts +12 -2
- 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 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts +1 -0
- package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
- package/dist/esm/transactions/alphalend.d.ts +1 -0
- package/dist/esm/transactions/alphalend.d.ts.map +1 -1
- package/dist/esm/transactions/alphalend.js +147 -201
- package/dist/esm/transactions/alphalend.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/collectAndSwapRewardsSingleLoop.html +1 -0
- 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/getZapAmounts.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/zapDepositTxb.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 +3 -2
- package/docs/types/AfterTransactionEventNode.html +1 -1
- package/docs/types/AirdropClaimEventNode.html +1 -1
- package/docs/types/Allocator.html +1 -1
- package/docs/types/AlphaFiDoubleAssetVault.html +1 -1
- package/docs/types/AlphaFiMultiVaultBalance.html +1 -1
- package/docs/types/AlphaFiSingleAssetVault.html +1 -1
- 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 +1 -1
- package/docs/types/AlphaReceipt.html +1 -1
- package/docs/types/AlphaReceiptFields.html +1 -1
- package/docs/types/AlphaVaultBalance.html +1 -1
- package/docs/types/AutoBalancePoolNames.html +1 -1
- package/docs/types/AutoCompoundingEventNode.html +1 -1
- package/docs/types/BluefinInvestor.html +1 -1
- package/docs/types/BluefinPoolType.html +1 -1
- package/docs/types/BucketInvestor.html +1 -1
- package/docs/types/CetusInvestor.html +1 -1
- package/docs/types/CetusPoolType.html +1 -1
- package/docs/types/CetusSwapOptions.html +1 -1
- package/docs/types/CoinAmounts.html +1 -1
- package/docs/types/CoinName.html +1 -1
- package/docs/types/CoinType.html +1 -1
- package/docs/types/CommonInvestorFields.html +1 -1
- package/docs/types/CreatePoolOptions.html +1 -1
- package/docs/types/Distributor.html +1 -1
- package/docs/types/DoubleAssetMultiVaultBalance.html +1 -1
- package/docs/types/DoubleAssetPoolNames.html +1 -1
- package/docs/types/DoubleAssetTokenHoldings.html +1 -1
- package/docs/types/DoubleAssetVaultBalance.html +1 -1
- package/docs/types/EventCategory.html +1 -1
- package/docs/types/EventNode.html +1 -1
- package/docs/types/GetHoldersParams.html +1 -1
- package/docs/types/GetTokenHoldingsParams.html +1 -1
- package/docs/types/GetUserTokensFromTransactionsParams.html +1 -1
- package/docs/types/GetUserTokensInUsdFromTransactionsParams.html +1 -1
- package/docs/types/GetVaultBalanceParams.html +1 -1
- package/docs/types/HoldingsObj.html +1 -1
- 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 +1 -1
- package/docs/types/LiquidityToUsdParams.html +1 -1
- package/docs/types/LoopingDebt.html +1 -1
- package/docs/types/LoopingPoolNames.html +1 -1
- package/docs/types/LpBreakdownType.html +1 -1
- package/docs/types/MemberPoolDataType.html +1 -1
- package/docs/types/MemberType.html +1 -1
- package/docs/types/MultiGetVaultBalancesParams.html +1 -1
- package/docs/types/NaviInvestor.html +1 -1
- package/docs/types/OtherReceiptFields.html +1 -1
- package/docs/types/PoolName.html +1 -1
- package/docs/types/PoolReceipt.html +1 -1
- package/docs/types/PoolType.html +1 -1
- package/docs/types/Receipt.html +1 -1
- package/docs/types/ReceiptGQL.html +1 -1
- package/docs/types/SingleAssetMultiVaultBalance.html +1 -1
- package/docs/types/SingleAssetPoolNames.html +1 -1
- package/docs/types/SingleAssetTokenHoldings.html +1 -1
- package/docs/types/SingleAssetVaultBalance.html +1 -1
- package/docs/types/SingleGetVaultBalancesParams.html +1 -1
- 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 +1 -1
- package/docs/types/TransactionBlockType.html +1 -1
- package/docs/types/UserPoolLiquidity.html +1 -1
- package/docs/types/UserPoolTokenHoldings.html +1 -1
- package/docs/types/UserUsdHoldings.html +1 -1
- 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 +2 -2
|
@@ -4,6 +4,7 @@ exports.alphalendClient = void 0;
|
|
|
4
4
|
exports.alphalendLoopingDeposit = alphalendLoopingDeposit;
|
|
5
5
|
exports.alphalendLoopingWithdraw = alphalendLoopingWithdraw;
|
|
6
6
|
exports.alphalendSuiStsuiLoopDepositTx = alphalendSuiStsuiLoopDepositTx;
|
|
7
|
+
exports.collectAndSwapRewardsSingleLoop = collectAndSwapRewardsSingleLoop;
|
|
7
8
|
exports.alphalendSingleLoopDeposit = alphalendSingleLoopDeposit;
|
|
8
9
|
exports.alphalendSuiStsuiLoopWithdrawTx = alphalendSuiStsuiLoopWithdrawTx;
|
|
9
10
|
exports.alphalendSingleLoopWithdraw = alphalendSingleLoopWithdraw;
|
|
@@ -16,9 +17,6 @@ async function alphalendLoopingDeposit(poolName, amount, options) {
|
|
|
16
17
|
if (poolName === "ALPHALEND-LOOP-SUI-STSUI") {
|
|
17
18
|
txb = await alphalendSuiStsuiLoopDepositTx(amount, options);
|
|
18
19
|
}
|
|
19
|
-
else if (poolName === "ALPHALEND-SINGLE-LOOP-TBTC") {
|
|
20
|
-
txb = await alphalendSingleLoopDeposit(poolName, amount, options);
|
|
21
|
-
}
|
|
22
20
|
return txb;
|
|
23
21
|
}
|
|
24
22
|
async function alphalendLoopingWithdraw(poolName, xTokens, options) {
|
|
@@ -26,9 +24,6 @@ async function alphalendLoopingWithdraw(poolName, xTokens, options) {
|
|
|
26
24
|
if (poolName === "ALPHALEND-LOOP-SUI-STSUI") {
|
|
27
25
|
txb = await alphalendSuiStsuiLoopWithdrawTx(xTokens, options);
|
|
28
26
|
}
|
|
29
|
-
else if (poolName === "ALPHALEND-SINGLE-LOOP-TBTC") {
|
|
30
|
-
txb = await alphalendSingleLoopWithdraw(poolName, xTokens, options);
|
|
31
|
-
}
|
|
32
27
|
return txb;
|
|
33
28
|
}
|
|
34
29
|
exports.alphalendClient = new alphalend_sdk_1.AlphalendClient("mainnet", (0, index_js_1.getSuiClient)());
|
|
@@ -112,37 +107,10 @@ async function alphalendSuiStsuiLoopDepositTx(amount, options) {
|
|
|
112
107
|
});
|
|
113
108
|
return txb;
|
|
114
109
|
}
|
|
115
|
-
async function
|
|
110
|
+
async function collectAndSwapRewardsSingleLoop(poolName, tx) {
|
|
111
|
+
const txb = tx ? tx : new transactions_1.Transaction();
|
|
116
112
|
const C = (0, index_js_1.getConf)();
|
|
117
|
-
const address = options.address;
|
|
118
|
-
const txb = new transactions_1.Transaction();
|
|
119
113
|
const poolData = index_js_1.poolInfo[poolName];
|
|
120
|
-
const coinName = index_js_1.loopingPoolCoinMap[poolName].supplyCoin;
|
|
121
|
-
await exports.alphalendClient.updatePrices(txb, [index_js_1.coinsList[coinName].type]);
|
|
122
|
-
const receipt = await (0, index_js_1.getReceipts)(poolName, address, true);
|
|
123
|
-
let someReceipt;
|
|
124
|
-
if (receipt.length == 0) {
|
|
125
|
-
[someReceipt] = txb.moveCall({
|
|
126
|
-
target: `0x1::option::none`,
|
|
127
|
-
typeArguments: [poolData.receiptType],
|
|
128
|
-
arguments: [],
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
[someReceipt] = txb.moveCall({
|
|
133
|
-
target: `0x1::option::some`,
|
|
134
|
-
typeArguments: [receipt[0].content.type],
|
|
135
|
-
arguments: [txb.object(receipt[0].objectId)],
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
let totalCoin;
|
|
139
|
-
if (coinName === "SUI") {
|
|
140
|
-
totalCoin = txb.gas;
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
totalCoin = await (0, bluefin_js_1.getCoinObject)(index_js_1.coinsList[coinName].type, address, txb);
|
|
144
|
-
}
|
|
145
|
-
const [depositCoin] = txb.splitCoins(totalCoin, [amount]);
|
|
146
114
|
if (poolName === "ALPHALEND-SINGLE-LOOP-TBTC") {
|
|
147
115
|
txb.moveCall({
|
|
148
116
|
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
@@ -198,6 +166,24 @@ async function alphalendSingleLoopDeposit(poolName, amount, options) {
|
|
|
198
166
|
txb.object(C.CLOCK_PACKAGE_ID),
|
|
199
167
|
],
|
|
200
168
|
});
|
|
169
|
+
txb.moveCall({
|
|
170
|
+
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
171
|
+
typeArguments: [
|
|
172
|
+
index_js_1.coinsList["TBTC"].type,
|
|
173
|
+
index_js_1.coinsList["DEEP"].type,
|
|
174
|
+
index_js_1.coinsList["SUI"].type,
|
|
175
|
+
],
|
|
176
|
+
arguments: [
|
|
177
|
+
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
178
|
+
txb.object(poolData.investorId),
|
|
179
|
+
txb.object(C.LENDING_PROTOCOL_ID),
|
|
180
|
+
txb.object(index_js_1.bluefinPoolMap[`DEEP-SUI`]),
|
|
181
|
+
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
182
|
+
txb.pure.bool(true),
|
|
183
|
+
txb.pure.bool(true),
|
|
184
|
+
txb.object(C.CLOCK_PACKAGE_ID),
|
|
185
|
+
],
|
|
186
|
+
});
|
|
201
187
|
txb.moveCall({
|
|
202
188
|
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
203
189
|
typeArguments: [
|
|
@@ -309,6 +295,132 @@ async function alphalendSingleLoopDeposit(poolName, amount, options) {
|
|
|
309
295
|
],
|
|
310
296
|
});
|
|
311
297
|
}
|
|
298
|
+
else if (poolName === "ALPHALEND-SINGLE-LOOP-XAUM") {
|
|
299
|
+
txb.moveCall({
|
|
300
|
+
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
301
|
+
typeArguments: [
|
|
302
|
+
index_js_1.coinsList["XAUM"].type,
|
|
303
|
+
index_js_1.coinsList["ALPHA"].type,
|
|
304
|
+
index_js_1.coinsList["USDC"].type,
|
|
305
|
+
],
|
|
306
|
+
arguments: [
|
|
307
|
+
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
308
|
+
txb.object(poolData.investorId),
|
|
309
|
+
txb.object(C.LENDING_PROTOCOL_ID),
|
|
310
|
+
txb.object(index_js_1.bluefinPoolMap[`ALPHA-USDC`]),
|
|
311
|
+
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
312
|
+
txb.pure.bool(true),
|
|
313
|
+
txb.pure.bool(true),
|
|
314
|
+
txb.object(C.CLOCK_PACKAGE_ID),
|
|
315
|
+
],
|
|
316
|
+
});
|
|
317
|
+
txb.moveCall({
|
|
318
|
+
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
319
|
+
typeArguments: [
|
|
320
|
+
index_js_1.coinsList["XAUM"].type,
|
|
321
|
+
index_js_1.coinsList["DEEP"].type,
|
|
322
|
+
index_js_1.coinsList["SUI"].type,
|
|
323
|
+
],
|
|
324
|
+
arguments: [
|
|
325
|
+
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
326
|
+
txb.object(poolData.investorId),
|
|
327
|
+
txb.object(C.LENDING_PROTOCOL_ID),
|
|
328
|
+
txb.object(index_js_1.bluefinPoolMap[`DEEP-SUI`]),
|
|
329
|
+
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
330
|
+
txb.pure.bool(true),
|
|
331
|
+
txb.pure.bool(true),
|
|
332
|
+
txb.object(C.CLOCK_PACKAGE_ID),
|
|
333
|
+
],
|
|
334
|
+
});
|
|
335
|
+
txb.moveCall({
|
|
336
|
+
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
337
|
+
typeArguments: [
|
|
338
|
+
index_js_1.coinsList["XAUM"].type,
|
|
339
|
+
index_js_1.coinsList["BLUE"].type,
|
|
340
|
+
index_js_1.coinsList["SUI"].type,
|
|
341
|
+
],
|
|
342
|
+
arguments: [
|
|
343
|
+
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
344
|
+
txb.object(poolData.investorId),
|
|
345
|
+
txb.object(C.LENDING_PROTOCOL_ID),
|
|
346
|
+
txb.object(index_js_1.bluefinPoolMap[`BLUE-SUI`]),
|
|
347
|
+
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
348
|
+
txb.pure.bool(true),
|
|
349
|
+
txb.pure.bool(true),
|
|
350
|
+
txb.object(C.CLOCK_PACKAGE_ID),
|
|
351
|
+
],
|
|
352
|
+
});
|
|
353
|
+
txb.moveCall({
|
|
354
|
+
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
355
|
+
typeArguments: [
|
|
356
|
+
index_js_1.coinsList["XAUM"].type,
|
|
357
|
+
index_js_1.coinsList["SUI"].type,
|
|
358
|
+
index_js_1.coinsList["USDC"].type,
|
|
359
|
+
],
|
|
360
|
+
arguments: [
|
|
361
|
+
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
362
|
+
txb.object(poolData.investorId),
|
|
363
|
+
txb.object(C.LENDING_PROTOCOL_ID),
|
|
364
|
+
txb.object(index_js_1.bluefinPoolMap[`SUI-USDC`]),
|
|
365
|
+
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
366
|
+
txb.pure.bool(true),
|
|
367
|
+
txb.pure.bool(true),
|
|
368
|
+
txb.object(C.CLOCK_PACKAGE_ID),
|
|
369
|
+
],
|
|
370
|
+
});
|
|
371
|
+
txb.moveCall({
|
|
372
|
+
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
373
|
+
typeArguments: [
|
|
374
|
+
index_js_1.coinsList["XAUM"].type,
|
|
375
|
+
index_js_1.coinsList["XAUM"].type,
|
|
376
|
+
index_js_1.coinsList["USDC"].type,
|
|
377
|
+
],
|
|
378
|
+
arguments: [
|
|
379
|
+
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
380
|
+
txb.object(poolData.investorId),
|
|
381
|
+
txb.object(C.LENDING_PROTOCOL_ID),
|
|
382
|
+
txb.object(index_js_1.bluefinPoolMap[`XAUM-USDC`]),
|
|
383
|
+
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
384
|
+
txb.pure.bool(false),
|
|
385
|
+
txb.pure.bool(true),
|
|
386
|
+
txb.object(C.CLOCK_PACKAGE_ID),
|
|
387
|
+
],
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
return txb;
|
|
391
|
+
}
|
|
392
|
+
async function alphalendSingleLoopDeposit(poolName, amount, options) {
|
|
393
|
+
const C = (0, index_js_1.getConf)();
|
|
394
|
+
const address = options.address;
|
|
395
|
+
const txb = new transactions_1.Transaction();
|
|
396
|
+
const poolData = index_js_1.poolInfo[poolName];
|
|
397
|
+
const coinName = index_js_1.loopingPoolCoinMap[poolName].supplyCoin;
|
|
398
|
+
await exports.alphalendClient.updatePrices(txb, [index_js_1.coinsList[coinName].type]);
|
|
399
|
+
const receipt = await (0, index_js_1.getReceipts)(poolName, address, true);
|
|
400
|
+
let someReceipt;
|
|
401
|
+
if (receipt.length == 0) {
|
|
402
|
+
[someReceipt] = txb.moveCall({
|
|
403
|
+
target: `0x1::option::none`,
|
|
404
|
+
typeArguments: [poolData.receiptType],
|
|
405
|
+
arguments: [],
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
[someReceipt] = txb.moveCall({
|
|
410
|
+
target: `0x1::option::some`,
|
|
411
|
+
typeArguments: [receipt[0].content.type],
|
|
412
|
+
arguments: [txb.object(receipt[0].objectId)],
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
let totalCoin;
|
|
416
|
+
if (coinName === "SUI") {
|
|
417
|
+
totalCoin = txb.gas;
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
totalCoin = await (0, bluefin_js_1.getCoinObject)(index_js_1.coinsList[coinName].type, address, txb);
|
|
421
|
+
}
|
|
422
|
+
const [depositCoin] = txb.splitCoins(totalCoin, [amount]);
|
|
423
|
+
await collectAndSwapRewardsSingleLoop(poolName, txb);
|
|
312
424
|
txb.moveCall({
|
|
313
425
|
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::user_deposit`,
|
|
314
426
|
typeArguments: [index_js_1.coinsList[coinName].type],
|
|
@@ -444,172 +556,7 @@ async function alphalendSingleLoopWithdraw(poolName, xTokens, options) {
|
|
|
444
556
|
arguments: [txb.object(alphaReceipt[0].objectId)],
|
|
445
557
|
});
|
|
446
558
|
}
|
|
447
|
-
|
|
448
|
-
txb.moveCall({
|
|
449
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
450
|
-
typeArguments: [
|
|
451
|
-
index_js_1.coinsList["TBTC"].type,
|
|
452
|
-
index_js_1.coinsList["ALPHA"].type,
|
|
453
|
-
index_js_1.coinsList["STSUI"].type,
|
|
454
|
-
],
|
|
455
|
-
arguments: [
|
|
456
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
457
|
-
txb.object(poolData.investorId),
|
|
458
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
459
|
-
txb.object(index_js_1.bluefinPoolMap[`ALPHA-STSUI`]),
|
|
460
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
461
|
-
txb.pure.bool(true),
|
|
462
|
-
txb.pure.bool(false),
|
|
463
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
464
|
-
],
|
|
465
|
-
});
|
|
466
|
-
txb.moveCall({
|
|
467
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
468
|
-
typeArguments: [
|
|
469
|
-
index_js_1.coinsList["TBTC"].type,
|
|
470
|
-
index_js_1.coinsList["STSUI"].type,
|
|
471
|
-
index_js_1.coinsList["SUI"].type,
|
|
472
|
-
],
|
|
473
|
-
arguments: [
|
|
474
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
475
|
-
txb.object(poolData.investorId),
|
|
476
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
477
|
-
txb.object(index_js_1.bluefinPoolMap[`STSUI-SUI`]),
|
|
478
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
479
|
-
txb.pure.bool(true),
|
|
480
|
-
txb.pure.bool(true),
|
|
481
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
482
|
-
],
|
|
483
|
-
});
|
|
484
|
-
txb.moveCall({
|
|
485
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
486
|
-
typeArguments: [
|
|
487
|
-
index_js_1.coinsList["TBTC"].type,
|
|
488
|
-
index_js_1.coinsList["BLUE"].type,
|
|
489
|
-
index_js_1.coinsList["SUI"].type,
|
|
490
|
-
],
|
|
491
|
-
arguments: [
|
|
492
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
493
|
-
txb.object(poolData.investorId),
|
|
494
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
495
|
-
txb.object(index_js_1.bluefinPoolMap[`BLUE-SUI`]),
|
|
496
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
497
|
-
txb.pure.bool(true),
|
|
498
|
-
txb.pure.bool(true),
|
|
499
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
500
|
-
],
|
|
501
|
-
});
|
|
502
|
-
txb.moveCall({
|
|
503
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
504
|
-
typeArguments: [
|
|
505
|
-
index_js_1.coinsList["TBTC"].type,
|
|
506
|
-
index_js_1.coinsList["SUI"].type,
|
|
507
|
-
index_js_1.coinsList["USDC"].type,
|
|
508
|
-
],
|
|
509
|
-
arguments: [
|
|
510
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
511
|
-
txb.object(poolData.investorId),
|
|
512
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
513
|
-
txb.object(index_js_1.bluefinPoolMap[`SUI-USDC`]),
|
|
514
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
515
|
-
txb.pure.bool(true),
|
|
516
|
-
txb.pure.bool(true),
|
|
517
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
518
|
-
],
|
|
519
|
-
});
|
|
520
|
-
txb.moveCall({
|
|
521
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
522
|
-
typeArguments: [
|
|
523
|
-
index_js_1.coinsList["TBTC"].type,
|
|
524
|
-
index_js_1.coinsList["TBTC"].type,
|
|
525
|
-
index_js_1.coinsList["USDC"].type,
|
|
526
|
-
],
|
|
527
|
-
arguments: [
|
|
528
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
529
|
-
txb.object(poolData.investorId),
|
|
530
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
531
|
-
txb.object(index_js_1.bluefinPoolMap[`TBTC-USDC`]),
|
|
532
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
533
|
-
txb.pure.bool(false),
|
|
534
|
-
txb.pure.bool(true),
|
|
535
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
536
|
-
],
|
|
537
|
-
});
|
|
538
|
-
}
|
|
539
|
-
else if (poolName === "ALPHALEND-SINGLE-LOOP-SUIBTC") {
|
|
540
|
-
txb.moveCall({
|
|
541
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
542
|
-
typeArguments: [
|
|
543
|
-
index_js_1.coinsList["SUIBTC"].type,
|
|
544
|
-
index_js_1.coinsList["ALPHA"].type,
|
|
545
|
-
index_js_1.coinsList["STSUI"].type,
|
|
546
|
-
],
|
|
547
|
-
arguments: [
|
|
548
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
549
|
-
txb.object(poolData.investorId),
|
|
550
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
551
|
-
txb.object(index_js_1.bluefinPoolMap[`ALPHA-STSUI`]),
|
|
552
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
553
|
-
txb.pure.bool(true),
|
|
554
|
-
txb.pure.bool(false),
|
|
555
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
556
|
-
],
|
|
557
|
-
});
|
|
558
|
-
txb.moveCall({
|
|
559
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
560
|
-
typeArguments: [
|
|
561
|
-
index_js_1.coinsList["SUIBTC"].type,
|
|
562
|
-
index_js_1.coinsList["BLUE"].type,
|
|
563
|
-
index_js_1.coinsList["SUI"].type,
|
|
564
|
-
],
|
|
565
|
-
arguments: [
|
|
566
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
567
|
-
txb.object(poolData.investorId),
|
|
568
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
569
|
-
txb.object(index_js_1.bluefinPoolMap[`BLUE-SUI`]),
|
|
570
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
571
|
-
txb.pure.bool(true),
|
|
572
|
-
txb.pure.bool(true),
|
|
573
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
574
|
-
],
|
|
575
|
-
});
|
|
576
|
-
txb.moveCall({
|
|
577
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
578
|
-
typeArguments: [
|
|
579
|
-
index_js_1.coinsList["SUIBTC"].type,
|
|
580
|
-
index_js_1.coinsList["DEEP"].type,
|
|
581
|
-
index_js_1.coinsList["SUI"].type,
|
|
582
|
-
],
|
|
583
|
-
arguments: [
|
|
584
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
585
|
-
txb.object(poolData.investorId),
|
|
586
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
587
|
-
txb.object(index_js_1.bluefinPoolMap[`DEEP-SUI`]),
|
|
588
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
589
|
-
txb.pure.bool(true),
|
|
590
|
-
txb.pure.bool(true),
|
|
591
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
592
|
-
],
|
|
593
|
-
});
|
|
594
|
-
txb.moveCall({
|
|
595
|
-
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::collect_reward_and_swap_bluefin`,
|
|
596
|
-
typeArguments: [
|
|
597
|
-
index_js_1.coinsList["SUIBTC"].type,
|
|
598
|
-
index_js_1.coinsList["SUI"].type,
|
|
599
|
-
index_js_1.coinsList["SUIBTC"].type,
|
|
600
|
-
],
|
|
601
|
-
arguments: [
|
|
602
|
-
txb.object(C.ALPHA_ALPHALEND_VERSION),
|
|
603
|
-
txb.object(poolData.investorId),
|
|
604
|
-
txb.object(C.LENDING_PROTOCOL_ID),
|
|
605
|
-
txb.object(index_js_1.bluefinPoolMap[`SUI-SUIBTC`]),
|
|
606
|
-
txb.object(C.BLUEFIN_GLOBAL_CONFIG),
|
|
607
|
-
txb.pure.bool(true),
|
|
608
|
-
txb.pure.bool(true),
|
|
609
|
-
txb.object(C.CLOCK_PACKAGE_ID),
|
|
610
|
-
],
|
|
611
|
-
});
|
|
612
|
-
}
|
|
559
|
+
await collectAndSwapRewardsSingleLoop(poolName, txb);
|
|
613
560
|
const [coin] = txb.moveCall({
|
|
614
561
|
target: `${poolData.packageId}::alphafi_alphalend_single_loop_pool::user_withdraw`,
|
|
615
562
|
typeArguments: [index_js_1.coinsList[coinName].type],
|
|
@@ -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 } else if (poolName === \"ALPHALEND-SINGLE-LOOP-TBTC\") {\n txb = await alphalendSingleLoopDeposit(poolName, 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 } else if (poolName === \"ALPHALEND-SINGLE-LOOP-TBTC\") {\n txb = await alphalendSingleLoopWithdraw(poolName, 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 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 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[\"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 }\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 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[\"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 }\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":";;;AAeA,0DAWC;AACD,4DAWC;AAED,wEAwFC;AACD,0EA0RC;AACD,gEA0DC;AAED,0EAoGC;AACD,kEA4DC;AAznBD,2DAAuD;AACvD,0CASqB;AAErB,0DAAyD;AACzD,6CAA6C;AAEtC,KAAK,UAAU,uBAAuB,CAC3C,QAAkB,EAClB,MAAc,EACd,OAA4B;IAE5B,IAAI,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAE5B,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;QAC5C,GAAG,GAAG,MAAM,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACM,KAAK,UAAU,wBAAwB,CAC5C,QAAkB,EAClB,OAAe,EACf,OAA4B;IAE5B,IAAI,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAE5B,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;QAC5C,GAAG,GAAG,MAAM,+BAA+B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACY,QAAA,eAAe,GAAG,IAAI,+BAAe,CAAC,SAAS,EAAE,IAAA,uBAAY,GAAE,CAAC,CAAC;AACvE,KAAK,UAAU,8BAA8B,CAClD,MAAc,EACd,OAA4B;IAE5B,MAAM,CAAC,GAAG,IAAA,kBAAO,GAAE,CAAC;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,uBAAe,CAAC,YAAY,CAAC,GAAG,EAAE;QACtC,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;QACvB,eAAe;KAChB,CAAC,CAAC;IACH,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAC1C,QAAoB,EACpB,OAAO,EACP,IAAI,CACL,CAAC;IAEF,IAAI,WAAgB,CAAC;IACrB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC3B,MAAM,EAAE,mBAAmB;YAC3B,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrC,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC3B,MAAM,EAAE,mBAAmB;YAC3B,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACxC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,GAAG,CAAC,QAAQ,CAAC;QACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,iEAAiE;QAC9F,aAAa,EAAE,CAAC,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;QACxC,SAAS,EAAE;YACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;SAC/B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,QAAQ,CAAC;QACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,mEAAmE;QAChG,SAAS,EAAE;YACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;SAC/B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,QAAQ,CAAC;QACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,qEAAqE;QAClG,aAAa,EAAE,CAAC,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACvC,SAAS,EAAE;YACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,UAAU,CAAC,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC;YACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;SAC/B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,QAAQ,CAAC;QACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,gDAAgD;QAC7E,SAAS,EAAE;YACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACrB,WAAW;YACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,WAAW;YACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;SAC/B;KACF,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AACM,KAAK,UAAU,+BAA+B,CACnD,QAAkB,EAClB,EAAgB;IAEhB,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,0BAAW,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,IAAA,kBAAO,GAAE,CAAC;IACpB,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;QAC9C,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;gBACvB,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;aACxB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC;gBACzC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;gBACvB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;aACtB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,WAAW,CAAC,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;aACtB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;aACtB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;gBACrB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;aACvB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;aACvB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,WAAW,CAAC,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,8BAA8B,EAAE,CAAC;QACvD,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI;gBACxB,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;gBACvB,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;aACxB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC;gBACzC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI;gBACxB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;aACtB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI;gBACxB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;aACtB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI;gBACxB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;gBACrB,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI;aACzB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,YAAY,CAAC,CAAC;gBACxC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,4BAA4B,EAAE,CAAC;QACrD,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;gBACvB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;aACvB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,YAAY,CAAC,CAAC;gBACxC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;aACtB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;aACtB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI;gBACrB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;aACvB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,UAAU,CAAC,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,uEAAuE;YACpG,aAAa,EAAE;gBACb,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;gBACtB,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI;aACvB;YACD,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,WAAW,CAAC,CAAC;gBACvC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACM,KAAK,UAAU,0BAA0B,CAC9C,QAAkB,EAClB,MAAc,EACd,OAA4B;IAE5B,MAAM,CAAC,GAAG,IAAA,kBAAO,GAAE,CAAC;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,6BAAkB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;IAEzD,MAAM,uBAAe,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAC1C,QAAoB,EACpB,OAAO,EACP,IAAI,CACL,CAAC;IAEF,IAAI,WAAgB,CAAC;IACrB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC3B,MAAM,EAAE,mBAAmB;YAC3B,aAAa,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrC,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC3B,MAAM,EAAE,mBAAmB;YAC3B,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACxC,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAc,CAAC;IACnB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,MAAM,IAAA,0BAAa,EAAC,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,+BAA+B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrD,GAAG,CAAC,QAAQ,CAAC;QACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,oDAAoD;QACjF,aAAa,EAAE,CAAC,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QACzC,SAAS,EAAE;YACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACrB,WAAW;YACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,WAAW;YACX,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;SAC/B;KACF,CAAC,CAAC;IACH,GAAG,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC;AACb,CAAC;AAEM,KAAK,UAAU,+BAA+B,CACnD,OAAe,EACf,OAA4B;IAE5B,MAAM,CAAC,GAAG,IAAA,kBAAO,GAAE,CAAC;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,0BAA0B,CAAC;IAC5C,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAC1C,QAAoB,EACpB,OAAO,EACP,IAAI,CACL,CAAC;IAEF,MAAM,YAAY,GAAc,MAAM,IAAA,sBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE1E,MAAM,uBAAe,CAAC,YAAY,CAAC,GAAG,EAAE;QACtC,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI;QACvB,eAAe;KAChB,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,aAAkB,CAAC;QACvB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACrC,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7C,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,iEAAiE;YAC9F,aAAa,EAAE,CAAC,oBAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YACxC,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,yBAAc,CAAC,aAAa,CAAC,CAAC;gBACzC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC;gBACnC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,mEAAmE;YAChG,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,qEAAqE;YAClG,aAAa,EAAE,CAAC,oBAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YACvC,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,uBAAY,CAAC,UAAU,CAAC,CAAC;gBACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC;gBACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAChC,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,iDAAiD;YAC9E,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/B,aAAa;gBACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;gBACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBAC9B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC;YACX,MAAM,EAAE,gCAAgC;YACxC,aAAa,EAAE,CAAC,mBAAmB,oBAAS,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC;YAC5D,SAAS,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AACM,KAAK,UAAU,2BAA2B,CAC/C,QAAkB,EAClB,OAAe,EACf,OAA4B;IAE5B,MAAM,CAAC,GAAG,IAAA,kBAAO,GAAE,CAAC;IACpB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,mBAAQ,CAAC,QAAQ,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAc,MAAM,IAAA,sBAAW,EAC1C,QAAoB,EACpB,OAAO,EACP,IAAI,CACL,CAAC;IAEF,MAAM,YAAY,GAAc,MAAM,IAAA,sBAAW,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,6BAAkB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;IAEzD,MAAM,uBAAe,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,aAAkB,CAAC;QACvB,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACrC,SAAS,EAAE,EAAE;aACd,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7C,SAAS,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;aAClD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,+BAA+B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,qDAAqD;YAClF,aAAa,EAAE,CAAC,oBAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YACzC,SAAS,EAAE;gBACT,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACrC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/B,aAAa;gBACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;gBACxB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC/B;SACF,CAAC,CAAC;QACH,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC","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"]}
|