@suilend/sdk 1.1.85 → 1.1.87

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.
Files changed (43) hide show
  1. package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +7 -11
  2. package/_generated/_dependencies/source/0x1/option/structs.d.ts +4 -6
  3. package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +6 -10
  4. package/_generated/_dependencies/source/0x2/bag/structs.d.ts +8 -15
  5. package/_generated/_dependencies/source/0x2/balance/structs.d.ts +6 -10
  6. package/_generated/_dependencies/source/0x2/object/structs.d.ts +8 -14
  7. package/_generated/_dependencies/source/0x2/object-table/structs.d.ts +8 -15
  8. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +4 -7
  9. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +12 -23
  10. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +30 -58
  11. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +4 -6
  12. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +75 -146
  13. package/_generated/_framework/util.d.ts +4 -16
  14. package/_generated/_framework/vector.d.ts +12 -5
  15. package/_generated/suilend/cell/structs.d.ts +6 -10
  16. package/_generated/suilend/decimal/structs.d.ts +3 -5
  17. package/_generated/suilend/lending-market/structs.d.ts +392 -368
  18. package/_generated/suilend/liquidity-mining/structs.d.ts +160 -134
  19. package/_generated/suilend/obligation/structs.d.ts +217 -332
  20. package/_generated/suilend/rate-limiter/structs.d.ts +17 -32
  21. package/_generated/suilend/reserve/structs.d.ts +393 -383
  22. package/_generated/suilend/reserve-config/structs.d.ts +40 -76
  23. package/client.d.ts +1 -1
  24. package/client.js +15 -7
  25. package/lib/initialize.d.ts +1 -2
  26. package/lib/initialize.js +67 -54
  27. package/lib/liquidityMining.d.ts +2 -2
  28. package/lib/liquidityMining.js +3 -3
  29. package/lib/strategyOwnerCap.js +24 -16
  30. package/lib/types.d.ts +0 -1
  31. package/mmt.d.ts +2 -0
  32. package/mmt.js +5 -0
  33. package/package.json +1 -1
  34. package/parsers/lendingMarket.d.ts +0 -1
  35. package/parsers/lendingMarket.js +2 -3
  36. package/strategies.d.ts +86 -1
  37. package/strategies.js +1788 -1
  38. package/swap/quote.js +0 -35
  39. package/swap/transaction.js +0 -35
  40. package/utils/index.d.ts +10 -0
  41. package/utils/index.js +34 -1
  42. package/utils/obligation.d.ts +2 -0
  43. package/utils/obligation.js +8 -0
package/strategies.d.ts CHANGED
@@ -1,7 +1,11 @@
1
- import { CoinMetadata, SuiClient } from "@mysten/sui/client";
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
+ }>;