@suilend/sdk 3.0.8 → 4.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 (71) hide show
  1. package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +4 -4
  2. package/_generated/_dependencies/source/0x1/ascii/structs.js +42 -41
  3. package/_generated/_dependencies/source/0x1/option/structs.js +22 -26
  4. package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +3 -3
  5. package/_generated/_dependencies/source/0x1/type-name/structs.js +21 -25
  6. package/_generated/_dependencies/source/0x2/bag/structs.d.ts +5 -5
  7. package/_generated/_dependencies/source/0x2/bag/structs.js +22 -25
  8. package/_generated/_dependencies/source/0x2/balance/structs.d.ts +4 -4
  9. package/_generated/_dependencies/source/0x2/balance/structs.js +42 -41
  10. package/_generated/_dependencies/source/0x2/object/structs.d.ts +5 -5
  11. package/_generated/_dependencies/source/0x2/object/structs.js +42 -41
  12. package/_generated/_dependencies/source/0x2/object-table/structs.d.ts +5 -5
  13. package/_generated/_dependencies/source/0x2/object-table/structs.js +22 -25
  14. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +3 -3
  15. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js +22 -25
  16. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +9 -9
  17. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js +24 -25
  18. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +21 -21
  19. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js +23 -25
  20. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +2 -2
  21. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js +21 -25
  22. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +52 -52
  23. package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js +45 -41
  24. package/_generated/_framework/vector.js +9 -6
  25. package/_generated/suilend/cell/structs.d.ts +1 -1
  26. package/_generated/suilend/cell/structs.js +21 -25
  27. package/_generated/suilend/decimal/structs.d.ts +2 -2
  28. package/_generated/suilend/decimal/structs.js +21 -25
  29. package/_generated/suilend/lending-market/structs.d.ts +129 -129
  30. package/_generated/suilend/lending-market/structs.js +391 -265
  31. package/_generated/suilend/liquidity-mining/structs.d.ts +44 -44
  32. package/_generated/suilend/liquidity-mining/structs.js +122 -89
  33. package/_generated/suilend/obligation/structs.d.ts +98 -98
  34. package/_generated/suilend/obligation/structs.js +194 -121
  35. package/_generated/suilend/rate-limiter/structs.d.ts +12 -12
  36. package/_generated/suilend/rate-limiter/structs.js +46 -41
  37. package/_generated/suilend/reserve/structs.d.ts +128 -128
  38. package/_generated/suilend/reserve/structs.js +243 -153
  39. package/_generated/suilend/reserve-config/structs.d.ts +30 -30
  40. package/_generated/suilend/reserve-config/structs.js +60 -41
  41. package/api/events.js +5 -14
  42. package/client.js +267 -319
  43. package/lib/initialize.d.ts +2 -2
  44. package/lib/initialize.js +26 -31
  45. package/lib/liquidityMining.js +15 -19
  46. package/lib/pyth.js +6 -15
  47. package/lib/pythAdapter.js +96 -112
  48. package/lib/strategyOwnerCap.js +8 -17
  49. package/margin/margin/admin_cap.d.ts +2 -2
  50. package/margin/margin/deps/std/type_name.d.ts +1 -1
  51. package/margin/margin/deps/suilend/lending_market.d.ts +2 -2
  52. package/margin/margin/market.d.ts +11 -11
  53. package/margin/margin/market.js +22 -22
  54. package/margin/margin/permissions.js +14 -14
  55. package/margin/margin/position.d.ts +47 -47
  56. package/margin/margin/position.js +10 -10
  57. package/margin/margin/router.d.ts +5 -5
  58. package/margin/margin/router.js +16 -16
  59. package/margin/margin/version.d.ts +1 -1
  60. package/margin/utils/index.js +22 -36
  61. package/package.json +1 -1
  62. package/parsers/apiReserveAssetDataEvent.js +4 -1
  63. package/parsers/lendingMarket.js +3 -4
  64. package/parsers/reserve.js +4 -1
  65. package/strategies.js +188 -204
  66. package/swap/quote.d.ts +1 -1
  67. package/swap/quote.js +28 -39
  68. package/swap/transaction.js +17 -26
  69. package/utils/events.js +20 -32
  70. package/utils/obligation.js +111 -135
  71. package/utils/simulate.js +16 -24
