@suilend/sdk 14.3.0 → 16.0.0

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 (28) hide show
  1. package/_generated/_dependencies/pyth-2/price-identifier/structs.d.ts +5 -1
  2. package/_generated/_dependencies/std/ascii/structs.d.ts +8 -2
  3. package/_generated/_dependencies/std/option/structs.d.ts +6 -1
  4. package/_generated/_dependencies/std/type-name/structs.d.ts +7 -1
  5. package/_generated/_dependencies/sui/bag/structs.d.ts +8 -1
  6. package/_generated/_dependencies/sui/balance/structs.d.ts +6 -2
  7. package/_generated/_dependencies/sui/object/structs.d.ts +8 -2
  8. package/_generated/_dependencies/sui/object-table/structs.d.ts +8 -1
  9. package/_generated/_envs/mainnet.js +39 -3
  10. package/_generated/suilend/cell/structs.d.ts +8 -1
  11. package/_generated/suilend/decimal/structs.d.ts +3 -1
  12. package/_generated/suilend/lending-market/functions.d.ts +185 -64
  13. package/_generated/suilend/lending-market/functions.js +227 -65
  14. package/_generated/suilend/lending-market/structs.d.ts +764 -25
  15. package/_generated/suilend/lending-market/structs.js +491 -3
  16. package/_generated/suilend/liquidity-mining/structs.d.ts +169 -5
  17. package/_generated/suilend/obligation/structs.d.ts +338 -7
  18. package/_generated/suilend/rate-limiter/functions.d.ts +6 -0
  19. package/_generated/suilend/rate-limiter/functions.js +12 -0
  20. package/_generated/suilend/rate-limiter/structs.d.ts +17 -2
  21. package/_generated/suilend/reserve/structs.d.ts +664 -17
  22. package/_generated/suilend/reserve/structs.js +623 -4
  23. package/_generated/suilend/reserve-config/functions.d.ts +64 -9
  24. package/_generated/suilend/reserve-config/functions.js +88 -11
  25. package/_generated/suilend/reserve-config/structs.d.ts +45 -3
  26. package/client.d.ts +4 -7
  27. package/client.js +15 -9
  28. package/package.json +1 -1
