@alphafi/alphafi-sdk 0.0.64 → 0.0.66
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/transactions/alpha.d.ts.map +1 -1
- package/dist/cjs/transactions/alpha.js +4 -0
- package/dist/cjs/transactions/alpha.js.map +1 -1
- package/dist/cjs/transactions/deposit.d.ts +1 -0
- package/dist/cjs/transactions/deposit.d.ts.map +1 -1
- package/dist/cjs/transactions/deposit.js +22 -0
- package/dist/cjs/transactions/deposit.js.map +1 -1
- package/dist/cjs/transactions/withdraw.d.ts.map +1 -1
- package/dist/cjs/transactions/withdraw.js +3 -0
- package/dist/cjs/transactions/withdraw.js.map +1 -1
- package/dist/esm/transactions/alpha.d.ts.map +1 -1
- package/dist/esm/transactions/alpha.js +4 -0
- package/dist/esm/transactions/alpha.js.map +1 -1
- package/dist/esm/transactions/deposit.d.ts +1 -0
- package/dist/esm/transactions/deposit.d.ts.map +1 -1
- package/dist/esm/transactions/deposit.js +21 -0
- package/dist/esm/transactions/deposit.js.map +1 -1
- package/dist/esm/transactions/withdraw.d.ts.map +1 -1
- package/dist/esm/transactions/withdraw.js +4 -1
- package/dist/esm/transactions/withdraw.js.map +1 -1
- package/docs/functions/alphaLpBreakdown.html +1 -1
- package/docs/functions/cetusLpBreakdown.html +1 -1
- package/docs/functions/claimBlueRewardTxb.html +1 -1
- package/docs/functions/claimRewardTxb.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/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/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/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/fetchTVL.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/getHoldersFromTransactions.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/getUserTokensFromTransactions.html +1 -1
- package/docs/functions/getUserTokensInUsdFromTransactions.html +1 -1
- package/docs/functions/getVaultBalance.html +1 -1
- package/docs/functions/getVaultBalanceForActiveUsers.html +1 -1
- package/docs/functions/getVaults.html +1 -1
- package/docs/functions/getXTokenVaultBalanceForActiveUsers.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/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/pendingBlueRewardAmount.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/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 +2 -2
- package/docs/types/AfterTransactionEventNode.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/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/GetVaultBalanceForActiveUsersParams.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/WithdrawV2EventNode.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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,eAAO,MAAM,eAAe,WAClB,MAAM,WACL,MAAM,KACd,OAAO,CAAC,WAAW,CAiFrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAClB,MAAM,sBACK,OAAO,WAClB,MAAM,KACd,OAAO,CAAC,WAAW,CAwBrB,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.withdrawAlphaTxb = exports.depositAlphaTxb = void 0;
|
|
4
4
|
const transactions_1 = require("@mysten/sui/transactions");
|
|
5
5
|
const index_js_1 = require("../index.js");
|
|
6
|
+
const deposit_js_1 = require("./deposit.js");
|
|
6
7
|
const depositAlphaTxb = async (amount, address) => {
|
|
7
8
|
const suiClient = (0, index_js_1.getSuiClient)();
|
|
8
9
|
const txb = new transactions_1.Transaction();
|
|
@@ -94,6 +95,9 @@ const withdrawAlphaTxb = async (xTokens, withdrawFromLocked, address) => {
|
|
|
94
95
|
txb.pure.bool(withdrawFromLocked),
|
|
95
96
|
],
|
|
96
97
|
});
|
|
98
|
+
const estimatedGasBudget = await (0, deposit_js_1.getEstimatedGasBudget)(txb);
|
|
99
|
+
if (estimatedGasBudget)
|
|
100
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
97
101
|
txb.setSender(address);
|
|
98
102
|
return txb;
|
|
99
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEvD,0CAA0E;
|
|
1
|
+
{"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { CoinStruct } from \"@mysten/sui/client\";\nimport { getConf, getReceipts, getSuiClient, Receipt } from \"../index.js\";\nimport { getEstimatedGasBudget } from \"./deposit.js\";\n\nexport const depositAlphaTxb = async (\n amount: string,\n address: string,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const txb = new Transaction();\n\n let coins: CoinStruct[] = [];\n\n const receipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: getConf().ALPHA_COIN_TYPE,\n cursor: currentCursor,\n });\n\n coins = coins.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n let coin: any;\n\n if (coins.length >= 1) {\n [coin] = txb.splitCoins(txb.object(coins[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin,\n coins.map((c) => c.coinObjectId),\n );\n const [depositCoin] = txb.splitCoins(coin, [amount]);\n txb.transferObjects([coin], address);\n\n if (receipt.length == 0) {\n const [receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphapool::user_deposit`,\n typeArguments: [getConf().ALPHA_COIN_TYPE],\n arguments: [\n txb.object(getConf().VERSION),\n receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n depositCoin,\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n const [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [txb.object(receipt[0].objectId)],\n });\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphapool::user_deposit`,\n typeArguments: [getConf().ALPHA_COIN_TYPE],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n depositCoin,\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n }\n return txb;\n } else {\n throw new Error(\"No Alpha Coins\");\n }\n};\n\nexport const withdrawAlphaTxb = async (\n xTokens: string,\n withdrawFromLocked: boolean,\n address: string,\n): Promise<Transaction> => {\n const txb = new Transaction();\n const receipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n if (receipt.length > 0) {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphapool::user_withdraw`,\n typeArguments: [getConf().ALPHA_COIN_TYPE],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n txb.object(getConf().ALPHA_POOL),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.pure.u64(xTokens),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n txb.pure.bool(withdrawFromLocked),\n ],\n });\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n } else {\n throw new Error(\"No receipt found!\");\n }\n};\n"]}
|
|
@@ -5,4 +5,5 @@ export declare function depositDoubleAssetTxb(poolName: PoolName, address: strin
|
|
|
5
5
|
export declare function getLiquidity(poolName: PoolName, a2b: boolean, amount: string): Promise<import("@cetusprotocol/cetus-sui-clmm-sdk").LiquidityInput>;
|
|
6
6
|
export declare function getAmounts(poolName: PoolName, a2b: boolean, amount: string): Promise<[string, string] | undefined>;
|
|
7
7
|
export declare function getCoinAmountsFromLiquidity(poolName: PoolName, liquidity: string, ignoreCache: boolean): Promise<[string, string]>;
|
|
8
|
+
export declare function getEstimatedGasBudget(tx: Transaction): Promise<number | undefined>;
|
|
8
9
|
//# sourceMappingURL=deposit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAIL,QAAQ,EACT,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAIL,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAyB5B,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,wBAkBf;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,wBA8CnB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,uEAwCf;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAQvC;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA+B3B;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc7B"}
|
|
@@ -5,6 +5,7 @@ exports.depositDoubleAssetTxb = depositDoubleAssetTxb;
|
|
|
5
5
|
exports.getLiquidity = getLiquidity;
|
|
6
6
|
exports.getAmounts = getAmounts;
|
|
7
7
|
exports.getCoinAmountsFromLiquidity = getCoinAmountsFromLiquidity;
|
|
8
|
+
exports.getEstimatedGasBudget = getEstimatedGasBudget;
|
|
8
9
|
const tslib_1 = require("tslib");
|
|
9
10
|
const transactions_1 = require("@mysten/sui/transactions");
|
|
10
11
|
const maps_js_1 = require("../common/maps.js");
|
|
@@ -17,6 +18,7 @@ const navi_looping_js_1 = require("./navi-looping.js");
|
|
|
17
18
|
const cetus_sui_clmm_sdk_1 = require("@cetusprotocol/cetus-sui-clmm-sdk");
|
|
18
19
|
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
19
20
|
const getReceipts_js_1 = require("../sui-sdk/functions/getReceipts.js");
|
|
21
|
+
const client_js_1 = require("../sui-sdk/client.js");
|
|
20
22
|
async function depositSingleAssetTxb(poolName, address, amount) {
|
|
21
23
|
let txb = new transactions_1.Transaction();
|
|
22
24
|
if (maps_js_1.poolInfo[poolName].parentProtocolName === "ALPHAFI") {
|
|
@@ -33,6 +35,9 @@ async function depositSingleAssetTxb(poolName, address, amount) {
|
|
|
33
35
|
txb = await (0, navi_js_1.naviDepositTx)(amount, poolName, { address });
|
|
34
36
|
}
|
|
35
37
|
}
|
|
38
|
+
const estimatedGasBudget = await getEstimatedGasBudget(txb);
|
|
39
|
+
if (estimatedGasBudget)
|
|
40
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
36
41
|
txb.setSender(address);
|
|
37
42
|
return txb;
|
|
38
43
|
}
|
|
@@ -82,6 +87,9 @@ async function depositDoubleAssetTxb(poolName, address, amount, isAmountA) {
|
|
|
82
87
|
});
|
|
83
88
|
}
|
|
84
89
|
}
|
|
90
|
+
const estimatedGasBudget = await getEstimatedGasBudget(txb);
|
|
91
|
+
if (estimatedGasBudget)
|
|
92
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
85
93
|
txb.setSender(address);
|
|
86
94
|
return txb;
|
|
87
95
|
}
|
|
@@ -139,4 +147,18 @@ async function getCoinAmountsFromLiquidity(poolName, liquidity, ignoreCache) {
|
|
|
139
147
|
return ["0", "0"];
|
|
140
148
|
}
|
|
141
149
|
}
|
|
150
|
+
async function getEstimatedGasBudget(tx) {
|
|
151
|
+
const suiClient = (0, client_js_1.getSuiClient)();
|
|
152
|
+
try {
|
|
153
|
+
const serializedTxb = await tx.build({ client: suiClient });
|
|
154
|
+
const dryRun = await suiClient.dryRunTransactionBlock({
|
|
155
|
+
transactionBlock: serializedTxb,
|
|
156
|
+
});
|
|
157
|
+
const estimatedGasBudget = Number(dryRun.input.gasData.budget) + 100000000;
|
|
158
|
+
return estimatedGasBudget;
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
console.error(`Error estimating transaction gasBudget`, err);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
142
164
|
//# sourceMappingURL=deposit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport {\n BluefinInvestor,\n CetusInvestor,\n CommonInvestorFields,\n PoolName,\n} from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinStsuiTxb,\n depositBluefinSuiFirstTxb,\n depositBluefinSuiSecondTxb,\n depositBluefinType1Txb,\n depositBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { loopingDeposit } from \"./navi-looping.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport {\n getInvestor,\n getParentPool,\n} from \"../sui-sdk/functions/getReceipts.js\";\n\nexport async function depositSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(amount, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingDeposit(poolName, amount, { address });\n } else {\n txb = await naviDepositTx(amount, poolName, { address });\n }\n }\n txb.setSender(address);\n return txb;\n}\n\nexport async function depositDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await depositBluefinType2Txb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await depositBluefinSuiSecondTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"STSUI\" || coin2 === \"STSUI\") {\n txb = await depositBluefinStsuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n txb.setSender(address);\n return txb;\n}\n\nexport async function getLiquidity(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n) {\n const cetusInvestor = (await getInvestor(poolName, true)) as CetusInvestor &\n CommonInvestorFields;\n const cetus_pool = await getParentPool(poolName, true);\n //TODO\n //check if you calculate lower_tick, upper_tick like this only\n const upper_bound = 443636;\n let lower_tick = Number(cetusInvestor.content.fields.lower_tick);\n let upper_tick = Number(cetusInvestor.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n\n // AlphaFi Mascot\n //\n // a\n // ~~|~~\n // / \\\n //\n /////////////////\n\n const current_sqrt_price = new BN(\n cetus_pool.content.fields.current_sqrt_price,\n );\n\n const liquidity = ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(\n lower_tick,\n upper_tick,\n new BN(`${Math.floor(parseFloat(amount))}`),\n a2b,\n false,\n 0.5,\n current_sqrt_price,\n );\n return liquidity;\n}\n\nexport async function getAmounts(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n): Promise<[string, string] | undefined> {\n const liquidity = await getLiquidity(poolName, a2b, amount);\n if (liquidity) {\n const numA = liquidity.coinAmountA.toString();\n const numB = liquidity.coinAmountB.toString();\n\n return [numA, numB];\n }\n}\n\nexport async function getCoinAmountsFromLiquidity(\n poolName: PoolName,\n liquidity: string,\n ignoreCache: boolean,\n): Promise<[string, string]> {\n const clmmPool = await getParentPool(poolName, ignoreCache);\n const investor = (await getInvestor(poolName, ignoreCache)) as (\n | CetusInvestor\n | BluefinInvestor\n ) &\n CommonInvestorFields;\n\n const upper_bound = 443636;\n let lower_tick = Number(investor!.content.fields.lower_tick);\n let upper_tick = Number(investor!.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n if (clmmPool) {\n const liquidityInt = Math.floor(parseFloat(liquidity));\n const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(clmmPool.content.fields.current_sqrt_price),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];\n } else {\n return [\"0\", \"0\"];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport {\n BluefinInvestor,\n CetusInvestor,\n CommonInvestorFields,\n PoolName,\n} from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinStsuiTxb,\n depositBluefinSuiFirstTxb,\n depositBluefinSuiSecondTxb,\n depositBluefinType1Txb,\n depositBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { loopingDeposit } from \"./navi-looping.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport {\n getInvestor,\n getParentPool,\n} from \"../sui-sdk/functions/getReceipts.js\";\nimport { getSuiClient } from \"../sui-sdk/client.js\";\n\nexport async function depositSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(amount, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingDeposit(poolName, amount, { address });\n } else {\n txb = await naviDepositTx(amount, poolName, { address });\n }\n }\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n}\n\nexport async function depositDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await depositBluefinType2Txb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await depositBluefinSuiSecondTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"STSUI\" || coin2 === \"STSUI\") {\n txb = await depositBluefinStsuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n}\n\nexport async function getLiquidity(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n) {\n const cetusInvestor = (await getInvestor(poolName, true)) as CetusInvestor &\n CommonInvestorFields;\n const cetus_pool = await getParentPool(poolName, true);\n //TODO\n //check if you calculate lower_tick, upper_tick like this only\n const upper_bound = 443636;\n let lower_tick = Number(cetusInvestor.content.fields.lower_tick);\n let upper_tick = Number(cetusInvestor.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n\n // AlphaFi Mascot\n //\n // a\n // ~~|~~\n // / \\\n //\n /////////////////\n\n const current_sqrt_price = new BN(\n cetus_pool.content.fields.current_sqrt_price,\n );\n\n const liquidity = ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(\n lower_tick,\n upper_tick,\n new BN(`${Math.floor(parseFloat(amount))}`),\n a2b,\n false,\n 0.5,\n current_sqrt_price,\n );\n return liquidity;\n}\n\nexport async function getAmounts(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n): Promise<[string, string] | undefined> {\n const liquidity = await getLiquidity(poolName, a2b, amount);\n if (liquidity) {\n const numA = liquidity.coinAmountA.toString();\n const numB = liquidity.coinAmountB.toString();\n\n return [numA, numB];\n }\n}\n\nexport async function getCoinAmountsFromLiquidity(\n poolName: PoolName,\n liquidity: string,\n ignoreCache: boolean,\n): Promise<[string, string]> {\n const clmmPool = await getParentPool(poolName, ignoreCache);\n const investor = (await getInvestor(poolName, ignoreCache)) as (\n | CetusInvestor\n | BluefinInvestor\n ) &\n CommonInvestorFields;\n\n const upper_bound = 443636;\n let lower_tick = Number(investor!.content.fields.lower_tick);\n let upper_tick = Number(investor!.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n if (clmmPool) {\n const liquidityInt = Math.floor(parseFloat(liquidity));\n const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(clmmPool.content.fields.current_sqrt_price),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];\n } else {\n return [\"0\", \"0\"];\n }\n}\n\nexport async function getEstimatedGasBudget(\n tx: Transaction,\n): Promise<number | undefined> {\n const suiClient = getSuiClient();\n try {\n const serializedTxb = await tx.build({ client: suiClient });\n const dryRun = await suiClient.dryRunTransactionBlock({\n transactionBlock: serializedTxb,\n });\n const estimatedGasBudget =\n Number(dryRun.input.gasData.budget) + 100_000_000;\n\n return estimatedGasBudget;\n } catch (err) {\n console.error(`Error estimating transaction gasBudget`, err);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAmB9C,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAmB9C,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,wBA0DhB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -74,6 +74,9 @@ async function withdrawTxb(xTokensAmount, poolName, address) {
|
|
|
74
74
|
else if (maps_js_1.poolInfo[poolName].parentProtocolName === "BUCKET") {
|
|
75
75
|
txb = await (0, bucket_js_1.bucketWithdrawTx)(xTokensAmount, { address });
|
|
76
76
|
}
|
|
77
|
+
const estimatedGasBudget = await (0, deposit_js_1.getEstimatedGasBudget)(txb);
|
|
78
|
+
if (estimatedGasBudget)
|
|
79
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
77
80
|
txb.setSender(address);
|
|
78
81
|
return txb;
|
|
79
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":";;AAqBA,
|
|
1
|
+
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport { PoolName } from \"../common/types.js\";\nimport {\n withdrawCetusAlphaSuiTxb,\n withdrawCetusSuiTxb,\n withdrawCetusTxb,\n} from \"./cetus.js\";\nimport {\n withdrawBluefinStsuiTxb,\n withdrawBluefinSuiFirstTxb,\n withdrawBluefinSuiSecondTxb,\n withdrawBluefinType1Txb,\n withdrawBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { naviWithdrawTx } from \"./navi.js\";\nimport { bucketWithdrawTx } from \"./bucket.js\";\nimport { getPoolExchangeRate } from \"../sui-sdk/functions/getReceipts.js\";\nimport { loopingWithdraw } from \"./navi-looping.js\";\nimport { getEstimatedGasBudget, getLiquidity } from \"./deposit.js\";\n\nexport async function withdrawTxb(\n xTokensAmount: string,\n poolName: PoolName,\n address: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await withdrawCetusSuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await withdrawCetusAlphaSuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else {\n txb = await withdrawCetusTxb(xTokensAmount, poolName, {\n address,\n });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await withdrawBluefinType2Txb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await withdrawBluefinSuiFirstTxb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await withdrawBluefinSuiSecondTxb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin1 === \"STSUI\" || coin2 === \"STSUI\") {\n txb = await withdrawBluefinStsuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else {\n txb = await withdrawBluefinType1Txb(xTokensAmount, poolName, {\n address,\n });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingWithdraw(poolName, xTokensAmount, { address });\n } else txb = await naviWithdrawTx(xTokensAmount, poolName, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketWithdrawTx(xTokensAmount, { address });\n }\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n}\n\nexport async function coinAmountToXTokensSingleAsset(\n amount: string,\n poolName: PoolName,\n): Promise<string> {\n const exchangeRate = await getPoolExchangeRate(poolName, true);\n const xTokens = Math.floor(parseFloat(amount) / exchangeRate.toNumber());\n return xTokens.toString();\n}\n\nexport async function coinAmountToXTokensDoubleAsset(\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n): Promise<string> {\n const liquidity = await getLiquidity(poolName, isAmountA, amount);\n const exchangeRate = await getPoolExchangeRate(poolName, true);\n const xTokens = Math.floor(\n parseFloat(liquidity.liquidityAmount.toString()) / exchangeRate.toNumber(),\n );\n return xTokens.toString();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"alpha.d.ts","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvD,eAAO,MAAM,eAAe,WAClB,MAAM,WACL,MAAM,KACd,OAAO,CAAC,WAAW,CAiFrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAClB,MAAM,sBACK,OAAO,WAClB,MAAM,KACd,OAAO,CAAC,WAAW,CAwBrB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Transaction } from "@mysten/sui/transactions";
|
|
2
2
|
import { getConf, getReceipts, getSuiClient } from "../index.js";
|
|
3
|
+
import { getEstimatedGasBudget } from "./deposit.js";
|
|
3
4
|
export const depositAlphaTxb = async (amount, address) => {
|
|
4
5
|
const suiClient = getSuiClient();
|
|
5
6
|
const txb = new Transaction();
|
|
@@ -90,6 +91,9 @@ export const withdrawAlphaTxb = async (xTokens, withdrawFromLocked, address) =>
|
|
|
90
91
|
txb.pure.bool(withdrawFromLocked),
|
|
91
92
|
],
|
|
92
93
|
});
|
|
94
|
+
const estimatedGasBudget = await getEstimatedGasBudget(txb);
|
|
95
|
+
if (estimatedGasBudget)
|
|
96
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
93
97
|
txb.setSender(address);
|
|
94
98
|
return txb;
|
|
95
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAW,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"alpha.js","sourceRoot":"","sources":["../../../src/transactions/alpha.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { CoinStruct } from \"@mysten/sui/client\";\nimport { getConf, getReceipts, getSuiClient, Receipt } from \"../index.js\";\nimport { getEstimatedGasBudget } from \"./deposit.js\";\n\nexport const depositAlphaTxb = async (\n amount: string,\n address: string,\n): Promise<Transaction> => {\n const suiClient = getSuiClient();\n const txb = new Transaction();\n\n let coins: CoinStruct[] = [];\n\n const receipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: getConf().ALPHA_COIN_TYPE,\n cursor: currentCursor,\n });\n\n coins = coins.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n let coin: any;\n\n if (coins.length >= 1) {\n [coin] = txb.splitCoins(txb.object(coins[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin,\n coins.map((c) => c.coinObjectId),\n );\n const [depositCoin] = txb.splitCoins(coin, [amount]);\n txb.transferObjects([coin], address);\n\n if (receipt.length == 0) {\n const [receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphapool::user_deposit`,\n typeArguments: [getConf().ALPHA_COIN_TYPE],\n arguments: [\n txb.object(getConf().VERSION),\n receipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n depositCoin,\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n const [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [getConf().ALPHA_POOL_RECEIPT],\n arguments: [txb.object(receipt[0].objectId)],\n });\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphapool::user_deposit`,\n typeArguments: [getConf().ALPHA_COIN_TYPE],\n arguments: [\n txb.object(getConf().VERSION),\n someReceipt,\n txb.object(getConf().ALPHA_POOL),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n depositCoin,\n txb.object(getConf().CLOCK_PACKAGE_ID),\n ],\n });\n }\n return txb;\n } else {\n throw new Error(\"No Alpha Coins\");\n }\n};\n\nexport const withdrawAlphaTxb = async (\n xTokens: string,\n withdrawFromLocked: boolean,\n address: string,\n): Promise<Transaction> => {\n const txb = new Transaction();\n const receipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n if (receipt.length > 0) {\n txb.moveCall({\n target: `${getConf().ALPHA_LATEST_PACKAGE_ID}::alphapool::user_withdraw`,\n typeArguments: [getConf().ALPHA_COIN_TYPE],\n arguments: [\n txb.object(getConf().VERSION),\n txb.object(receipt[0].objectId),\n txb.object(getConf().ALPHA_POOL),\n txb.object(getConf().ALPHA_DISTRIBUTOR),\n txb.pure.u64(xTokens),\n txb.object(getConf().CLOCK_PACKAGE_ID),\n txb.pure.bool(withdrawFromLocked),\n ],\n });\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n } else {\n throw new Error(\"No receipt found!\");\n }\n};\n"]}
|
|
@@ -5,4 +5,5 @@ export declare function depositDoubleAssetTxb(poolName: PoolName, address: strin
|
|
|
5
5
|
export declare function getLiquidity(poolName: PoolName, a2b: boolean, amount: string): Promise<import("@cetusprotocol/cetus-sui-clmm-sdk").LiquidityInput>;
|
|
6
6
|
export declare function getAmounts(poolName: PoolName, a2b: boolean, amount: string): Promise<[string, string] | undefined>;
|
|
7
7
|
export declare function getCoinAmountsFromLiquidity(poolName: PoolName, liquidity: string, ignoreCache: boolean): Promise<[string, string]>;
|
|
8
|
+
export declare function getEstimatedGasBudget(tx: Transaction): Promise<number | undefined>;
|
|
8
9
|
//# sourceMappingURL=deposit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAIL,QAAQ,EACT,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAIL,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAyB5B,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,wBAkBf;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,wBA8CnB;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,uEAwCf;AAED,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAQvC;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA+B3B;AAED,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,WAAW,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc7B"}
|
|
@@ -9,6 +9,7 @@ import { loopingDeposit } from "./navi-looping.js";
|
|
|
9
9
|
import { ClmmPoolUtil, TickMath } from "@cetusprotocol/cetus-sui-clmm-sdk";
|
|
10
10
|
import BN from "bn.js";
|
|
11
11
|
import { getInvestor, getParentPool, } from "../sui-sdk/functions/getReceipts.js";
|
|
12
|
+
import { getSuiClient } from "../sui-sdk/client.js";
|
|
12
13
|
export async function depositSingleAssetTxb(poolName, address, amount) {
|
|
13
14
|
let txb = new Transaction();
|
|
14
15
|
if (poolInfo[poolName].parentProtocolName === "ALPHAFI") {
|
|
@@ -25,6 +26,9 @@ export async function depositSingleAssetTxb(poolName, address, amount) {
|
|
|
25
26
|
txb = await naviDepositTx(amount, poolName, { address });
|
|
26
27
|
}
|
|
27
28
|
}
|
|
29
|
+
const estimatedGasBudget = await getEstimatedGasBudget(txb);
|
|
30
|
+
if (estimatedGasBudget)
|
|
31
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
28
32
|
txb.setSender(address);
|
|
29
33
|
return txb;
|
|
30
34
|
}
|
|
@@ -74,6 +78,9 @@ export async function depositDoubleAssetTxb(poolName, address, amount, isAmountA
|
|
|
74
78
|
});
|
|
75
79
|
}
|
|
76
80
|
}
|
|
81
|
+
const estimatedGasBudget = await getEstimatedGasBudget(txb);
|
|
82
|
+
if (estimatedGasBudget)
|
|
83
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
77
84
|
txb.setSender(address);
|
|
78
85
|
return txb;
|
|
79
86
|
}
|
|
@@ -131,4 +138,18 @@ export async function getCoinAmountsFromLiquidity(poolName, liquidity, ignoreCac
|
|
|
131
138
|
return ["0", "0"];
|
|
132
139
|
}
|
|
133
140
|
}
|
|
141
|
+
export async function getEstimatedGasBudget(tx) {
|
|
142
|
+
const suiClient = getSuiClient();
|
|
143
|
+
try {
|
|
144
|
+
const serializedTxb = await tx.build({ client: suiClient });
|
|
145
|
+
const dryRun = await suiClient.dryRunTransactionBlock({
|
|
146
|
+
transactionBlock: serializedTxb,
|
|
147
|
+
});
|
|
148
|
+
const estimatedGasBudget = Number(dryRun.input.gasData.budget) + 100_000_000;
|
|
149
|
+
return estimatedGasBudget;
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
console.error(`Error estimating transaction gasBudget`, err);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
134
155
|
//# sourceMappingURL=deposit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport {\n BluefinInvestor,\n CetusInvestor,\n CommonInvestorFields,\n PoolName,\n} from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinStsuiTxb,\n depositBluefinSuiFirstTxb,\n depositBluefinSuiSecondTxb,\n depositBluefinType1Txb,\n depositBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { loopingDeposit } from \"./navi-looping.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport {\n getInvestor,\n getParentPool,\n} from \"../sui-sdk/functions/getReceipts.js\";\n\nexport async function depositSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(amount, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingDeposit(poolName, amount, { address });\n } else {\n txb = await naviDepositTx(amount, poolName, { address });\n }\n }\n txb.setSender(address);\n return txb;\n}\n\nexport async function depositDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await depositBluefinType2Txb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await depositBluefinSuiSecondTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"STSUI\" || coin2 === \"STSUI\") {\n txb = await depositBluefinStsuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n txb.setSender(address);\n return txb;\n}\n\nexport async function getLiquidity(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n) {\n const cetusInvestor = (await getInvestor(poolName, true)) as CetusInvestor &\n CommonInvestorFields;\n const cetus_pool = await getParentPool(poolName, true);\n //TODO\n //check if you calculate lower_tick, upper_tick like this only\n const upper_bound = 443636;\n let lower_tick = Number(cetusInvestor.content.fields.lower_tick);\n let upper_tick = Number(cetusInvestor.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n\n // AlphaFi Mascot\n //\n // a\n // ~~|~~\n // / \\\n //\n /////////////////\n\n const current_sqrt_price = new BN(\n cetus_pool.content.fields.current_sqrt_price,\n );\n\n const liquidity = ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(\n lower_tick,\n upper_tick,\n new BN(`${Math.floor(parseFloat(amount))}`),\n a2b,\n false,\n 0.5,\n current_sqrt_price,\n );\n return liquidity;\n}\n\nexport async function getAmounts(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n): Promise<[string, string] | undefined> {\n const liquidity = await getLiquidity(poolName, a2b, amount);\n if (liquidity) {\n const numA = liquidity.coinAmountA.toString();\n const numB = liquidity.coinAmountB.toString();\n\n return [numA, numB];\n }\n}\n\nexport async function getCoinAmountsFromLiquidity(\n poolName: PoolName,\n liquidity: string,\n ignoreCache: boolean,\n): Promise<[string, string]> {\n const clmmPool = await getParentPool(poolName, ignoreCache);\n const investor = (await getInvestor(poolName, ignoreCache)) as (\n | CetusInvestor\n | BluefinInvestor\n ) &\n CommonInvestorFields;\n\n const upper_bound = 443636;\n let lower_tick = Number(investor!.content.fields.lower_tick);\n let upper_tick = Number(investor!.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n if (clmmPool) {\n const liquidityInt = Math.floor(parseFloat(liquidity));\n const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(clmmPool.content.fields.current_sqrt_price),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];\n } else {\n return [\"0\", \"0\"];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport {\n BluefinInvestor,\n CetusInvestor,\n CommonInvestorFields,\n PoolName,\n} from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinStsuiTxb,\n depositBluefinSuiFirstTxb,\n depositBluefinSuiSecondTxb,\n depositBluefinType1Txb,\n depositBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { loopingDeposit } from \"./navi-looping.js\";\nimport { ClmmPoolUtil, TickMath } from \"@cetusprotocol/cetus-sui-clmm-sdk\";\nimport BN from \"bn.js\";\nimport {\n getInvestor,\n getParentPool,\n} from \"../sui-sdk/functions/getReceipts.js\";\nimport { getSuiClient } from \"../sui-sdk/client.js\";\n\nexport async function depositSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(amount, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingDeposit(poolName, amount, { address });\n } else {\n txb = await naviDepositTx(amount, poolName, { address });\n }\n }\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n}\n\nexport async function depositDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await depositBluefinType2Txb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await depositBluefinSuiSecondTxb(amount, poolName, isAmountA, {\n address,\n });\n } else if (coin1 === \"STSUI\" || coin2 === \"STSUI\") {\n txb = await depositBluefinStsuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n}\n\nexport async function getLiquidity(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n) {\n const cetusInvestor = (await getInvestor(poolName, true)) as CetusInvestor &\n CommonInvestorFields;\n const cetus_pool = await getParentPool(poolName, true);\n //TODO\n //check if you calculate lower_tick, upper_tick like this only\n const upper_bound = 443636;\n let lower_tick = Number(cetusInvestor.content.fields.lower_tick);\n let upper_tick = Number(cetusInvestor.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n\n // AlphaFi Mascot\n //\n // a\n // ~~|~~\n // / \\\n //\n /////////////////\n\n const current_sqrt_price = new BN(\n cetus_pool.content.fields.current_sqrt_price,\n );\n\n const liquidity = ClmmPoolUtil.estLiquidityAndcoinAmountFromOneAmounts(\n lower_tick,\n upper_tick,\n new BN(`${Math.floor(parseFloat(amount))}`),\n a2b,\n false,\n 0.5,\n current_sqrt_price,\n );\n return liquidity;\n}\n\nexport async function getAmounts(\n poolName: PoolName,\n a2b: boolean,\n amount: string,\n): Promise<[string, string] | undefined> {\n const liquidity = await getLiquidity(poolName, a2b, amount);\n if (liquidity) {\n const numA = liquidity.coinAmountA.toString();\n const numB = liquidity.coinAmountB.toString();\n\n return [numA, numB];\n }\n}\n\nexport async function getCoinAmountsFromLiquidity(\n poolName: PoolName,\n liquidity: string,\n ignoreCache: boolean,\n): Promise<[string, string]> {\n const clmmPool = await getParentPool(poolName, ignoreCache);\n const investor = (await getInvestor(poolName, ignoreCache)) as (\n | CetusInvestor\n | BluefinInvestor\n ) &\n CommonInvestorFields;\n\n const upper_bound = 443636;\n let lower_tick = Number(investor!.content.fields.lower_tick);\n let upper_tick = Number(investor!.content.fields.upper_tick);\n\n if (lower_tick > upper_bound) {\n lower_tick = -~(lower_tick - 1);\n }\n if (upper_tick > upper_bound) {\n upper_tick = -~(upper_tick - 1);\n }\n if (clmmPool) {\n const liquidityInt = Math.floor(parseFloat(liquidity));\n const coin_amounts = ClmmPoolUtil.getCoinAmountFromLiquidity(\n new BN(`${liquidityInt}`),\n new BN(clmmPool.content.fields.current_sqrt_price),\n TickMath.tickIndexToSqrtPriceX64(lower_tick),\n TickMath.tickIndexToSqrtPriceX64(upper_tick),\n true,\n );\n return [coin_amounts.coinA.toString(), coin_amounts.coinB.toString()];\n } else {\n return [\"0\", \"0\"];\n }\n}\n\nexport async function getEstimatedGasBudget(\n tx: Transaction,\n): Promise<number | undefined> {\n const suiClient = getSuiClient();\n try {\n const serializedTxb = await tx.build({ client: suiClient });\n const dryRun = await suiClient.dryRunTransactionBlock({\n transactionBlock: serializedTxb,\n });\n const estimatedGasBudget =\n Number(dryRun.input.gasData.budget) + 100_000_000;\n\n return estimatedGasBudget;\n } catch (err) {\n console.error(`Error estimating transaction gasBudget`, err);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAmB9C,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAmB9C,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,wBA0DhB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -6,7 +6,7 @@ import { naviWithdrawTx } from "./navi.js";
|
|
|
6
6
|
import { bucketWithdrawTx } from "./bucket.js";
|
|
7
7
|
import { getPoolExchangeRate } from "../sui-sdk/functions/getReceipts.js";
|
|
8
8
|
import { loopingWithdraw } from "./navi-looping.js";
|
|
9
|
-
import { getLiquidity } from "./deposit.js";
|
|
9
|
+
import { getEstimatedGasBudget, getLiquidity } from "./deposit.js";
|
|
10
10
|
export async function withdrawTxb(xTokensAmount, poolName, address) {
|
|
11
11
|
let txb = new Transaction();
|
|
12
12
|
if (poolInfo[poolName].parentProtocolName === "CETUS") {
|
|
@@ -69,6 +69,9 @@ export async function withdrawTxb(xTokensAmount, poolName, address) {
|
|
|
69
69
|
else if (poolInfo[poolName].parentProtocolName === "BUCKET") {
|
|
70
70
|
txb = await bucketWithdrawTx(xTokensAmount, { address });
|
|
71
71
|
}
|
|
72
|
+
const estimatedGasBudget = await getEstimatedGasBudget(txb);
|
|
73
|
+
if (estimatedGasBudget)
|
|
74
|
+
txb.setGasBudget(estimatedGasBudget);
|
|
72
75
|
txb.setSender(address);
|
|
73
76
|
return txb;
|
|
74
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport { PoolName } from \"../common/types.js\";\nimport {\n withdrawCetusAlphaSuiTxb,\n withdrawCetusSuiTxb,\n withdrawCetusTxb,\n} from \"./cetus.js\";\nimport {\n withdrawBluefinStsuiTxb,\n withdrawBluefinSuiFirstTxb,\n withdrawBluefinSuiSecondTxb,\n withdrawBluefinType1Txb,\n withdrawBluefinType2Txb,\n} from \"./bluefin.js\";\nimport { naviWithdrawTx } from \"./navi.js\";\nimport { bucketWithdrawTx } from \"./bucket.js\";\nimport { getPoolExchangeRate } from \"../sui-sdk/functions/getReceipts.js\";\nimport { loopingWithdraw } from \"./navi-looping.js\";\nimport { getEstimatedGasBudget, getLiquidity } from \"./deposit.js\";\n\nexport async function withdrawTxb(\n xTokensAmount: string,\n poolName: PoolName,\n address: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await withdrawCetusSuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await withdrawCetusAlphaSuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else {\n txb = await withdrawCetusTxb(xTokensAmount, poolName, {\n address,\n });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (\n poolName === \"BLUEFIN-NAVX-VSUI\" ||\n poolName === \"BLUEFIN-ALPHA-USDC\" ||\n poolName === \"BLUEFIN-BLUE-USDC\"\n ) {\n txb = await withdrawBluefinType2Txb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin1 === \"SUI\") {\n txb = await withdrawBluefinSuiFirstTxb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await withdrawBluefinSuiSecondTxb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin1 === \"STSUI\" || coin2 === \"STSUI\") {\n txb = await withdrawBluefinStsuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else {\n txb = await withdrawBluefinType1Txb(xTokensAmount, poolName, {\n address,\n });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n if (poolInfo[poolName].strategyType === \"LOOPING\") {\n txb = await loopingWithdraw(poolName, xTokensAmount, { address });\n } else txb = await naviWithdrawTx(xTokensAmount, poolName, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketWithdrawTx(xTokensAmount, { address });\n }\n const estimatedGasBudget = await getEstimatedGasBudget(txb);\n if (estimatedGasBudget) txb.setGasBudget(estimatedGasBudget);\n txb.setSender(address);\n return txb;\n}\n\nexport async function coinAmountToXTokensSingleAsset(\n amount: string,\n poolName: PoolName,\n): Promise<string> {\n const exchangeRate = await getPoolExchangeRate(poolName, true);\n const xTokens = Math.floor(parseFloat(amount) / exchangeRate.toNumber());\n return xTokens.toString();\n}\n\nexport async function coinAmountToXTokensDoubleAsset(\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n): Promise<string> {\n const liquidity = await getLiquidity(poolName, isAmountA, amount);\n const exchangeRate = await getPoolExchangeRate(poolName, true);\n const xTokens = Math.floor(\n parseFloat(liquidity.liquidityAmount.toString()) / exchangeRate.toNumber(),\n );\n return xTokens.toString();\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>alphaLpBreakdown | @alphafi/alphafi-sdk - v0.0.
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>alphaLpBreakdown | @alphafi/alphafi-sdk - v0.0.66</title><meta name="description" content="Documentation for @alphafi/alphafi-sdk"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@alphafi/alphafi-sdk - v0.0.66</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@alphafi/alphafi-sdk</a></li><li><a href="alphaLpBreakdown.html">alphaLpBreakdown</a></li></ul><h1>Function alphaLpBreakdown</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="alphaLpBreakdown" class="tsd-anchor"></a><span class="tsd-kind-call-signature">alpha<wbr/>Lp<wbr/>Breakdown</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">poolName</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/LpBreakdownType.html" class="tsd-signature-type tsd-kind-type-alias">LpBreakdownType</a><span class="tsd-signature-symbol">></span><a href="#alphaLpBreakdown" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">poolName</span>: <a href="../types/PoolName.html" class="tsd-signature-type tsd-kind-type-alias">PoolName</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/LpBreakdownType.html" class="tsd-signature-type tsd-kind-type-alias">LpBreakdownType</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/AlphaFiTech/alphafi-sdk/blob/985daad03bffbeb98a0416b54d8a04d6e6568e3e/src/vaultFunctions.ts#L3">vaultFunctions.ts:3</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@alphafi/alphafi-sdk - v0.0.66</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>cetusLpBreakdown | @alphafi/alphafi-sdk - v0.0.
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>cetusLpBreakdown | @alphafi/alphafi-sdk - v0.0.66</title><meta name="description" content="Documentation for @alphafi/alphafi-sdk"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@alphafi/alphafi-sdk - v0.0.66</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@alphafi/alphafi-sdk</a></li><li><a href="cetusLpBreakdown.html">cetusLpBreakdown</a></li></ul><h1>Function cetusLpBreakdown</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="cetusLpBreakdown" class="tsd-anchor"></a><span class="tsd-kind-call-signature">cetus<wbr/>Lp<wbr/>Breakdown</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">poolName</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/LpBreakdownType.html" class="tsd-signature-type tsd-kind-type-alias">LpBreakdownType</a><span class="tsd-signature-symbol">></span><a href="#cetusLpBreakdown" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">poolName</span>: <a href="../types/PoolName.html" class="tsd-signature-type tsd-kind-type-alias">PoolName</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><a href="../types/LpBreakdownType.html" class="tsd-signature-type tsd-kind-type-alias">LpBreakdownType</a><span class="tsd-signature-symbol">></span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/AlphaFiTech/alphafi-sdk/blob/985daad03bffbeb98a0416b54d8a04d6e6568e3e/src/vaultFunctions.ts#L18">vaultFunctions.ts:18</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@alphafi/alphafi-sdk - v0.0.66</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
|