@@ -61,36 +61,36 @@ export declare class ReserveConfig implements StructClass {
61
61
  static get r(): reified.StructClassReified<ReserveConfig, ReserveConfigFields>;
62
62
  static phantom(): PhantomReified<ToTypeStr<ReserveConfig>>;
63
63
  static get p(): reified.PhantomReified<"0x1f54a9a2d71799553197e9ea24557797c6398d6a65f2d4d3818c9304b75d5e21::reserve_config::ReserveConfig" | "0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::reserve_config::ReserveConfig">;
64
- static get bcs(): import("@mysten/sui/bcs").BcsStruct<{
65
- open_ltv_pct: import("@mysten/sui/bcs").BcsType<number, number, "u8">;
66
- close_ltv_pct: import("@mysten/sui/bcs").BcsType<number, number, "u8">;
67
- max_close_ltv_pct: import("@mysten/sui/bcs").BcsType<number, number, "u8">;
68
- borrow_weight_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
69
- deposit_limit: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
70
- borrow_limit: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
71
- liquidation_bonus_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
72
- max_liquidation_bonus_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
73
- deposit_limit_usd: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
74
- borrow_limit_usd: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
75
- interest_rate_utils: import("@mysten/sui/bcs").BcsType<number[], Iterable<number> & {
64
+ static get bcs(): import("@mysten/bcs").BcsStruct<{
65
+ open_ltv_pct: import("@mysten/bcs").BcsType<number, number, "u8">;
66
+ close_ltv_pct: import("@mysten/bcs").BcsType<number, number, "u8">;
67
+ max_close_ltv_pct: import("@mysten/bcs").BcsType<number, number, "u8">;
68
+ borrow_weight_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
69
+ deposit_limit: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
70
+ borrow_limit: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
71
+ liquidation_bonus_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
72
+ max_liquidation_bonus_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
73
+ deposit_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
74
+ borrow_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
75
+ interest_rate_utils: import("@mysten/bcs").BcsType<number[], Iterable<number> & {
76
76
  length: number;
77
77
  }, string>;
78
- interest_rate_aprs: import("@mysten/sui/bcs").BcsType<string[], Iterable<string | number | bigint> & {
78
+ interest_rate_aprs: import("@mysten/bcs").BcsType<string[], Iterable<string | number | bigint> & {
79
79
  length: number;
80
80
  }, string>;
81
- borrow_fee_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
82
- spread_fee_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
83
- protocol_liquidation_fee_bps: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
84
- isolated: import("@mysten/sui/bcs").BcsType<boolean, boolean, "bool">;
85
- open_attributed_borrow_limit_usd: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
86
- close_attributed_borrow_limit_usd: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
87
- additional_fields: import("@mysten/sui/bcs").BcsStruct<{
88
- id: import("@mysten/sui/bcs").BcsStruct<{
89
- id: import("@mysten/sui/bcs").BcsStruct<{
90
- bytes: import("@mysten/sui/bcs").BcsType<string, string, string>;
81
+ borrow_fee_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
82
+ spread_fee_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
83
+ protocol_liquidation_fee_bps: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
84
+ isolated: import("@mysten/bcs").BcsType<boolean, boolean, "bool">;
85
+ open_attributed_borrow_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
86
+ close_attributed_borrow_limit_usd: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
87
+ additional_fields: import("@mysten/bcs").BcsStruct<{
88
+ id: import("@mysten/bcs").BcsStruct<{
89
+ id: import("@mysten/bcs").BcsStruct<{
90
+ bytes: import("@mysten/bcs").BcsType<string, string, string>;
91
91
  }, string>;
92
92
  }, string>;
93
- size: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
93
+ size: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
94
94
  }, string>;
95
95
  }, string>;
96
96
  static fromFields(fields: Record<string, any>): ReserveConfig;
@@ -170,14 +170,14 @@ export declare class ReserveConfigBuilder implements StructClass {
170
170
  static get r(): reified.StructClassReified<ReserveConfigBuilder, ReserveConfigBuilderFields>;
171
171
  static phantom(): PhantomReified<ToTypeStr<ReserveConfigBuilder>>;
172
172
  static get p(): reified.PhantomReified<"0x1f54a9a2d71799553197e9ea24557797c6398d6a65f2d4d3818c9304b75d5e21::reserve_config::ReserveConfigBuilder" | "0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf::reserve_config::ReserveConfigBuilder">;
173
- static get bcs(): import("@mysten/sui/bcs").BcsStruct<{
174
- fields: import("@mysten/sui/bcs").BcsStruct<{
175
- id: import("@mysten/sui/bcs").BcsStruct<{
176
- id: import("@mysten/sui/bcs").BcsStruct<{
177
- bytes: import("@mysten/sui/bcs").BcsType<string, string, string>;
173
+ static get bcs(): import("@mysten/bcs").BcsStruct<{
174
+ fields: import("@mysten/bcs").BcsStruct<{
175
+ id: import("@mysten/bcs").BcsStruct<{
176
+ id: import("@mysten/bcs").BcsStruct<{
177
+ bytes: import("@mysten/bcs").BcsType<string, string, string>;
178
178
  }, string>;
179
179
  }, string>;
180
- size: import("@mysten/sui/bcs").BcsType<string, string | number | bigint, "u64">;
180
+ size: import("@mysten/bcs").BcsType<string, string | number | bigint, "u64">;
181
181
  }, string>;
182
182
  }, string>;
183
183
  static fromFields(fields: Record<string, any>): ReserveConfigBuilder;
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import * as reified from "../../_framework/reified.js";
11
2
  import { Bag } from "../../_dependencies/source/0x2/bag/structs.js";
12
3
  import { decodeFromFields, decodeFromFieldsWithTypes, decodeFromJSONField, fieldToJSON, phantom, } from "../../_framework/reified.js";
@@ -19,10 +10,34 @@ export function isReserveConfig(type) {
19
10
  return type === `${PKG_V1}::reserve_config::ReserveConfig`;
20
11
  }
21
12
  export class ReserveConfig {
13
+ __StructClass = true;
14
+ static $typeName = `${PKG_V1}::reserve_config::ReserveConfig`;
15
+ static $numTypeParams = 0;
16
+ static $isPhantom = [];
17
+ $typeName = ReserveConfig.$typeName;
18
+ $fullTypeName;
19
+ $typeArgs;
20
+ $isPhantom = ReserveConfig.$isPhantom;
21
+ openLtvPct;
22
+ closeLtvPct;
23
+ maxCloseLtvPct;
24
+ borrowWeightBps;
25
+ depositLimit;
26
+ borrowLimit;
27
+ liquidationBonusBps;
28
+ maxLiquidationBonusBps;
29
+ depositLimitUsd;
30
+ borrowLimitUsd;
31
+ interestRateUtils;
32
+ interestRateAprs;
33
+ borrowFeeBps;
34
+ spreadFeeBps;
35
+ protocolLiquidationFeeBps;
36
+ isolated;
37
+ openAttributedBorrowLimitUsd;
38
+ closeAttributedBorrowLimitUsd;
39
+ additionalFields;
22
40
  constructor(typeArgs, fields) {
23
- this.__StructClass = true;
24
- this.$typeName = ReserveConfig.$typeName;
25
- this.$isPhantom = ReserveConfig.$isPhantom;
26
41
  this.$fullTypeName = composeSuiType(ReserveConfig.$typeName, ...typeArgs);
27
42
  this.$typeArgs = typeArgs;
28
43
  this.openLtvPct = fields.openLtvPct;
@@ -58,7 +73,7 @@ export class ReserveConfig {
58
73
  bcs: ReserveConfig.bcs,
59
74
  fromJSONField: (field) => ReserveConfig.fromJSONField(field),
60
75
  fromJSON: (json) => ReserveConfig.fromJSON(json),
61
- fetch: (client, id) => __awaiter(this, void 0, void 0, function* () { return ReserveConfig.fetch(client, id); }),
76
+ fetch: async (client, id) => ReserveConfig.fetch(client, id),
62
77
  new: (fields) => {
63
78
  return new ReserveConfig([], fields);
64
79
  },
@@ -173,7 +188,11 @@ export class ReserveConfig {
173
188
  };
174
189
  }
175
190
  toJSON() {
176
- return Object.assign({ $typeName: this.$typeName, $typeArgs: this.$typeArgs }, this.toJSONField());
191
+ return {
192
+ $typeName: this.$typeName,
193
+ $typeArgs: this.$typeArgs,
194
+ ...this.toJSONField(),
195
+ };
177
196
  }
178
197
  static fromJSONField(field) {
179
198
  return ReserveConfig.reified().new({
@@ -204,29 +223,30 @@ export class ReserveConfig {
204
223
  }
205
224
  return ReserveConfig.fromJSONField(json);
206
225
  }
207
- static fetch(client, id) {
208
- return __awaiter(this, void 0, void 0, function* () {
209
- const { object } = yield client.getObject({ objectId: id, include: { content: true } });
210
- if (!isReserveConfig(object.type)) {
211
- throw new Error(`object at id ${id} is not a ReserveConfig object`);
212
- }
213
- return ReserveConfig.fromBcs(object.content);
214
- });
226
+ static async fetch(client, id) {
227
+ const { object } = await client.getObject({ objectId: id, include: { content: true } });
228
+ if (!isReserveConfig(object.type)) {
229
+ throw new Error(`object at id ${id} is not a ReserveConfig object`);
230
+ }
231
+ return ReserveConfig.fromBcs(object.content);
215
232
  }
216
233
  }
217
- ReserveConfig.$typeName = `${PKG_V1}::reserve_config::ReserveConfig`;
218
- ReserveConfig.$numTypeParams = 0;
219
- ReserveConfig.$isPhantom = [];
220
234
  /* ============================== ReserveConfigBuilder =============================== */
221
235
  export function isReserveConfigBuilder(type) {
222
236
  type = compressSuiType(type);
223
237
  return type === `${PKG_V1}::reserve_config::ReserveConfigBuilder`;
224
238
  }
225
239
  export class ReserveConfigBuilder {
240
+ __StructClass = true;
241
+ static $typeName = `${PKG_V1}::reserve_config::ReserveConfigBuilder`;
242
+ static $numTypeParams = 0;
243
+ static $isPhantom = [];
244
+ $typeName = ReserveConfigBuilder.$typeName;
245
+ $fullTypeName;
246
+ $typeArgs;
247
+ $isPhantom = ReserveConfigBuilder.$isPhantom;
248
+ fields;
226
249
  constructor(typeArgs, fields) {
227
- this.__StructClass = true;
228
- this.$typeName = ReserveConfigBuilder.$typeName;
229
- this.$isPhantom = ReserveConfigBuilder.$isPhantom;
230
250
  this.$fullTypeName = composeSuiType(ReserveConfigBuilder.$typeName, ...typeArgs);
231
251
  this.$typeArgs = typeArgs;
232
252
  this.fields = fields.fields;
@@ -244,7 +264,7 @@ export class ReserveConfigBuilder {
244
264
  bcs: ReserveConfigBuilder.bcs,
245
265
  fromJSONField: (field) => ReserveConfigBuilder.fromJSONField(field),
246
266
  fromJSON: (json) => ReserveConfigBuilder.fromJSON(json),
247
- fetch: (client, id) => __awaiter(this, void 0, void 0, function* () { return ReserveConfigBuilder.fetch(client, id); }),
267
+ fetch: async (client, id) => ReserveConfigBuilder.fetch(client, id),
248
268
  new: (fields) => {
249
269
  return new ReserveConfigBuilder([], fields);
250
270
  },
@@ -287,7 +307,11 @@ export class ReserveConfigBuilder {
287
307
  };
288
308
  }
289
309
  toJSON() {
290
- return Object.assign({ $typeName: this.$typeName, $typeArgs: this.$typeArgs }, this.toJSONField());
310
+ return {
311
+ $typeName: this.$typeName,
312
+ $typeArgs: this.$typeArgs,
313
+ ...this.toJSONField(),
314
+ };
291
315
  }
292
316
  static fromJSONField(field) {
293
317
  return ReserveConfigBuilder.reified().new({
@@ -300,16 +324,11 @@ export class ReserveConfigBuilder {
300
324
  }
301
325
  return ReserveConfigBuilder.fromJSONField(json);
302
326
  }
303
- static fetch(client, id) {
304
- return __awaiter(this, void 0, void 0, function* () {
305
- const { object } = yield client.getObject({ objectId: id, include: { content: true } });
306
- if (!isReserveConfigBuilder(object.type)) {
307
- throw new Error(`object at id ${id} is not a ReserveConfigBuilder object`);
308
- }
309
- return ReserveConfigBuilder.fromBcs(object.content);
310
- });
327
+ static async fetch(client, id) {
328
+ const { object } = await client.getObject({ objectId: id, include: { content: true } });
329
+ if (!isReserveConfigBuilder(object.type)) {
330
+ throw new Error(`object at id ${id} is not a ReserveConfigBuilder object`);
331
+ }
332
+ return ReserveConfigBuilder.fromBcs(object.content);
311
333
  }
312
334
  }
313
- ReserveConfigBuilder.$typeName = `${PKG_V1}::reserve_config::ReserveConfigBuilder`;
314
- ReserveConfigBuilder.$numTypeParams = 0;
315
- ReserveConfigBuilder.$isPhantom = [];
package/api/events.js CHANGED
@@ -1,19 +1,10 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { API_URL } from "@suilend/sui-fe";
1
+ import { API_URL } from "@suilend/sui-core";
11
2
  /**
12
3
  * Note: This SDK function is experimental and may change or require authentication in the future.
13
4
  */
14
- export const fetchDownsampledApiReserveAssetDataEvents = (reserveId, days, sampleIntervalS) => __awaiter(void 0, void 0, void 0, function* () {
5
+ export const fetchDownsampledApiReserveAssetDataEvents = async (reserveId, days, sampleIntervalS) => {
15
6
  const url = `${API_URL}/events/downsampled-reserve-asset-data?reserveId=${reserveId}&days=${days}&sampleIntervalS=${sampleIntervalS}`;
16
- const res = yield fetch(url);
17
- const json = yield res.json();
7
+ const res = await fetch(url);
8
+ const json = await res.json();
18
9
  return json;
19
- });
10
+ };