@@ -69,6 +69,13 @@ export interface CreateReserveConfigArgs {
69
69
  export declare function createReserveConfig(tx: Transaction, args: CreateReserveConfigArgs, options?: {
70
70
  env?: EnvConfig;
71
71
  }): TransactionResult;
72
+ /**
73
+ * An earlier package's `from`/`build`, or `create_reserve_config`, leaves out entries
74
+ * that read back as defaults, so installing such a config would silently reset them.
75
+ */
76
+ export declare function assertBuiltByCurrentPackage(tx: Transaction, config: TransactionObjectInput, options?: {
77
+ env?: EnvConfig;
78
+ }): TransactionResult;
72
79
  /**
73
80
  * The raw basis-points value backing `confidence_multiplier`. Kept separate so `from()`
74
81
  * can reseed a builder from the stored bps integer directly, rather than reconstructing
@@ -81,9 +88,11 @@ export declare function confidenceMultiplierBps(tx: Transaction, config: Transac
81
88
  /**
82
89
  * A confidence-margin multiplier `k`, stored in basis points (10_000 = 1x) and
83
90
  * returned already scaled to a `Decimal`. It is intended to scale Pyth's raw
84
- * confidence interval `conf` (same decimal exponent as the price):
85
- * `price_lower_bound = min(spot, ema) - k * conf`,
86
- * `price_upper_bound = max(spot, ema) + k * conf`.
91
+ * confidence interval `conf` (same decimal exponent as the price) as a share of spot:
92
+ * `price_lower_bound = min(spot, ema) * (1 - k * conf / spot)`,
93
+ * `price_upper_bound = max(spot, ema) * (1 + k * conf / spot)`, where a guarded
94
+ * reserve's `min` and `max` also range over the unclamped spot and EMA of its last
95
+ * refresh.
87
96
  * Zero (the default, and every reserve's value until explicitly set) means every
88
97
  * valuation is bit-for-bit identical to before this field existed.
89
98
  */
@@ -103,11 +112,46 @@ export interface SetConfidenceMultiplierArgs {
103
112
  export declare function setConfidenceMultiplier(tx: Transaction, args: SetConfidenceMultiplierArgs, options?: {
104
113
  env?: EnvConfig;
105
114
  }): TransactionResult;
115
+ export interface RemoveU64IfPresentArgs {
116
+ bag: TransactionObjectInput;
117
+ key: GenericArg;
118
+ }
119
+ export declare function removeU64IfPresent(tx: Transaction, typeArg: string, args: RemoveU64IfPresentArgs, options?: {
120
+ env?: EnvConfig;
121
+ }): TransactionResult;
122
+ export declare function defaultMinConfidenceRatio(tx: Transaction, options?: {
123
+ env?: EnvConfig;
124
+ }): TransactionResult;
125
+ export declare function defaultMaxStalenessSeconds(tx: Transaction, options?: {
126
+ env?: EnvConfig;
127
+ }): TransactionResult;
106
128
  /**
107
- * Shared by `set_confidence_multiplier`'s zero branch and `destroy()`, the two places
108
- * a confidence-multiplier entry is ever dropped from a `Bag`.
129
+ * The oracle withholds a spot price whose confidence interval exceeds
130
+ * `price / min_confidence_ratio`.
109
131
  */
110
- export declare function removeConfidenceMultiplierIfPresent(tx: Transaction, bag: TransactionObjectInput, options?: {
132
+ export declare function minConfidenceRatio(tx: Transaction, config: TransactionObjectInput, options?: {
133
+ env?: EnvConfig;
134
+ }): TransactionResult;
135
+ /** The oracle withholds a spot price published more than this many seconds ago. */
136
+ export declare function maxStalenessSeconds(tx: Transaction, config: TransactionObjectInput, options?: {
137
+ env?: EnvConfig;
138
+ }): TransactionResult;
139
+ /**
140
+ * The oracle accepts a spot `conf` up to `spot / min_confidence_ratio`, so a `k` at or
141
+ * above that ratio lets `k * conf` reach spot. Necessary, not sufficient: the margin
142
+ * check compares against `min(spot, ema)`, and an EMA below spot can still trip it.
143
+ * Asserted wherever a config is installed, since a `ReserveConfig` need not come from
144
+ * this module's `build`.
145
+ */
146
+ export declare function assertConfidenceMultiplierBelowRatio(tx: Transaction, config: TransactionObjectInput, options?: {
147
+ env?: EnvConfig;
148
+ }): TransactionResult;
149
+ export interface U64OrArgs {
150
+ config: TransactionObjectInput;
151
+ key: Array<number | TransactionArgument> | TransactionArgument;
152
+ default: bigint | TransactionArgument;
153
+ }
154
+ export declare function u64Or(tx: Transaction, args: U64OrArgs, options?: {
111
155
  env?: EnvConfig;
112
156
  }): TransactionResult;
113
157
  /**
@@ -310,6 +354,17 @@ export declare function borrowFee(tx: Transaction, config: TransactionObjectInpu
310
354
  export declare function protocolLiquidationFee(tx: Transaction, config: TransactionObjectInput, options?: {
311
355
  env?: EnvConfig;
312
356
  }): TransactionResult;
357
+ export interface ReplaceProtocolLiquidationFeeBpsArgs {
358
+ config: TransactionObjectInput;
359
+ bps: bigint | TransactionArgument;
360
+ }
361
+ /**
362
+ * Sets the fee in place, skipping `build`'s validation, and returns the previous fee.
363
+ * Callers must only lower it: a lower fee keeps the bonus-plus-fee cap satisfied.
364
+ */
365
+ export declare function replaceProtocolLiquidationFeeBps(tx: Transaction, args: ReplaceProtocolLiquidationFeeBpsArgs, options?: {
366
+ env?: EnvConfig;
367
+ }): TransactionResult;
313
368
  /**
314
369
  * Gets the isolation status of the reserve.
315
370
  *
@@ -418,12 +473,12 @@ export declare function calculateSupplyApr(tx: Transaction, args: CalculateSuppl
418
473
  *
419
474
  * * `config` - The `ReserveConfig` to destroy.
420
475
  *
421
- * Drains the confidence multiplier from `additional_fields` before requiring it
422
- * empty -- callers never need to remove it themselves first.
476
+ * Drains every entry `build` writes from `additional_fields`
477
+ * before requiring it empty -- callers never need to remove them themselves first.
423
478
  *
424
479
  * # Panics
425
480
  *
426
- * * If `additional_fields` holds anything other than the confidence multiplier.
481
+ * * If `additional_fields` holds anything else.
427
482
  */
428
483
  export declare function destroy(tx: Transaction, config: TransactionObjectInput, options?: {
429
484
  env?: EnvConfig;
@@ -70,6 +70,16 @@ export function createReserveConfig(tx, args, options) {
70
70
  ],
71
71
  });
72
72
  }
73
+ /**
74
+ * An earlier package's `from`/`build`, or `create_reserve_config`, leaves out entries
75
+ * that read back as defaults, so installing such a config would silently reset them.
76
+ */
77
+ export function assertBuiltByCurrentPackage(tx, config, options) {
78
+ return tx.moveCall({
79
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::assert_built_by_current_package`,
80
+ arguments: [obj(tx, config)],
81
+ });
82
+ }
73
83
  /**
74
84
  * The raw basis-points value backing `confidence_multiplier`. Kept separate so `from()`
75
85
  * can reseed a builder from the stored bps integer directly, rather than reconstructing
@@ -85,9 +95,11 @@ export function confidenceMultiplierBps(tx, config, options) {
85
95
  /**
86
96
  * A confidence-margin multiplier `k`, stored in basis points (10_000 = 1x) and
87
97
  * returned already scaled to a `Decimal`. It is intended to scale Pyth's raw
88
- * confidence interval `conf` (same decimal exponent as the price):
89
- * `price_lower_bound = min(spot, ema) - k * conf`,
90
- * `price_upper_bound = max(spot, ema) + k * conf`.
98
+ * confidence interval `conf` (same decimal exponent as the price) as a share of spot:
99
+ * `price_lower_bound = min(spot, ema) * (1 - k * conf / spot)`,
100
+ * `price_upper_bound = max(spot, ema) * (1 + k * conf / spot)`, where a guarded
101
+ * reserve's `min` and `max` also range over the unclamped spot and EMA of its last
102
+ * refresh.
91
103
  * Zero (the default, and every reserve's value until explicitly set) means every
92
104
  * valuation is bit-for-bit identical to before this field existed.
93
105
  */
@@ -112,14 +124,66 @@ export function setConfidenceMultiplier(tx, args, options) {
112
124
  ],
113
125
  });
114
126
  }
127
+ export function removeU64IfPresent(tx, typeArg, args, options) {
128
+ return tx.moveCall({
129
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::remove_u64_if_present`,
130
+ typeArguments: [typeArg],
131
+ arguments: [
132
+ obj(tx, args.bag),
133
+ generic(tx, `${typeArg}`, args.key),
134
+ ],
135
+ });
136
+ }
137
+ export function defaultMinConfidenceRatio(tx, options) {
138
+ return tx.moveCall({
139
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::default_min_confidence_ratio`,
140
+ arguments: [],
141
+ });
142
+ }
143
+ export function defaultMaxStalenessSeconds(tx, options) {
144
+ return tx.moveCall({
145
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::default_max_staleness_seconds`,
146
+ arguments: [],
147
+ });
148
+ }
115
149
  /**
116
- * Shared by `set_confidence_multiplier`'s zero branch and `destroy()`, the two places
117
- * a confidence-multiplier entry is ever dropped from a `Bag`.
150
+ * The oracle withholds a spot price whose confidence interval exceeds
151
+ * `price / min_confidence_ratio`.
118
152
  */
119
- export function removeConfidenceMultiplierIfPresent(tx, bag, options) {
153
+ export function minConfidenceRatio(tx, config, options) {
120
154
  return tx.moveCall({
121
- target: `${getPublishedAt('suilend', options?.env)}::reserve_config::remove_confidence_multiplier_if_present`,
122
- arguments: [obj(tx, bag)],
155
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::min_confidence_ratio`,
156
+ arguments: [obj(tx, config)],
157
+ });
158
+ }
159
+ /** The oracle withholds a spot price published more than this many seconds ago. */
160
+ export function maxStalenessSeconds(tx, config, options) {
161
+ return tx.moveCall({
162
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::max_staleness_seconds`,
163
+ arguments: [obj(tx, config)],
164
+ });
165
+ }
166
+ /**
167
+ * The oracle accepts a spot `conf` up to `spot / min_confidence_ratio`, so a `k` at or
168
+ * above that ratio lets `k * conf` reach spot. Necessary, not sufficient: the margin
169
+ * check compares against `min(spot, ema)`, and an EMA below spot can still trip it.
170
+ * Asserted wherever a config is installed, since a `ReserveConfig` need not come from
171
+ * this module's `build`.
172
+ */
173
+ export function assertConfidenceMultiplierBelowRatio(tx, config, options) {
174
+ return tx.moveCall({
175
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::assert_confidence_multiplier_below_ratio`,
176
+ arguments: [obj(tx, config)],
177
+ });
178
+ }
179
+ export function u64Or(tx, args, options) {
180
+ return tx.moveCall({
181
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::u64_or`,
182
+ arguments: [
183
+ obj(tx, args.config),
184
+ pure(tx, args.key, `vector<u8>`),
185
+ pure(tx, args.default, `u64`),
186
+ ],
123
187
  });
124
188
  }
125
189
  /**
@@ -363,6 +427,19 @@ export function protocolLiquidationFee(tx, config, options) {
363
427
  arguments: [obj(tx, config)],
364
428
  });
365
429
  }
430
+ /**
431
+ * Sets the fee in place, skipping `build`'s validation, and returns the previous fee.
432
+ * Callers must only lower it: a lower fee keeps the bonus-plus-fee cap satisfied.
433
+ */
434
+ export function replaceProtocolLiquidationFeeBps(tx, args, options) {
435
+ return tx.moveCall({
436
+ target: `${getPublishedAt('suilend', options?.env)}::reserve_config::replace_protocol_liquidation_fee_bps`,
437
+ arguments: [
438
+ obj(tx, args.config),
439
+ pure(tx, args.bps, `u64`),
440
+ ],
441
+ });
442
+ }
366
443
  /**
367
444
  * Gets the isolation status of the reserve.
368
445
  *
@@ -484,12 +561,12 @@ export function calculateSupplyApr(tx, args, options) {
484
561
  *
485
562
  * * `config` - The `ReserveConfig` to destroy.
486
563
  *
487
- * Drains the confidence multiplier from `additional_fields` before requiring it
488
- * empty -- callers never need to remove it themselves first.
564
+ * Drains every entry `build` writes from `additional_fields`
565
+ * before requiring it empty -- callers never need to remove them themselves first.
489
566
  *
490
567
  * # Panics
491
568
  *
492
- * * If `additional_fields` holds anything other than the confidence multiplier.
569
+ * * If `additional_fields` holds anything else.
493
570
  */
494
571
  export function destroy(tx, config, options) {
495
572
  return tx.moveCall({
@@ -86,7 +86,38 @@ export declare class ReserveConfig implements StructClass {
86
86
  static get r(): ReserveConfigReified;
87
87
  static phantom(): PhantomReified<ToTypeStr<ReserveConfig>>;
88
88
  static get p(): PhantomReified<ToTypeStr<ReserveConfig>>;
89
- private static instantiateBcs;
89
+ protected static instantiateBcs(): import("@mysten/bcs").BcsStruct<{
90
+ open_ltv_pct: import("@mysten/bcs").BcsType<number, number, "u8">;
91
+ close_ltv_pct: import("@mysten/bcs").BcsType<number, number, "u8">;
92
+ max_close_ltv_pct: import("@mysten/bcs").BcsType<number, number, "u8">;
93
+ borrow_weight_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
94
+ deposit_limit: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
95
+ borrow_limit: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
96
+ liquidation_bonus_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
97
+ max_liquidation_bonus_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
98
+ deposit_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
99
+ borrow_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
100
+ interest_rate_utils: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
101
+ length: number;
102
+ }, string>;
103
+ interest_rate_aprs: import("@mysten/bcs").BcsType<string[], Iterable<string | number | bigint> & {
104
+ length: number;
105
+ }, string>;
106
+ borrow_fee_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
107
+ spread_fee_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
108
+ protocol_liquidation_fee_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
109
+ isolated: import("@mysten/bcs").BcsType<boolean, boolean, "bool">;
110
+ open_attributed_borrow_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
111
+ close_attributed_borrow_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
112
+ additional_fields: import("@mysten/bcs").BcsStruct<{
113
+ id: import("@mysten/bcs").BcsStruct<{
114
+ id: import("@mysten/bcs").BcsStruct<{
115
+ bytes: import("@mysten/bcs").BcsType<string, string, string>;
116
+ }, string>;
117
+ }, string>;
118
+ size: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
119
+ }, string>;
120
+ }, string>;
90
121
  private static cachedBcs;
91
122
  static get bcs(): ReturnType<typeof ReserveConfig.instantiateBcs>;
92
123
  static fromFields(fields: Record<string, any>): ReserveConfig;
@@ -129,7 +160,16 @@ export declare class ReserveConfigBuilder implements StructClass {
129
160
  static get r(): ReserveConfigBuilderReified;
130
161
  static phantom(): PhantomReified<ToTypeStr<ReserveConfigBuilder>>;
131
162
  static get p(): PhantomReified<ToTypeStr<ReserveConfigBuilder>>;
132
- private static instantiateBcs;
163
+ protected static instantiateBcs(): import("@mysten/bcs").BcsStruct<{
164
+ fields: import("@mysten/bcs").BcsStruct<{
165
+ id: import("@mysten/bcs").BcsStruct<{
166
+ id: import("@mysten/bcs").BcsStruct<{
167
+ bytes: import("@mysten/bcs").BcsType<string, string, string>;
168
+ }, string>;
169
+ }, string>;
170
+ size: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
171
+ }, string>;
172
+ }, string>;
133
173
  private static cachedBcs;
134
174
  static get bcs(): ReturnType<typeof ReserveConfigBuilder.instantiateBcs>;
135
175
  static fromFields(fields: Record<string, any>): ReserveConfigBuilder;
@@ -171,7 +211,9 @@ export declare class ConfidenceMultiplierKey implements StructClass {
171
211
  static get r(): ConfidenceMultiplierKeyReified;
172
212
  static phantom(): PhantomReified<ToTypeStr<ConfidenceMultiplierKey>>;
173
213
  static get p(): PhantomReified<ToTypeStr<ConfidenceMultiplierKey>>;
174
- private static instantiateBcs;
214
+ protected static instantiateBcs(): import("@mysten/bcs").BcsStruct<{
215
+ dummy_field: import("@mysten/bcs").BcsType<boolean, boolean, "bool">;
216
+ }, string>;
175
217
  private static cachedBcs;
176
218
  static get bcs(): ReturnType<typeof ConfidenceMultiplierKey.instantiateBcs>;
177
219
  static fromFields(fields: Record<string, any>): ConfidenceMultiplierKey;
package/client.d.ts CHANGED
@@ -90,16 +90,13 @@ export declare class SuilendClient {
90
90
  id: string;
91
91
  type: string;
92
92
  }[], suiGrpcClient: SuiGrpcClient, logPackageId?: boolean): Promise<SuilendClient[]>;
93
- /**
94
- * Sets only the suilend package, to `publishedAt`, and leaves the
95
- * strategy_wrapper package as it was. Callers that build strategy
96
- * transactions must also call `setStrategyWrapperPackageId` with the
97
- * strategy_wrapper package for MAIN's lending market version.
98
- */
99
93
  static initializeAllFromObjects(lendingMarkets: {
100
94
  id: string;
101
95
  type: string;
102
- }[], objects: readonly (LendingMarketObject | Error)[], publishedAt: string, suiGrpcClient: SuiGrpcClient, logPackageId?: boolean): SuilendClient[];
96
+ }[], objects: readonly (LendingMarketObject | Error)[], { publishedAt, strategyWrapperPublishedAt, }: {
97
+ publishedAt: string;
98
+ strategyWrapperPublishedAt: string | null;
99
+ }, suiGrpcClient: SuiGrpcClient, logPackageId?: boolean): SuilendClient[];
103
100
  static getFeeReceivers(suiGrpcClient: SuiGrpcClient, lendingMarketId: string): Promise<{
104
101
  receivers: string[];
105
102
  weights: string[];
package/client.js CHANGED
@@ -49,9 +49,11 @@ export function getStrategyWrapperPackageId() {
49
49
  return resolved;
50
50
  }
51
51
  export function setStrategyWrapperPackageId(packageId) {
52
+ if (!isValidSuiAddress(packageId))
53
+ throw new Error(`strategy_wrapper package ${packageId} is not a Sui package id`);
52
54
  strategyWrapperPackage = {
53
55
  network: getSuilendNetwork(),
54
- resolved: packageId,
56
+ resolved: normalizeSuiAddress(packageId),
55
57
  };
56
58
  }
57
59
  export const LENDING_MARKET_REGISTRY_ID = "0x64faff8d91a56c4f55debbb44767b009ee744a70bc2cc8e3bbd2718c92f85931";
@@ -429,17 +431,21 @@ export class SuilendClient {
429
431
  console.warn(`@suilend/sdk | ${versionMismatch(lendingMarket.id, lendingMarket.version, mainVersion, network)}`);
430
432
  return clients;
431
433
  }
432
- /**
433
- * Sets only the suilend package, to `publishedAt`, and leaves the
434
- * strategy_wrapper package as it was. Callers that build strategy
435
- * transactions must also call `setStrategyWrapperPackageId` with the
436
- * strategy_wrapper package for MAIN's lending market version.
437
- */
438
- static initializeAllFromObjects(lendingMarkets, objects, publishedAt, suiGrpcClient, logPackageId) {
434
+ static initializeAllFromObjects(lendingMarkets, objects, { publishedAt, strategyWrapperPublishedAt, }, suiGrpcClient, logPackageId) {
435
+ const network = getSuilendNetwork();
439
436
  if (!isValidSuiAddress(publishedAt))
440
437
  throw new Error(`publishedAt ${publishedAt} is not a Sui package id`);
438
+ if (network.strategyWrapper &&
439
+ (strategyWrapperPublishedAt === null ||
440
+ !isValidSuiAddress(strategyWrapperPublishedAt)))
441
+ throw new Error(`strategyWrapperPublishedAt ${strategyWrapperPublishedAt} is not a Sui package id, and the ${network.name} network deploys strategy_wrapper`);
441
442
  const clients = clientsFromObjects(lendingMarkets, objects, suiGrpcClient);
442
- applyPublishedAt(publishedAt, logPackageId);
443
+ applyPublishedAt(normalizeSuiAddress(publishedAt), logPackageId);
444
+ if (network.strategyWrapper && strategyWrapperPublishedAt !== null)
445
+ strategyWrapperPackage = {
446
+ network,
447
+ resolved: normalizeSuiAddress(strategyWrapperPublishedAt),
448
+ };
443
449
  return clients;
444
450
  }
445
451
  static async getFeeReceivers(suiGrpcClient, lendingMarketId) {
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@suilend/sdk","version":"14.3.0","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","./network":"./network.js","./strategies":"./strategies.js","./api/events":"./api/events.js","./api":"./api/index.js","./lib/cetusArguments":"./lib/cetusArguments.js","./lib/constants":"./lib/constants.js","./lib":"./lib/index.js","./lib/initialize":"./lib/initialize.js","./lib/liquidityMining":"./lib/liquidityMining.js","./lib/proCompatible":"./lib/proCompatible.js","./lib/pyth":"./lib/pyth.js","./lib/strategyOwnerCap":"./lib/strategyOwnerCap.js","./lib/transactions":"./lib/transactions.js","./lib/types":"./lib/types.js","./margin":"./margin/index.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/feedId":"./utils/feedId.js","./utils":"./utils/index.js","./utils/interpolate":"./utils/interpolate.js","./utils/obligation":"./utils/obligation.js","./utils/priceGuard":"./utils/priceGuard.js","./utils/simulate":"./utils/simulate.js","./_generated/_envs":"./_generated/_envs/index.js","./_generated/_envs/mainnet":"./_generated/_envs/mainnet.js","./_generated/_framework/env":"./_generated/_framework/env.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./margin/margin/admin_cap":"./margin/margin/admin_cap.js","./margin/margin/market":"./margin/margin/market.js","./margin/margin/permissions":"./margin/margin/permissions.js","./margin/margin/position":"./margin/margin/position.js","./margin/margin/router":"./margin/margin/router.js","./margin/margin/version":"./margin/margin/version.js","./margin/utils":"./margin/utils/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/pyth-2/price-identifier/structs":"./_generated/_dependencies/pyth-2/price-identifier/structs.js","./_generated/_dependencies/std/ascii/structs":"./_generated/_dependencies/std/ascii/structs.js","./_generated/_dependencies/std/option/structs":"./_generated/_dependencies/std/option/structs.js","./_generated/_dependencies/std/type-name/structs":"./_generated/_dependencies/std/type-name/structs.js","./_generated/_dependencies/sui/bag/structs":"./_generated/_dependencies/sui/bag/structs.js","./_generated/_dependencies/sui/balance/structs":"./_generated/_dependencies/sui/balance/structs.js","./_generated/_dependencies/sui/object/structs":"./_generated/_dependencies/sui/object/structs.js","./_generated/_dependencies/sui/object-table/structs":"./_generated/_dependencies/sui/object-table/structs.js","./margin/margin/deps/std/type_name":"./margin/margin/deps/std/type_name.js","./margin/margin/deps/sui/vec_set":"./margin/margin/deps/sui/vec_set.js","./margin/margin/deps/suilend/lending_market":"./margin/margin/deps/suilend/lending_market.js"},"types":"./index.d.ts","scripts":{"codegen":"node ./codegen.js","codegen:install":"node ./install-codegen.js","build":"rm -rf ./dist && tsc && node ./fix-esm-imports.js","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","test":"vitest run","lint:ci":"yarn run typecheck","prettier":"prettier --write src/ tests/","release":"yarn run build && node ./release.js && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/fireflyprotocol/lending-mono.git","directory":"ts/sdks/sdk"},"dependencies":{"@cetusprotocol/aggregator-sdk":"1.7.5","@flowx-finance/sdk":"2.1.0","@pythnetwork/hermes-client":"3.1.0","@pythnetwork/pyth-sui-js":"4.0.0","@suilend/springsui-sdk":"5.0.0","bignumber.js":"11.1.5","bn.js":"5.2.5","crypto-js":"4.2.0","lodash":"4.18.1","p-limit":"7.3.3","uuid":"14.0.3"},"devDependencies":{"@mysten/bcs":"2.1.3","@mysten/sui":"2.37.0","@suilend/sui-core":"2.3.0","@tsconfig/recommended":"1.0.13","@types/bn.js":"5.2.0","@types/lodash":"4.17.27","@types/node":"26.6.5","fast-check":"4.10.2","prettier":"3.9.10","ts-node":"10.9.2","typescript":"6.0.3","vite":"8.3.5","vitest":"5.0.5"},"peerDependencies":{"@mysten/bcs":"^2.1.1","@mysten/sui":">=2.31.3 <3","@suilend/sui-core":"^2.3.0"},"type":"module"}
1
+ {"name":"@suilend/sdk","version":"16.0.0","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","./network":"./network.js","./strategies":"./strategies.js","./api/events":"./api/events.js","./api":"./api/index.js","./lib/cetusArguments":"./lib/cetusArguments.js","./lib/constants":"./lib/constants.js","./lib":"./lib/index.js","./lib/initialize":"./lib/initialize.js","./lib/liquidityMining":"./lib/liquidityMining.js","./lib/proCompatible":"./lib/proCompatible.js","./lib/pyth":"./lib/pyth.js","./lib/strategyOwnerCap":"./lib/strategyOwnerCap.js","./lib/transactions":"./lib/transactions.js","./lib/types":"./lib/types.js","./margin":"./margin/index.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/feedId":"./utils/feedId.js","./utils":"./utils/index.js","./utils/interpolate":"./utils/interpolate.js","./utils/obligation":"./utils/obligation.js","./utils/priceGuard":"./utils/priceGuard.js","./utils/simulate":"./utils/simulate.js","./_generated/_envs":"./_generated/_envs/index.js","./_generated/_envs/mainnet":"./_generated/_envs/mainnet.js","./_generated/_framework/env":"./_generated/_framework/env.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./margin/margin/admin_cap":"./margin/margin/admin_cap.js","./margin/margin/market":"./margin/margin/market.js","./margin/margin/permissions":"./margin/margin/permissions.js","./margin/margin/position":"./margin/margin/position.js","./margin/margin/router":"./margin/margin/router.js","./margin/margin/version":"./margin/margin/version.js","./margin/utils":"./margin/utils/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/pyth-2/price-identifier/structs":"./_generated/_dependencies/pyth-2/price-identifier/structs.js","./_generated/_dependencies/std/ascii/structs":"./_generated/_dependencies/std/ascii/structs.js","./_generated/_dependencies/std/option/structs":"./_generated/_dependencies/std/option/structs.js","./_generated/_dependencies/std/type-name/structs":"./_generated/_dependencies/std/type-name/structs.js","./_generated/_dependencies/sui/bag/structs":"./_generated/_dependencies/sui/bag/structs.js","./_generated/_dependencies/sui/balance/structs":"./_generated/_dependencies/sui/balance/structs.js","./_generated/_dependencies/sui/object/structs":"./_generated/_dependencies/sui/object/structs.js","./_generated/_dependencies/sui/object-table/structs":"./_generated/_dependencies/sui/object-table/structs.js","./margin/margin/deps/std/type_name":"./margin/margin/deps/std/type_name.js","./margin/margin/deps/sui/vec_set":"./margin/margin/deps/sui/vec_set.js","./margin/margin/deps/suilend/lending_market":"./margin/margin/deps/suilend/lending_market.js"},"types":"./index.d.ts","scripts":{"codegen":"node ./codegen.js","codegen:install":"node ./install-codegen.js","build":"rm -rf ./dist && tsc && node ./fix-esm-imports.js","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","test":"vitest run","lint:ci":"yarn run typecheck","prettier":"prettier --write src/ tests/","release":"yarn run build && node ./release.js && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/fireflyprotocol/lending-mono.git","directory":"ts/sdks/sdk"},"dependencies":{"@cetusprotocol/aggregator-sdk":"1.7.5","@flowx-finance/sdk":"2.1.0","@pythnetwork/hermes-client":"3.1.0","@pythnetwork/pyth-sui-js":"4.0.0","@suilend/springsui-sdk":"5.0.1","bignumber.js":"11.1.5","bn.js":"5.2.5","crypto-js":"4.2.0","lodash":"4.18.1","p-limit":"7.3.3","uuid":"14.0.3"},"devDependencies":{"@mysten/bcs":"2.1.3","@mysten/sui":"2.37.0","@suilend/sui-core":"2.3.0","@tsconfig/recommended":"1.0.13","@types/bn.js":"5.2.0","@types/lodash":"4.17.27","@types/node":"26.6.5","fast-check":"4.10.2","prettier":"3.9.10","ts-node":"10.9.2","typescript":"6.0.3","vite":"8.3.5","vitest":"5.0.5"},"peerDependencies":{"@mysten/bcs":"^2.1.1","@mysten/sui":">=2.31.3 <3","@suilend/sui-core":"^2.3.0"},"type":"module"}