@suilend/sdk 1.1.86 → 1.1.88
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/client.d.ts +1 -1
- package/client.js +15 -7
- package/lib/initialize.js +5 -0
- package/lib/liquidityMining.d.ts +2 -2
- package/lib/liquidityMining.js +3 -3
- package/mmt.d.ts +2 -0
- package/mmt.js +5 -0
- package/package.json +1 -1
- package/strategies.d.ts +86 -1
- package/strategies.js +1788 -1
- package/swap/quote.js +0 -35
- package/swap/transaction.js +0 -35
- package/utils/index.d.ts +10 -0
- package/utils/index.js +34 -1
- package/utils/obligation.d.ts +2 -0
- package/utils/obligation.js +8 -0
package/client.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export declare class SuilendClient {
|
|
|
46
46
|
getObligation(obligationId: string): Promise<Obligation<string>>;
|
|
47
47
|
static getLendingMarketOwnerCapId(ownerId: string, lendingMarketTypeArgs: string[], client: SuiClient): Promise<string | undefined>;
|
|
48
48
|
getLendingMarketOwnerCapId(ownerId: string): Promise<string | undefined>;
|
|
49
|
-
createReserve(lendingMarketOwnerCapId: string, transaction: Transaction, pythPriceId: string, coinType: string, createReserveConfigArgs: CreateReserveConfigArgs,
|
|
49
|
+
createReserve(lendingMarketOwnerCapId: string, transaction: Transaction, pythPriceId: string, coinType: string, createReserveConfigArgs: CreateReserveConfigArgs, coinMetadataIdOverride?: string): Promise<import("@mysten/sui/transactions").TransactionResult>;
|
|
50
50
|
addReward(ownerId: string, lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardCoinType: string, rewardValue: string, startTimeMs: bigint, endTimeMs: bigint, transaction: Transaction, mergeCoins?: boolean): Promise<import("@mysten/sui/transactions").TransactionResult>;
|
|
51
51
|
cancelReward(lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardIndex: bigint, rewardCoinType: string, transaction: Transaction): import("@mysten/sui/transactions").TransactionResult;
|
|
52
52
|
closeReward(lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardIndex: bigint, rewardCoinType: string, transaction: Transaction): import("@mysten/sui/transactions").TransactionResult;
|
package/client.js
CHANGED
|
@@ -192,7 +192,7 @@ class SuilendClient {
|
|
|
192
192
|
return SuilendClient.getLendingMarketOwnerCapId(ownerId, this.lendingMarket.$typeArgs, this.client);
|
|
193
193
|
});
|
|
194
194
|
}
|
|
195
|
-
createReserve(lendingMarketOwnerCapId, transaction, pythPriceId, coinType, createReserveConfigArgs,
|
|
195
|
+
createReserve(lendingMarketOwnerCapId, transaction, pythPriceId, coinType, createReserveConfigArgs, coinMetadataIdOverride) {
|
|
196
196
|
return __awaiter(this, void 0, void 0, function* () {
|
|
197
197
|
const [config] = (0, functions_4.createReserveConfig)(transaction, createReserveConfigArgs);
|
|
198
198
|
// Assumes the pyth price feed exists
|
|
@@ -200,18 +200,26 @@ class SuilendClient {
|
|
|
200
200
|
pythPriceId,
|
|
201
201
|
]);
|
|
202
202
|
const priceInfoObjectIds = yield this.pythClient.updatePriceFeeds(transaction, priceUpdateData, [pythPriceId]);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
203
|
+
let coinMetadataId;
|
|
204
|
+
if (coinMetadataIdOverride !== undefined)
|
|
205
|
+
coinMetadataId = coinMetadataIdOverride;
|
|
206
|
+
else {
|
|
207
|
+
const coinMetadata = yield this.client.getCoinMetadata({
|
|
208
|
+
coinType: coinType,
|
|
209
|
+
});
|
|
210
|
+
console.log("[createReserve] coinMetadata", coinMetadata);
|
|
211
|
+
if (!coinMetadata)
|
|
212
|
+
throw new Error("Error: CoinMetadata not found");
|
|
213
|
+
if (!coinMetadata.id)
|
|
214
|
+
throw new Error("Error: CoinMetadata.id not found");
|
|
215
|
+
coinMetadataId = coinMetadata.id;
|
|
208
216
|
}
|
|
209
217
|
return (0, functions_1.addReserve)(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
|
|
210
218
|
lendingMarketOwnerCap: transaction.object(lendingMarketOwnerCapId),
|
|
211
219
|
lendingMarket: transaction.object(this.lendingMarket.id),
|
|
212
220
|
priceInfo: transaction.object(priceInfoObjectIds[0]),
|
|
213
221
|
config: transaction.object(config),
|
|
214
|
-
coinMetadata: transaction.object(coinMetadataId
|
|
222
|
+
coinMetadata: transaction.object(coinMetadataId),
|
|
215
223
|
clock: transaction.object(utils_1.SUI_CLOCK_OBJECT_ID),
|
|
216
224
|
});
|
|
217
225
|
});
|
package/lib/initialize.js
CHANGED
|
@@ -71,6 +71,7 @@ exports.RESERVES_CUSTOM_ORDER = {
|
|
|
71
71
|
sui_fe_1.NORMALIZED_oshiSUI_COINTYPE,
|
|
72
72
|
sui_fe_1.NORMALIZED_jugSUI_COINTYPE,
|
|
73
73
|
sui_fe_1.NORMALIZED_stratSUI_COINTYPE,
|
|
74
|
+
sui_fe_1.NORMALIZED_fpSUI_COINTYPE,
|
|
74
75
|
sui_fe_1.NORMALIZED_SUI_COINTYPE,
|
|
75
76
|
sui_fe_1.NORMALIZED_USDC_COINTYPE,
|
|
76
77
|
sui_fe_1.NORMALIZED_wUSDC_COINTYPE,
|
|
@@ -104,6 +105,10 @@ exports.RESERVES_CUSTOM_ORDER = {
|
|
|
104
105
|
sui_fe_1.NORMALIZED_sdeUSD_COINTYPE,
|
|
105
106
|
sui_fe_1.NORMALIZED_USDC_COINTYPE,
|
|
106
107
|
],
|
|
108
|
+
"0x8a8d8e138a28de1c637d0b0955e621b017da7010de388db5a18493eca99c5e82": [
|
|
109
|
+
sui_fe_1.NORMALIZED_XAUm_COINTYPE,
|
|
110
|
+
sui_fe_1.NORMALIZED_USDC_COINTYPE,
|
|
111
|
+
],
|
|
107
112
|
};
|
|
108
113
|
const MAYA_COINTYPE = "0x3bf0aeb7b9698b18ec7937290a5701088fcd5d43ad11a2564b074d022a6d71ec::maya::MAYA";
|
|
109
114
|
const mPOINTS_COINTYPE = "0x7bae0b3b7b6c3da899fe3f4af95b7110633499c02b8c6945110d799d99deaa68::mpoints::MPOINTS";
|
package/lib/liquidityMining.d.ts
CHANGED
|
@@ -49,11 +49,11 @@ export declare const getFilteredRewards: (rewards: RewardSummary[]) => RewardSum
|
|
|
49
49
|
export declare const getDedupedAprRewards: (filteredRewards: RewardSummary[]) => AprRewardSummary[];
|
|
50
50
|
export declare const getDedupedPerDayRewards: (filteredRewards: RewardSummary[]) => PerDayRewardSummary[];
|
|
51
51
|
export declare const getRewardsAprPercent: (side: Side, filteredRewards: RewardSummary[]) => BigNumber;
|
|
52
|
-
export declare const getStakingYieldAprPercent: (side: Side, coinType: string,
|
|
52
|
+
export declare const getStakingYieldAprPercent: (side: Side, coinType: string, lstStatsMap: Record<string, {
|
|
53
53
|
aprPercent: BigNumber;
|
|
54
54
|
}>) => BigNumber | undefined;
|
|
55
55
|
export declare const getTotalAprPercent: (side: Side, aprPercent: BigNumber, filteredRewards: RewardSummary[], stakingYieldAprPercent?: BigNumber) => BigNumber;
|
|
56
|
-
export declare const getNetAprPercent: (obligation: ParsedObligation, rewardMap: RewardMap,
|
|
56
|
+
export declare const getNetAprPercent: (obligation: ParsedObligation, rewardMap: RewardMap, lstStatsMap: Record<string, {
|
|
57
57
|
aprPercent: BigNumber;
|
|
58
58
|
}>, noShares?: boolean) => BigNumber;
|
|
59
59
|
export declare const getRewardsMap: (obligation: ParsedObligation | undefined, rewardMap: RewardMap, coinMetadataMap: Record<string, CoinMetadata>) => RewardsMap;
|
package/lib/liquidityMining.js
CHANGED
|
@@ -145,17 +145,17 @@ const getDedupedPerDayRewards = (filteredRewards) => {
|
|
|
145
145
|
exports.getDedupedPerDayRewards = getDedupedPerDayRewards;
|
|
146
146
|
const getRewardsAprPercent = (side, filteredRewards) => (0, exports.getDedupedAprRewards)(filteredRewards).reduce((acc, reward) => acc.plus(reward.stats.aprPercent.times(side === types_1.Side.DEPOSIT ? 1 : -1)), new bignumber_js_1.default(0));
|
|
147
147
|
exports.getRewardsAprPercent = getRewardsAprPercent;
|
|
148
|
-
const getStakingYieldAprPercent = (side, coinType,
|
|
148
|
+
const getStakingYieldAprPercent = (side, coinType, lstStatsMap) => { var _a; return (side === types_1.Side.DEPOSIT ? (_a = lstStatsMap[coinType]) === null || _a === void 0 ? void 0 : _a.aprPercent : undefined); };
|
|
149
149
|
exports.getStakingYieldAprPercent = getStakingYieldAprPercent;
|
|
150
150
|
const getTotalAprPercent = (side, aprPercent, filteredRewards, stakingYieldAprPercent) => aprPercent
|
|
151
151
|
.plus((0, exports.getRewardsAprPercent)(side, filteredRewards))
|
|
152
152
|
.plus(stakingYieldAprPercent !== null && stakingYieldAprPercent !== void 0 ? stakingYieldAprPercent : 0);
|
|
153
153
|
exports.getTotalAprPercent = getTotalAprPercent;
|
|
154
|
-
const getNetAprPercent = (obligation, rewardMap,
|
|
154
|
+
const getNetAprPercent = (obligation, rewardMap, lstStatsMap, noShares) => {
|
|
155
155
|
const weightedDepositedAmountUsd_aprPercent = obligation.deposits.reduce((acc, deposit) => {
|
|
156
156
|
var _a;
|
|
157
157
|
const weightedDepositedAmountUsd_baseAprPercent = deposit.reserve.depositAprPercent.times(deposit.depositedAmountUsd);
|
|
158
|
-
const weightedDepositedAmountUsd_stakingYieldAprPercent = new bignumber_js_1.default((_a = (0, exports.getStakingYieldAprPercent)(types_1.Side.DEPOSIT, deposit.reserve.coinType,
|
|
158
|
+
const weightedDepositedAmountUsd_stakingYieldAprPercent = new bignumber_js_1.default((_a = (0, exports.getStakingYieldAprPercent)(types_1.Side.DEPOSIT, deposit.reserve.coinType, lstStatsMap)) !== null && _a !== void 0 ? _a : 0).times(deposit.depositedAmountUsd);
|
|
159
159
|
const weightedDepositedAmountUsd_rewardsAprPercent = (0, exports.getRewardsAprPercent)(types_1.Side.DEPOSIT, (0, exports.getFilteredRewards)(rewardMap[deposit.reserve.coinType].deposit)).times(!noShares
|
|
160
160
|
? getDepositShareUsd(deposit.reserve, new bignumber_js_1.default(deposit.userRewardManager.share.toString()))
|
|
161
161
|
: deposit.depositedAmountUsd);
|
package/mmt.d.ts
ADDED
package/mmt.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MMT_VERSION_OBJECT_ID = exports.MMT_CONTRACT_PACKAGE_ID = void 0;
|
|
4
|
+
exports.MMT_CONTRACT_PACKAGE_ID = "0xcf60a40f45d46fc1e828871a647c1e25a0915dec860d2662eb10fdb382c3c1d1";
|
|
5
|
+
exports.MMT_VERSION_OBJECT_ID = "0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2a";
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@suilend/sdk","version":"1.1.
|
|
1
|
+
{"name":"@suilend/sdk","version":"1.1.88","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./client":"./client.js","./mmt":"./mmt.js","./strategies":"./strategies.js","./api/events":"./api/events.js","./api":"./api/index.js","./lib/constants":"./lib/constants.js","./lib":"./lib/index.js","./lib/initialize":"./lib/initialize.js","./lib/liquidityMining":"./lib/liquidityMining.js","./lib/strategyOwnerCap":"./lib/strategyOwnerCap.js","./lib/transactions":"./lib/transactions.js","./lib/types":"./lib/types.js","./parsers/apiReserveAssetDataEvent":"./parsers/apiReserveAssetDataEvent.js","./parsers":"./parsers/index.js","./parsers/lendingMarket":"./parsers/lendingMarket.js","./parsers/obligation":"./parsers/obligation.js","./parsers/rateLimiter":"./parsers/rateLimiter.js","./parsers/reserve":"./parsers/reserve.js","./swap":"./swap/index.js","./swap/quote":"./swap/quote.js","./swap/transaction":"./swap/transaction.js","./utils/events":"./utils/events.js","./utils":"./utils/index.js","./utils/obligation":"./utils/obligation.js","./utils/simulate":"./utils/simulate.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./_generated/suilend":"./_generated/suilend/index.js","./_generated/suilend/cell/structs":"./_generated/suilend/cell/structs.js","./_generated/suilend/decimal/structs":"./_generated/suilend/decimal/structs.js","./_generated/suilend/lending-market/functions":"./_generated/suilend/lending-market/functions.js","./_generated/suilend/lending-market/structs":"./_generated/suilend/lending-market/structs.js","./_generated/suilend/lending-market-registry/functions":"./_generated/suilend/lending-market-registry/functions.js","./_generated/suilend/liquidity-mining/structs":"./_generated/suilend/liquidity-mining/structs.js","./_generated/suilend/obligation/structs":"./_generated/suilend/obligation/structs.js","./_generated/suilend/rate-limiter/functions":"./_generated/suilend/rate-limiter/functions.js","./_generated/suilend/rate-limiter/structs":"./_generated/suilend/rate-limiter/structs.js","./_generated/suilend/reserve/structs":"./_generated/suilend/reserve/structs.js","./_generated/suilend/reserve-config/functions":"./_generated/suilend/reserve-config/functions.js","./_generated/suilend/reserve-config/structs":"./_generated/suilend/reserve-config/structs.js","./_generated/_dependencies/source/0x1":"./_generated/_dependencies/source/0x1/index.js","./_generated/_dependencies/source/0x2":"./_generated/_dependencies/source/0x2/index.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js","./_generated/_dependencies/source/0x1/ascii/structs":"./_generated/_dependencies/source/0x1/ascii/structs.js","./_generated/_dependencies/source/0x1/option/structs":"./_generated/_dependencies/source/0x1/option/structs.js","./_generated/_dependencies/source/0x1/type-name/structs":"./_generated/_dependencies/source/0x1/type-name/structs.js","./_generated/_dependencies/source/0x2/bag/structs":"./_generated/_dependencies/source/0x2/bag/structs.js","./_generated/_dependencies/source/0x2/balance/structs":"./_generated/_dependencies/source/0x2/balance/structs.js","./_generated/_dependencies/source/0x2/object/structs":"./_generated/_dependencies/source/0x2/object/structs.js","./_generated/_dependencies/source/0x2/object-table/structs":"./_generated/_dependencies/source/0x2/object-table/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js","./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs":"./_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js"},"types":"./index.js","scripts":{"build":"rm -rf ./dist && bun tsc","eslint":"eslint --fix \"./src/**/*.ts\"","prettier":"prettier --write \"./src/**/*\"","lint":"bun eslint && bun prettier && bun tsc --noEmit","release":"bun run build && bun ts-node ./release.ts && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/suilend/suilend-fe-public.git"},"bugs":{"url":"https://github.com/suilend/suilend-fe-public/issues"},"dependencies":{"@7kprotocol/sdk-ts":"^3.4.1","@cetusprotocol/aggregator-sdk":"^1.2.1","@flowx-finance/sdk":"^1.13.5","@pythnetwork/pyth-sui-js":"^2.2.0","@suilend/springsui-sdk":"^1.0.27","aftermath-ts-sdk":"^1.3.22","bignumber.js":"^9.1.2","bn.js":"^5.2.2","crypto-js":"^4.2.0","lodash":"^4.17.21","p-limit":"3.1.0","uuid":"^11.0.3"},"devDependencies":{"@types/bn.js":"^5.2.0","@types/lodash":"^4.17.20","ts-node":"^10.9.2"},"peerDependencies":{"@mysten/bcs":"1.8.1","@mysten/sui":"1.42.0","@suilend/sui-fe":"^0.3.38"},"overrides":{"chalk":"5.3.0","strip-ansi":"7.1.0","color-convert":"2.0.1","color-name":"1.1.4","is-core-module":"2.13.1","error-ex":"1.3.2","has-ansi":"5.0.1"}}
|
package/strategies.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AggregatorClient as CetusSdk } from "@cetusprotocol/aggregator-sdk";
|
|
2
|
+
import { CoinMetadata, DevInspectResults, SuiClient } from "@mysten/sui/client";
|
|
3
|
+
import { Transaction, TransactionArgument, TransactionObjectInput } from "@mysten/sui/transactions";
|
|
2
4
|
import BigNumber from "bignumber.js";
|
|
3
5
|
import { LstClient } from "@suilend/springsui-sdk";
|
|
4
6
|
import { LiquidStakingInfo } from "@suilend/springsui-sdk/_generated/liquid_staking/liquid-staking/structs";
|
|
7
|
+
import { SuilendClient } from "./client";
|
|
8
|
+
import { RewardsMap } from "./lib";
|
|
5
9
|
import { RewardMap } from "./lib/liquidityMining";
|
|
6
10
|
import { StrategyType } from "./lib/strategyOwnerCap";
|
|
7
11
|
import { ParsedObligation, ParsedReserve } from "./parsers";
|
|
@@ -15,6 +19,21 @@ export type StrategyWithdraw = {
|
|
|
15
19
|
coinType: string;
|
|
16
20
|
withdrawnAmount: BigNumber;
|
|
17
21
|
};
|
|
22
|
+
export declare enum StrategyFlashLoanProvider {
|
|
23
|
+
MMT = "mmt"
|
|
24
|
+
}
|
|
25
|
+
export declare const STRATEGY_TYPE_FLASH_LOAN_OBJ_MAP: Record<string, {
|
|
26
|
+
provider: StrategyFlashLoanProvider;
|
|
27
|
+
poolId: string;
|
|
28
|
+
coinTypeA: string;
|
|
29
|
+
coinTypeB: string;
|
|
30
|
+
borrowA: boolean;
|
|
31
|
+
feePercent: number;
|
|
32
|
+
}>;
|
|
33
|
+
export declare const getReserveSafeDepositLimit: (reserve: ParsedReserve) => {
|
|
34
|
+
safeDepositLimit: BigNumber;
|
|
35
|
+
safeDepositLimitUsd: BigNumber;
|
|
36
|
+
};
|
|
18
37
|
export declare const addOrInsertStrategyDeposit: (_deposits: StrategyDeposit[], deposit: StrategyDeposit) => StrategyDeposit[];
|
|
19
38
|
export declare const hasStrategyPosition: (obligation: ParsedObligation) => boolean;
|
|
20
39
|
export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedReserve>) => {
|
|
@@ -259,5 +278,71 @@ export declare const getStrategyDepositedAmount: (reserveMap: Record<string, Par
|
|
|
259
278
|
export declare const getStrategyBorrowedAmount: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation) => BigNumber;
|
|
260
279
|
export declare const getStrategyTvlAmount: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation) => BigNumber;
|
|
261
280
|
export declare const getStrategyExposure: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation) => BigNumber;
|
|
281
|
+
export declare const getStrategyStepMaxBorrowedAmount: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, deposits: StrategyDeposit[], borrowedAmount: BigNumber) => BigNumber;
|
|
282
|
+
export declare const getStrategyStepMaxWithdrawnAmount: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, deposits: StrategyDeposit[], borrowedAmount: BigNumber, withdrawCoinType: string) => BigNumber;
|
|
283
|
+
export declare const strategySimulateLoopToExposure: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, _targetBorrowedAmount: BigNumber | undefined, _targetExposure: BigNumber | undefined) => {
|
|
284
|
+
deposits: StrategyDeposit[];
|
|
285
|
+
borrowedAmount: BigNumber;
|
|
286
|
+
obligation: ParsedObligation;
|
|
287
|
+
};
|
|
288
|
+
export declare const strategySimulateDeposit: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit) => {
|
|
289
|
+
deposits: StrategyDeposit[];
|
|
290
|
+
borrowedAmount: BigNumber;
|
|
291
|
+
obligation: ParsedObligation;
|
|
292
|
+
};
|
|
293
|
+
export declare const strategySimulateDepositAndLoopToExposure: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit, targetExposure: BigNumber) => {
|
|
294
|
+
deposits: StrategyDeposit[];
|
|
295
|
+
borrowedAmount: BigNumber;
|
|
296
|
+
obligation: ParsedObligation;
|
|
297
|
+
};
|
|
262
298
|
export declare const fetchStrategyGlobalTvlAmountUsdMap: () => Promise<Record<StrategyType, BigNumber | null> | undefined>;
|
|
263
299
|
export declare const getStrategyUnclaimedRewardsAmount: (reserveMap: Record<string, ParsedReserve>, rewardPriceMap: Record<string, BigNumber | undefined>, rewardCoinMetadataMap: Record<string, CoinMetadata>, rewardMap: RewardMap, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation) => BigNumber;
|
|
300
|
+
export declare const getStrategyAprPercent: (reserveMap: Record<string, ParsedReserve>, lstStatsMap: Record<string, {
|
|
301
|
+
lstToSuiExchangeRate: BigNumber;
|
|
302
|
+
aprPercent: BigNumber;
|
|
303
|
+
}>, rewardMap: RewardMap, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation, exposure?: BigNumber) => BigNumber;
|
|
304
|
+
export declare const getStrategyHealthPercent: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation, exposure?: BigNumber) => BigNumber;
|
|
305
|
+
export declare const getStrategyLiquidationPrice: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, obligation?: ParsedObligation, exposure?: BigNumber) => BigNumber | null;
|
|
306
|
+
export declare const strategyLoopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, _targetBorrowedAmount: BigNumber | undefined, _targetExposure: BigNumber | undefined, // Must be defined if _targetBorrowedAmount is undefined
|
|
307
|
+
transaction: Transaction) => Promise<{
|
|
308
|
+
deposits: StrategyDeposit[];
|
|
309
|
+
borrowedAmount: BigNumber;
|
|
310
|
+
transaction: Transaction;
|
|
311
|
+
}>;
|
|
312
|
+
export declare const strategyUnloopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, _targetBorrowedAmount: BigNumber | undefined, _targetExposure: BigNumber | undefined, // Must be defined if _targetBorrowedAmount is undefined
|
|
313
|
+
transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
|
|
314
|
+
deposits: StrategyDeposit[];
|
|
315
|
+
borrowedAmount: BigNumber;
|
|
316
|
+
transaction: Transaction;
|
|
317
|
+
}>;
|
|
318
|
+
export declare const strategyDepositTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
|
|
319
|
+
deposits: StrategyDeposit[];
|
|
320
|
+
borrowedAmount: BigNumber;
|
|
321
|
+
transaction: Transaction;
|
|
322
|
+
}>;
|
|
323
|
+
export declare const strategyDepositAndLoopToExposureTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string | undefined, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, deposit: StrategyDeposit, targetExposure: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
|
|
324
|
+
deposits: StrategyDeposit[];
|
|
325
|
+
borrowedAmount: BigNumber;
|
|
326
|
+
transaction: Transaction;
|
|
327
|
+
}>;
|
|
328
|
+
export declare const strategyWithdrawTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, withdraw: StrategyWithdraw, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>, returnWithdrawnCoin?: boolean) => Promise<{
|
|
329
|
+
deposits: StrategyDeposit[];
|
|
330
|
+
borrowedAmount: BigNumber;
|
|
331
|
+
transaction: Transaction;
|
|
332
|
+
withdrawnCoin?: TransactionArgument;
|
|
333
|
+
}>;
|
|
334
|
+
export declare const strategyMaxWithdrawTx: (reserveMap: Record<string, ParsedReserve>, rewardPriceMap: Record<string, BigNumber | undefined>, rewardsMap: RewardsMap, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, withdrawCoinType: string, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
|
|
335
|
+
deposits: StrategyDeposit[];
|
|
336
|
+
borrowedAmount: BigNumber;
|
|
337
|
+
transaction: Transaction;
|
|
338
|
+
}>;
|
|
339
|
+
export declare const strategyDepositAdjustWithdrawTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligationId: string, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, flashLoanBorrowedAmount: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
|
|
340
|
+
deposits: StrategyDeposit[];
|
|
341
|
+
borrowedAmount: BigNumber;
|
|
342
|
+
transaction: Transaction;
|
|
343
|
+
}>;
|
|
344
|
+
export declare const strategyAdjustTx: (reserveMap: Record<string, ParsedReserve>, lstMap: StrategyLstMap, strategyType: StrategyType, suiClient: SuiClient, suilendClient: SuilendClient, cetusSdk: CetusSdk, cetusPartnerId: string, _address: string, strategyOwnerCapId: TransactionObjectInput, obligation: ParsedObligation, _deposits: StrategyDeposit[], _borrowedAmount: BigNumber, targetExposure: BigNumber, transaction: Transaction, dryRunTransaction: (transaction: Transaction, setGasBudget?: boolean) => Promise<DevInspectResults>) => Promise<{
|
|
345
|
+
deposits: StrategyDeposit[];
|
|
346
|
+
borrowedAmount: BigNumber;
|
|
347
|
+
transaction: Transaction;
|
|
348
|
+
}>;
|