@suilend/sdk 1.0.2 → 1.0.3

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/core/client.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { SuiClient } from "@mysten/sui.js/client";
2
2
  import { TransactionBlock, TransactionObjectArgument, TransactionResult } from "@mysten/sui.js/transactions";
3
3
  import { SuiPriceServiceConnection, SuiPythClient } from "../pyth-sdk";
4
- import { AddPoolRewardArgs, AddReserveArgs, BorrowArgs, CancelPoolRewardArgs, ClaimRewardsAndDepositArgs, ClaimRewardsArgs, CreateRateLimiterConfigArgs, CreateReserveConfigArgs, DepositCtokensIntoObligationArgs, DepositLiquidityAndMintCtokensArgs, LiquidateArgs, ObjectArg, PhantomReified, RefreshReservePriceArgs, RepayArgs, Side, UpdateRateLimiterConfigArgs, UpdateReserveConfigArgs, WithdrawCtokensArgs } from "./types";
4
+ import { AddPoolRewardArgs, AddReserveArgs, BorrowArgs, CancelPoolRewardArgs, ClaimRewardsAndDepositArgs, ClaimRewardsArgs, ClosePoolRewardArgs, CreateRateLimiterConfigArgs, CreateReserveConfigArgs, DepositCtokensIntoObligationArgs, DepositLiquidityAndMintCtokensArgs, LiquidateArgs, MigrateArgs, ObjectArg, PhantomReified, RefreshReservePriceArgs, RepayArgs, Side, UpdateRateLimiterConfigArgs, UpdateReserveConfigArgs, WithdrawCtokensArgs } from "./types";
5
5
  interface Deps {
6
6
  phantom: (phantomType: string) => PhantomReified<string>;
7
7
  PACKAGE_ID: string;
@@ -15,6 +15,7 @@ interface Deps {
15
15
  addReserve: (txb: TransactionBlock, typeArgs: [string, string], args: AddReserveArgs) => TransactionResult;
16
16
  addPoolReward: (txb: TransactionBlock, typeArgs: [string, string], args: AddPoolRewardArgs) => TransactionResult;
17
17
  cancelPoolReward: (txb: TransactionBlock, typeArgs: [string, string], args: CancelPoolRewardArgs) => TransactionResult;
18
+ closePoolReward: (txb: TransactionBlock, typeArgs: [string, string], args: ClosePoolRewardArgs) => TransactionResult;
18
19
  claimRewards: (txb: TransactionBlock, typeArgs: [string, string], args: ClaimRewardsArgs) => TransactionResult;
19
20
  claimRewardsAndDeposit: (txb: TransactionBlock, typeArgs: [string, string], args: ClaimRewardsAndDepositArgs) => TransactionResult;
20
21
  createRateLimiterConfig: (txb: TransactionBlock, args: CreateRateLimiterConfigArgs) => TransactionResult;
@@ -26,6 +27,7 @@ interface Deps {
26
27
  borrow: (txb: TransactionBlock, typeArgs: [string, string], args: BorrowArgs) => TransactionResult;
27
28
  repay: (txb: TransactionBlock, typeArgs: [string, string], args: RepayArgs) => TransactionResult;
28
29
  liquidate: (txb: TransactionBlock, typeArgs: [string, string, string], args: LiquidateArgs) => TransactionResult;
30
+ migrate: (txb: TransactionBlock, typeArg: string, args: MigrateArgs) => TransactionResult;
29
31
  }
30
32
  export declare class SuilendClient {
31
33
  lendingMarket: any;
@@ -44,6 +46,7 @@ export declare class SuilendClient {
44
46
  addReserveFunction: Deps["addReserve"];
45
47
  addPoolRewardFunction: Deps["addPoolReward"];
46
48
  cancelPoolRewardFunction: Deps["cancelPoolReward"];
49
+ closePoolRewardFunction: Deps["closePoolReward"];
47
50
  claimRewardsFunction: Deps["claimRewards"];
48
51
  claimRewardsAndDepositFunction: Deps["claimRewardsAndDeposit"];
49
52
  createRateLimiterConfigFunction: Deps["createRateLimiterConfig"];
@@ -55,7 +58,8 @@ export declare class SuilendClient {
55
58
  borrowFunction: Deps["borrow"];
56
59
  repayFunction: Deps["repay"];
57
60
  liquidateFunction: Deps["liquidate"];
58
- constructor(lendingMarket: any, client: SuiClient, { phantom, PACKAGE_ID, PUBLISHED_AT, LendingMarket, Obligation, ObligationOwnerCap, createLendingMarket, createReserveConfig, updateReserveConfig, addReserve, addPoolReward, cancelPoolReward, claimRewards, claimRewardsAndDeposit, createRateLimiterConfig, updateRateLimiterConfig, refreshReservePrice, depositLiquidityAndMintCtokens, depositCtokensIntoObligation, withdrawCtokens, borrow, repay, liquidate, }: Deps);
61
+ migrateFunction: Deps["migrate"];
62
+ constructor(lendingMarket: any, client: SuiClient, { phantom, PACKAGE_ID, PUBLISHED_AT, LendingMarket, Obligation, ObligationOwnerCap, createLendingMarket, createReserveConfig, updateReserveConfig, addReserve, addPoolReward, cancelPoolReward, closePoolReward, claimRewards, claimRewardsAndDeposit, createRateLimiterConfig, updateRateLimiterConfig, refreshReservePrice, depositLiquidityAndMintCtokens, depositCtokensIntoObligation, withdrawCtokens, borrow, repay, liquidate, migrate, }: Deps);
59
63
  static initialize(lendingMarketId: string, lendingMarketType: string, client: SuiClient, deps: Deps): Promise<SuilendClient>;
60
64
  static initializeWithLendingMarket(lendingMarket: any, client: SuiClient, deps: Deps): Promise<SuilendClient>;
61
65
  static hasBetaPass(ownerId: string, client: SuiClient): Promise<boolean>;
@@ -72,6 +76,7 @@ export declare class SuilendClient {
72
76
  createReserve(lendingMarketOwnerCapId: string, txb: TransactionBlock, pythPriceId: string, coinType: string, createReserveConfigArgs: CreateReserveConfigArgs): Promise<TransactionResult>;
73
77
  addReward(ownerId: string, lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardCoinType: string, rewardValue: string, startTimeMs: bigint, endTimeMs: bigint, txb: TransactionBlock): Promise<TransactionResult>;
74
78
  cancelReward(lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardIndex: bigint, rewardCoinType: string, txb: TransactionBlock): TransactionResult;
79
+ closeReward(lendingMarketOwnerCapId: string, reserveArrayIndex: bigint, isDepositReward: boolean, rewardIndex: bigint, rewardCoinType: string, txb: TransactionBlock): TransactionResult;
75
80
  claimReward(obligationOwnerCapId: string, reserveArrayIndex: bigint, rewardIndex: bigint, rewardType: string, side: Side, txb: TransactionBlock): TransactionResult;
76
81
  claimRewardsAndDeposit(obligationId: string, rewardReserveArrayIndex: bigint, rewardIndex: bigint, rewardType: string, side: Side, depositReserveArrayIndex: bigint, txb: TransactionBlock): TransactionResult;
77
82
  claimRewardsToObligation(ownerId: string, rewards: Array<{
@@ -97,5 +102,6 @@ export declare class SuilendClient {
97
102
  repayIntoObligation(ownerId: string, obligationId: string, coinType: string, value: string, txb: TransactionBlock): Promise<TransactionResult>;
98
103
  liquidateAndRedeem(txb: TransactionBlock, obligation: typeof this.Obligation, repayCoinType: string, withdrawCoinType: string, repayCoinId: any): Promise<TransactionResult>;
99
104
  liquidate(txb: TransactionBlock, obligation: typeof this.Obligation, repayCoinType: string, withdrawCoinType: string, repayCoinId: any): Promise<TransactionResult>;
105
+ migrate(txb: TransactionBlock, lendingMarketOwnerCapId: string): Promise<TransactionResult>;
100
106
  }
101
107
  export {};
package/core/client.js CHANGED
@@ -18,7 +18,7 @@ const WORMHOLE_STATE_ID = "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6e
18
18
  const PYTH_STATE_ID = "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8";
19
19
  const SUI_COINTYPE = "0x2::sui::SUI";
20
20
  class SuilendClient {
21
- constructor(lendingMarket, client, { phantom, PACKAGE_ID, PUBLISHED_AT, LendingMarket, Obligation, ObligationOwnerCap, createLendingMarket, createReserveConfig, updateReserveConfig, addReserve, addPoolReward, cancelPoolReward, claimRewards, claimRewardsAndDeposit, createRateLimiterConfig, updateRateLimiterConfig, refreshReservePrice, depositLiquidityAndMintCtokens, depositCtokensIntoObligation, withdrawCtokens, borrow, repay, liquidate, }) {
21
+ constructor(lendingMarket, client, { phantom, PACKAGE_ID, PUBLISHED_AT, LendingMarket, Obligation, ObligationOwnerCap, createLendingMarket, createReserveConfig, updateReserveConfig, addReserve, addPoolReward, cancelPoolReward, closePoolReward, claimRewards, claimRewardsAndDeposit, createRateLimiterConfig, updateRateLimiterConfig, refreshReservePrice, depositLiquidityAndMintCtokens, depositCtokensIntoObligation, withdrawCtokens, borrow, repay, liquidate, migrate, }) {
22
22
  this.lendingMarket = lendingMarket;
23
23
  this.client = client;
24
24
  this.pythClient = new src_1.SuiPythClient(client, PYTH_STATE_ID, WORMHOLE_STATE_ID);
@@ -35,6 +35,7 @@ class SuilendClient {
35
35
  this.addReserveFunction = addReserve;
36
36
  this.addPoolRewardFunction = addPoolReward;
37
37
  this.cancelPoolRewardFunction = cancelPoolReward;
38
+ this.closePoolRewardFunction = closePoolReward;
38
39
  this.claimRewardsFunction = claimRewards;
39
40
  this.claimRewardsAndDepositFunction = claimRewardsAndDeposit;
40
41
  this.createRateLimiterConfigFunction = createRateLimiterConfig;
@@ -47,6 +48,7 @@ class SuilendClient {
47
48
  this.borrowFunction = borrow;
48
49
  this.repayFunction = repay;
49
50
  this.liquidateFunction = liquidate;
51
+ this.migrateFunction = migrate;
50
52
  }
51
53
  static initialize(lendingMarketId, lendingMarketType, client, deps) {
52
54
  return __awaiter(this, void 0, void 0, function* () {
@@ -205,6 +207,16 @@ class SuilendClient {
205
207
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
206
208
  });
207
209
  }
210
+ closeReward(lendingMarketOwnerCapId, reserveArrayIndex, isDepositReward, rewardIndex, rewardCoinType, txb) {
211
+ return this.closePoolRewardFunction(txb, [this.lendingMarket.$typeArgs[0], rewardCoinType], {
212
+ lendingMarketOwnerCap: lendingMarketOwnerCapId,
213
+ lendingMarket: this.lendingMarket.id,
214
+ reserveArrayIndex,
215
+ isDepositReward,
216
+ rewardIndex,
217
+ clock: utils_1.SUI_CLOCK_OBJECT_ID,
218
+ });
219
+ }
208
220
  claimReward(obligationOwnerCapId, reserveArrayIndex, rewardIndex, rewardType, side, txb) {
209
221
  return this.claimRewardsFunction(txb, [this.lendingMarket.$typeArgs[0], rewardType], {
210
222
  lendingMarket: txb.object(this.lendingMarket.id),
@@ -474,5 +486,13 @@ class SuilendClient {
474
486
  });
475
487
  });
476
488
  }
489
+ migrate(txb, lendingMarketOwnerCapId) {
490
+ return __awaiter(this, void 0, void 0, function* () {
491
+ return this.migrateFunction(txb, this.lendingMarket.$typeArgs[0], {
492
+ lendingMarket: this.lendingMarket.id,
493
+ lendingMarketOwnerCap: lendingMarketOwnerCapId,
494
+ });
495
+ });
496
+ }
477
497
  }
478
498
  exports.SuilendClient = SuilendClient;
@@ -88,7 +88,10 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
88
88
  }[];
89
89
  lastUpdateTimeMs: any;
90
90
  };
91
- totalDeposits: BigNumber;
91
+ availableAmountUsd: BigNumber;
92
+ borrowedAmountUsd: BigNumber;
93
+ depositedAmount: BigNumber;
94
+ depositedAmountUsd: BigNumber;
92
95
  cTokenExchangeRate: BigNumber;
93
96
  borrowAprPercent: BigNumber;
94
97
  depositAprPercent: BigNumber;
@@ -97,10 +100,14 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
97
100
  name: string;
98
101
  iconUrl: string | null | undefined;
99
102
  description: string;
103
+ totalDeposits: BigNumber;
100
104
  }[];
101
105
  rateLimiter: {
102
106
  config: {
103
107
  windowDuration: any;
108
+ /**
109
+ * @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
110
+ */
104
111
  maxOutflow: any;
105
112
  };
106
113
  $typeName: any;
@@ -109,7 +116,15 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
109
116
  curQty: any;
110
117
  remainingOutflow: BigNumber;
111
118
  };
119
+ depositedAmountUsd: BigNumber;
120
+ borrowedAmountUsd: BigNumber;
121
+ tvlUsd: BigNumber;
122
+ /**
123
+ * @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
124
+ */
112
125
  totalSupplyUsd: BigNumber;
126
+ /**
127
+ * @deprecated since version 1.0.3. Use `borrowedAmountUsd` instead.
128
+ */
113
129
  totalBorrowUsd: BigNumber;
114
- tvlUsd: BigNumber;
115
130
  };
@@ -11,20 +11,29 @@ const parseLendingMarket = ({ LendingMarket, Reserve, PoolRewardManager, PoolRew
11
11
  const parsedReserves = reserves.map((reserve) => (0, reserve_1.parseReserve)({ Reserve, PoolRewardManager, PoolReward, simulate }, reserve, coinMetadataMap));
12
12
  const parsedRateLimiter = (0, rateLimiter_1.parseRateLimiter)({ RateLimiter }, lendingMarket.rateLimiter, currentTime);
13
13
  // Custom
14
- let totalSupplyUsd = new bignumber_js_1.default(0);
15
- let totalBorrowUsd = new bignumber_js_1.default(0);
14
+ let depositedAmountUsd = new bignumber_js_1.default(0);
15
+ let borrowedAmountUsd = new bignumber_js_1.default(0);
16
16
  let tvlUsd = new bignumber_js_1.default(0);
17
- parsedReserves.forEach((properties) => {
18
- totalSupplyUsd = totalSupplyUsd.plus(properties.totalDeposits.times(properties.price));
19
- totalBorrowUsd = totalBorrowUsd.plus(properties.borrowedAmount.times(properties.price));
20
- tvlUsd = tvlUsd.plus(properties.availableAmount.times(properties.price));
17
+ parsedReserves.forEach((parsedReserve) => {
18
+ depositedAmountUsd = depositedAmountUsd.plus(parsedReserve.depositedAmountUsd);
19
+ borrowedAmountUsd = borrowedAmountUsd.plus(parsedReserve.borrowedAmountUsd);
20
+ tvlUsd = tvlUsd.plus(parsedReserve.availableAmountUsd);
21
21
  });
22
22
  return {
23
23
  reserves: parsedReserves,
24
24
  rateLimiter: parsedRateLimiter,
25
- totalSupplyUsd,
26
- totalBorrowUsd,
25
+ depositedAmountUsd,
26
+ borrowedAmountUsd,
27
27
  tvlUsd,
28
+ // Deprecated
29
+ /**
30
+ * @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
31
+ */
32
+ totalSupplyUsd: depositedAmountUsd,
33
+ /**
34
+ * @deprecated since version 1.0.3. Use `borrowedAmountUsd` instead.
35
+ */
36
+ totalBorrowUsd: borrowedAmountUsd,
28
37
  };
29
38
  };
30
39
  exports.parseLendingMarket = parseLendingMarket;
@@ -7,20 +7,22 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
7
7
  [coinType: string]: ParsedReserve;
8
8
  }) => {
9
9
  id: any;
10
- totalSupplyUsd: BigNumber;
11
- totalBorrowUsd: BigNumber;
12
- totalWeightedBorrowUsd: BigNumber;
10
+ depositedAmountUsd: BigNumber;
11
+ borrowedAmountUsd: BigNumber;
13
12
  netValueUsd: BigNumber;
14
- borrowLimit: BigNumber;
13
+ weightedBorrowsUsd: BigNumber;
14
+ maxPriceWeightedBorrowsUsd: BigNumber;
15
+ borrowLimitUsd: BigNumber;
16
+ minPriceBorrowLimitUsd: BigNumber;
15
17
  unhealthyBorrowValueUsd: BigNumber;
16
18
  positionCount: number;
17
19
  deposits: {
18
20
  coinType: string;
19
21
  reserveArrayIndex: any;
20
22
  userRewardManagerIndex: number;
23
+ userRewardManager: any;
21
24
  depositedAmount: BigNumber;
22
25
  depositedAmountUsd: BigNumber;
23
- userRewardManager: any;
24
26
  reserve: {
25
27
  config: {
26
28
  $typeName: any;
@@ -106,7 +108,10 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
106
108
  }[];
107
109
  lastUpdateTimeMs: any;
108
110
  };
109
- totalDeposits: BigNumber;
111
+ availableAmountUsd: BigNumber;
112
+ borrowedAmountUsd: BigNumber;
113
+ depositedAmount: BigNumber;
114
+ depositedAmountUsd: BigNumber;
110
115
  cTokenExchangeRate: BigNumber;
111
116
  borrowAprPercent: BigNumber;
112
117
  depositAprPercent: BigNumber;
@@ -115,6 +120,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
115
120
  name: string;
116
121
  iconUrl: string | null | undefined;
117
122
  description: string;
123
+ totalDeposits: BigNumber;
118
124
  };
119
125
  original: any;
120
126
  }[];
@@ -122,9 +128,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
122
128
  coinType: string;
123
129
  reserveArrayIndex: any;
124
130
  userRewardManagerIndex: number;
131
+ userRewardManager: any;
125
132
  borrowedAmount: BigNumber;
126
133
  borrowedAmountUsd: BigNumber;
127
- userRewardManager: any;
128
134
  reserve: {
129
135
  config: {
130
136
  $typeName: any;
@@ -210,7 +216,10 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
210
216
  }[];
211
217
  lastUpdateTimeMs: any;
212
218
  };
213
- totalDeposits: BigNumber;
219
+ availableAmountUsd: BigNumber;
220
+ borrowedAmountUsd: BigNumber;
221
+ depositedAmount: BigNumber;
222
+ depositedAmountUsd: BigNumber;
214
223
  cTokenExchangeRate: BigNumber;
215
224
  borrowAprPercent: BigNumber;
216
225
  depositAprPercent: BigNumber;
@@ -219,11 +228,34 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
219
228
  name: string;
220
229
  iconUrl: string | null | undefined;
221
230
  description: string;
231
+ totalDeposits: BigNumber;
222
232
  };
223
233
  original: any;
224
234
  }[];
225
- minPriceBorrowLimit: BigNumber;
226
- maxPriceTotalWeightedBorrowUsd: BigNumber;
227
235
  weightedConservativeBorrowUtilizationPercent: BigNumber;
228
236
  original: any;
237
+ /**
238
+ * @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
239
+ */
240
+ totalSupplyUsd: BigNumber;
241
+ /**
242
+ * @deprecated since version 1.0.3. Use `borrowedAmountUsd` instead.
243
+ */
244
+ totalBorrowUsd: BigNumber;
245
+ /**
246
+ * @deprecated since version 1.0.3. Use `weightedBorrowsUsd` instead.
247
+ */
248
+ totalWeightedBorrowUsd: BigNumber;
249
+ /**
250
+ * @deprecated since version 1.0.3. Use `maxPriceWeightedBorrowsUsd` instead.
251
+ */
252
+ maxPriceTotalWeightedBorrowUsd: BigNumber;
253
+ /**
254
+ * @deprecated since version 1.0.3. Use `borrowLimitUsd` instead.
255
+ */
256
+ borrowLimit: BigNumber;
257
+ /**
258
+ * @deprecated since version 1.0.3. Use `minPriceBorrowLimitUsd` instead.
259
+ */
260
+ minPriceBorrowLimit: BigNumber;
229
261
  };
@@ -8,15 +8,15 @@ const utils_1 = require("@mysten/sui.js/utils");
8
8
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
9
  const constants_1 = require("../constants");
10
10
  const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
11
- let totalSupplyUsd = new bignumber_js_1.default(0);
12
- let totalBorrowUsd = new bignumber_js_1.default(0);
13
- let borrowLimit = new bignumber_js_1.default(0);
14
- let minPriceBorrowLimit = new bignumber_js_1.default(0);
11
+ let totalDepositedAmountUsd = new bignumber_js_1.default(0);
12
+ let totalBorrowedAmountUsd = new bignumber_js_1.default(0);
13
+ let weightedBorrowsUsd = new bignumber_js_1.default(0);
14
+ let maxPriceWeightedBorrowsUsd = new bignumber_js_1.default(0);
15
+ let borrowLimitUsd = new bignumber_js_1.default(0);
16
+ let minPriceBorrowLimitUsd = new bignumber_js_1.default(0);
15
17
  let unhealthyBorrowValueUsd = new bignumber_js_1.default(0);
16
- let totalWeightedBorrowUsd = new bignumber_js_1.default(0);
17
- let maxPriceTotalWeightedBorrowUsd = new bignumber_js_1.default(0);
18
- const positionCount = obligation.deposits.filter((pos) => pos.depositedCtokenAmount.toString() !== "0").length +
19
- obligation.borrows.filter((pos) => pos.borrowedAmount.value.toString() !== "0").length;
18
+ const positionCount = obligation.deposits.filter((deposit) => new bignumber_js_1.default(deposit.depositedCtokenAmount.toString()).gt(0)).length +
19
+ obligation.borrows.filter((borrow) => new bignumber_js_1.default(borrow.borrowedAmount.value.toString()).gt(0)).length;
20
20
  const deposits = obligation.deposits.map((deposit) => {
21
21
  const coinType = (0, utils_1.normalizeStructTag)(deposit.coinType.name);
22
22
  const reserve = parsedReserveMap[coinType];
@@ -25,22 +25,22 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
25
25
  const depositedCtokenAmount = new bignumber_js_1.default(deposit.depositedCtokenAmount.toString()).div(10 ** reserve.mintDecimals);
26
26
  const depositedAmount = depositedCtokenAmount.times(reserve.cTokenExchangeRate);
27
27
  const depositedAmountUsd = depositedAmount.times(reserve.price);
28
- totalSupplyUsd = totalSupplyUsd.plus(depositedAmountUsd);
29
- minPriceBorrowLimit = minPriceBorrowLimit.plus(depositedAmount
28
+ totalDepositedAmountUsd = totalDepositedAmountUsd.plus(depositedAmountUsd);
29
+ borrowLimitUsd = borrowLimitUsd.plus(depositedAmountUsd.times(reserve.config.openLtvPct / 100));
30
+ minPriceBorrowLimitUsd = minPriceBorrowLimitUsd.plus(depositedAmount
30
31
  .times(reserve.minPrice)
31
32
  .times(reserve.config.openLtvPct / 100));
32
- borrowLimit = borrowLimit.plus(depositedAmountUsd.times(reserve.config.openLtvPct / 100));
33
33
  unhealthyBorrowValueUsd = unhealthyBorrowValueUsd.plus(depositedAmountUsd.times(reserve.config.closeLtvPct / 100));
34
+ const reserveArrayIndex = deposit.reserveArrayIndex;
34
35
  const userRewardManagerIndex = Number(deposit.userRewardManagerIndex.toString());
35
36
  const userRewardManager = obligation.userRewardManagers[userRewardManagerIndex];
36
- const reserveArrayIndex = deposit.reserveArrayIndex;
37
37
  return {
38
38
  coinType,
39
39
  reserveArrayIndex,
40
40
  userRewardManagerIndex,
41
+ userRewardManager,
41
42
  depositedAmount,
42
43
  depositedAmountUsd,
43
- userRewardManager,
44
44
  reserve,
45
45
  original: obligation,
46
46
  };
@@ -50,50 +50,75 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
50
50
  const reserve = parsedReserveMap[coinType];
51
51
  if (!reserve)
52
52
  throw new Error(`Reserve with coinType ${borrow.coinType.name} not found`);
53
- const reserveCumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD.toString());
53
+ const cumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD.toString());
54
54
  const borrowedAmountInitial = new bignumber_js_1.default(borrow.borrowedAmount.value.toString())
55
55
  .div(constants_1.WAD.toString())
56
56
  .div(10 ** reserve.mintDecimals);
57
- const borrowInterestIndex = reserve.cumulativeBorrowRate.div(reserveCumulativeBorrowRate);
57
+ const borrowInterestIndex = reserve.cumulativeBorrowRate.div(cumulativeBorrowRate);
58
58
  const borrowedAmount = borrowedAmountInitial.times(borrowInterestIndex);
59
59
  const borrowedAmountUsd = borrowedAmount.times(reserve.price);
60
60
  const borrowWeight = reserve.config.borrowWeightBps / 10000;
61
- totalBorrowUsd = totalBorrowUsd.plus(borrowedAmountUsd);
62
- totalWeightedBorrowUsd = totalWeightedBorrowUsd.plus(borrowedAmountUsd.times(borrowWeight));
63
- maxPriceTotalWeightedBorrowUsd = maxPriceTotalWeightedBorrowUsd.plus(borrowedAmount.times(reserve.maxPrice).times(borrowWeight));
61
+ totalBorrowedAmountUsd = totalBorrowedAmountUsd.plus(borrowedAmountUsd);
62
+ weightedBorrowsUsd = weightedBorrowsUsd.plus(borrowedAmountUsd.times(borrowWeight));
63
+ maxPriceWeightedBorrowsUsd = maxPriceWeightedBorrowsUsd.plus(borrowedAmount.times(reserve.maxPrice).times(borrowWeight));
64
+ const reserveArrayIndex = borrow.reserveArrayIndex;
64
65
  const userRewardManagerIndex = Number(borrow.userRewardManagerIndex.toString());
65
66
  const userRewardManager = obligation.userRewardManagers[userRewardManagerIndex];
66
- const reserveArrayIndex = borrow.reserveArrayIndex;
67
67
  return {
68
68
  coinType,
69
69
  reserveArrayIndex,
70
70
  userRewardManagerIndex,
71
+ userRewardManager,
71
72
  borrowedAmount,
72
73
  borrowedAmountUsd,
73
- userRewardManager,
74
74
  reserve,
75
75
  original: obligation,
76
76
  };
77
77
  });
78
- const netValueUsd = totalSupplyUsd.minus(totalBorrowUsd);
79
- const weightedConservativeBorrowUtilizationPercent = minPriceBorrowLimit.isZero()
78
+ const netValueUsd = totalDepositedAmountUsd.minus(totalBorrowedAmountUsd);
79
+ const weightedConservativeBorrowUtilizationPercent = minPriceBorrowLimitUsd.isZero()
80
80
  ? new bignumber_js_1.default(0)
81
- : maxPriceTotalWeightedBorrowUsd.div(minPriceBorrowLimit).times(100);
81
+ : maxPriceWeightedBorrowsUsd.div(minPriceBorrowLimitUsd).times(100);
82
82
  return {
83
83
  id: obligation.id,
84
- totalSupplyUsd,
85
- totalBorrowUsd,
86
- totalWeightedBorrowUsd,
84
+ depositedAmountUsd: totalDepositedAmountUsd,
85
+ borrowedAmountUsd: totalBorrowedAmountUsd,
87
86
  netValueUsd,
88
- borrowLimit,
87
+ weightedBorrowsUsd,
88
+ maxPriceWeightedBorrowsUsd,
89
+ borrowLimitUsd,
90
+ minPriceBorrowLimitUsd,
89
91
  unhealthyBorrowValueUsd,
90
92
  positionCount,
91
93
  deposits,
92
94
  borrows,
93
- minPriceBorrowLimit,
94
- maxPriceTotalWeightedBorrowUsd,
95
95
  weightedConservativeBorrowUtilizationPercent,
96
96
  original: obligation,
97
+ // Deprecated
98
+ /**
99
+ * @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
100
+ */
101
+ totalSupplyUsd: totalDepositedAmountUsd,
102
+ /**
103
+ * @deprecated since version 1.0.3. Use `borrowedAmountUsd` instead.
104
+ */
105
+ totalBorrowUsd: totalBorrowedAmountUsd,
106
+ /**
107
+ * @deprecated since version 1.0.3. Use `weightedBorrowsUsd` instead.
108
+ */
109
+ totalWeightedBorrowUsd: weightedBorrowsUsd,
110
+ /**
111
+ * @deprecated since version 1.0.3. Use `maxPriceWeightedBorrowsUsd` instead.
112
+ */
113
+ maxPriceTotalWeightedBorrowUsd: maxPriceWeightedBorrowsUsd,
114
+ /**
115
+ * @deprecated since version 1.0.3. Use `borrowLimitUsd` instead.
116
+ */
117
+ borrowLimit: borrowLimitUsd,
118
+ /**
119
+ * @deprecated since version 1.0.3. Use `minPriceBorrowLimitUsd` instead.
120
+ */
121
+ minPriceBorrowLimit: minPriceBorrowLimitUsd,
97
122
  };
98
123
  };
99
124
  exports.parseObligation = parseObligation;
@@ -90,7 +90,10 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
90
90
  }[];
91
91
  lastUpdateTimeMs: any;
92
92
  };
93
- totalDeposits: BigNumber;
93
+ availableAmountUsd: BigNumber;
94
+ borrowedAmountUsd: BigNumber;
95
+ depositedAmount: BigNumber;
96
+ depositedAmountUsd: BigNumber;
94
97
  cTokenExchangeRate: BigNumber;
95
98
  borrowAprPercent: BigNumber;
96
99
  depositAprPercent: BigNumber;
@@ -99,6 +102,10 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
99
102
  name: string;
100
103
  iconUrl: string | null | undefined;
101
104
  description: string;
105
+ /**
106
+ * @deprecated since version 1.0.3. Use `depositedAmount` instead.
107
+ */
108
+ totalDeposits: BigNumber;
102
109
  };
103
110
  export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, reserve: any) => {
104
111
  $typeName: any;
@@ -37,9 +37,12 @@ const parseReserve = ({ Reserve, PoolRewardManager, PoolReward, simulate, }, res
37
37
  const depositsPoolRewardManager = (0, exports.parsePoolRewardManager)({ PoolRewardManager, PoolReward }, reserve.depositsPoolRewardManager, coinMetadataMap);
38
38
  const borrowsPoolRewardManager = (0, exports.parsePoolRewardManager)({ PoolRewardManager, PoolReward }, reserve.borrowsPoolRewardManager, coinMetadataMap);
39
39
  // Custom
40
- const totalDeposits = borrowedAmount
40
+ const availableAmountUsd = availableAmount.times(price);
41
+ const borrowedAmountUsd = borrowedAmount.times(price);
42
+ const depositedAmount = borrowedAmount
41
43
  .plus(availableAmount)
42
44
  .minus(unclaimedSpreadFees);
45
+ const depositedAmountUsd = depositedAmount.times(price);
43
46
  const cTokenExchangeRate = simulate.cTokenRatio(reserve);
44
47
  const borrowAprPercent = simulate.calculateBorrowApr(reserve);
45
48
  const depositAprPercent = simulate.calculateSupplyApr(reserve);
@@ -72,7 +75,10 @@ const parseReserve = ({ Reserve, PoolRewardManager, PoolReward, simulate, }, res
72
75
  attributedBorrowValue,
73
76
  depositsPoolRewardManager,
74
77
  borrowsPoolRewardManager,
75
- totalDeposits,
78
+ availableAmountUsd,
79
+ borrowedAmountUsd,
80
+ depositedAmount,
81
+ depositedAmountUsd,
76
82
  cTokenExchangeRate,
77
83
  borrowAprPercent,
78
84
  depositAprPercent,
@@ -81,6 +87,11 @@ const parseReserve = ({ Reserve, PoolRewardManager, PoolReward, simulate, }, res
81
87
  name,
82
88
  iconUrl,
83
89
  description,
90
+ // Deprecated
91
+ /**
92
+ * @deprecated since version 1.0.3. Use `depositedAmount` instead.
93
+ */
94
+ totalDeposits: depositedAmount,
84
95
  };
85
96
  };
86
97
  exports.parseReserve = parseReserve;
package/core/types.d.ts CHANGED
@@ -585,6 +585,14 @@ export interface CancelPoolRewardArgs {
585
585
  rewardIndex: bigint | TransactionArgument;
586
586
  clock: ObjectArg;
587
587
  }
588
+ export interface ClosePoolRewardArgs {
589
+ lendingMarketOwnerCap: ObjectArg;
590
+ lendingMarket: ObjectArg;
591
+ reserveArrayIndex: bigint | TransactionArgument;
592
+ isDepositReward: boolean | TransactionArgument;
593
+ rewardIndex: bigint | TransactionArgument;
594
+ clock: ObjectArg;
595
+ }
588
596
  export interface ClaimRewardsArgs {
589
597
  lendingMarket: ObjectArg;
590
598
  cap: ObjectArg;
@@ -660,3 +668,7 @@ export interface LiquidateArgs {
660
668
  clock: ObjectArg;
661
669
  repayCoins: ObjectArg;
662
670
  }
671
+ export interface MigrateArgs {
672
+ lendingMarketOwnerCap: ObjectArg;
673
+ lendingMarket: ObjectArg;
674
+ }
package/mainnet/client.js CHANGED
@@ -34,6 +34,7 @@ const deps = {
34
34
  addReserve: functions_1.addReserve,
35
35
  addPoolReward: functions_1.addPoolReward,
36
36
  cancelPoolReward: functions_1.cancelPoolReward,
37
+ closePoolReward: functions_1.closePoolReward,
37
38
  claimRewards: functions_1.claimRewards,
38
39
  claimRewardsAndDeposit: functions_1.claimRewardsAndDeposit,
39
40
  createRateLimiterConfig: functions_3.newConfig,
@@ -45,6 +46,7 @@ const deps = {
45
46
  borrow: functions_1.borrow,
46
47
  repay: functions_1.repay,
47
48
  liquidate: functions_1.liquidate,
49
+ migrate: functions_1.migrate,
48
50
  };
49
51
  class SuilendClient extends client_1.SuilendClient {
50
52
  constructor(lendingMarket, client) {
@@ -88,7 +88,10 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
88
88
  }[];
89
89
  lastUpdateTimeMs: any;
90
90
  };
91
- totalDeposits: import("bignumber.js").BigNumber;
91
+ availableAmountUsd: import("bignumber.js").BigNumber;
92
+ borrowedAmountUsd: import("bignumber.js").BigNumber;
93
+ depositedAmount: import("bignumber.js").BigNumber;
94
+ depositedAmountUsd: import("bignumber.js").BigNumber;
92
95
  cTokenExchangeRate: import("bignumber.js").BigNumber;
93
96
  borrowAprPercent: import("bignumber.js").BigNumber;
94
97
  depositAprPercent: import("bignumber.js").BigNumber;
@@ -97,6 +100,7 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
97
100
  name: string;
98
101
  iconUrl: string | null | undefined;
99
102
  description: string;
103
+ totalDeposits: import("bignumber.js").BigNumber;
100
104
  }[];
101
105
  rateLimiter: {
102
106
  config: {
@@ -109,7 +113,9 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
109
113
  curQty: any;
110
114
  remainingOutflow: import("bignumber.js").BigNumber;
111
115
  };
116
+ depositedAmountUsd: import("bignumber.js").BigNumber;
117
+ borrowedAmountUsd: import("bignumber.js").BigNumber;
118
+ tvlUsd: import("bignumber.js").BigNumber;
112
119
  totalSupplyUsd: import("bignumber.js").BigNumber;
113
120
  totalBorrowUsd: import("bignumber.js").BigNumber;
114
- tvlUsd: import("bignumber.js").BigNumber;
115
121
  };
@@ -90,7 +90,10 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
90
90
  }[];
91
91
  lastUpdateTimeMs: any;
92
92
  };
93
- totalDeposits: import("bignumber.js").BigNumber;
93
+ availableAmountUsd: import("bignumber.js").BigNumber;
94
+ borrowedAmountUsd: import("bignumber.js").BigNumber;
95
+ depositedAmount: import("bignumber.js").BigNumber;
96
+ depositedAmountUsd: import("bignumber.js").BigNumber;
94
97
  cTokenExchangeRate: import("bignumber.js").BigNumber;
95
98
  borrowAprPercent: import("bignumber.js").BigNumber;
96
99
  depositAprPercent: import("bignumber.js").BigNumber;
@@ -99,6 +102,7 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
99
102
  name: string;
100
103
  iconUrl: string | null | undefined;
101
104
  description: string;
105
+ totalDeposits: import("bignumber.js").BigNumber;
102
106
  };
103
107
  export declare const parseReserveConfig: (reserve: Reserve<string>) => {
104
108
  $typeName: any;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@suilend/sdk","version":"1.0.2","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./mainnet/client":"./mainnet/client.js","./mainnet/constants":"./mainnet/constants.js","./mainnet":"./mainnet/index.js","./mainnet/types":"./mainnet/types.js","./mainnet/utils":"./mainnet/utils/index.js","./pyth-sdk/SuiPriceServiceConnection":"./pyth-sdk/SuiPriceServiceConnection.js","./pyth-sdk/client":"./pyth-sdk/client.js","./pyth-sdk":"./pyth-sdk/index.js","./mainnet/parsers":"./mainnet/parsers/index.js","./mainnet/parsers/lendingMarket":"./mainnet/parsers/lendingMarket.js","./mainnet/parsers/obligation":"./mainnet/parsers/obligation.js","./mainnet/parsers/rateLimiter":"./mainnet/parsers/rateLimiter.js","./mainnet/parsers/reserve":"./mainnet/parsers/reserve.js","./mainnet/utils/events":"./mainnet/utils/events.js","./mainnet/utils/obligation":"./mainnet/utils/obligation.js","./mainnet/utils/simulate":"./mainnet/utils/simulate.js","./mainnet/utils/utils":"./mainnet/utils/utils.js","./mainnet/_generated/_framework/init-source":"./mainnet/_generated/_framework/init-source.js","./mainnet/_generated/_framework/loader":"./mainnet/_generated/_framework/loader.js","./mainnet/_generated/_framework/reified":"./mainnet/_generated/_framework/reified.js","./mainnet/_generated/_framework/util":"./mainnet/_generated/_framework/util.js","./mainnet/_generated/suilend":"./mainnet/_generated/suilend/index.js","./mainnet/_generated/suilend/init":"./mainnet/_generated/suilend/init.js","./mainnet/_generated/suilend/cell/functions":"./mainnet/_generated/suilend/cell/functions.js","./mainnet/_generated/suilend/cell/structs":"./mainnet/_generated/suilend/cell/structs.js","./mainnet/_generated/suilend/decimal/functions":"./mainnet/_generated/suilend/decimal/functions.js","./mainnet/_generated/suilend/decimal/structs":"./mainnet/_generated/suilend/decimal/structs.js","./mainnet/_generated/suilend/launch/functions":"./mainnet/_generated/suilend/launch/functions.js","./mainnet/_generated/suilend/launch/structs":"./mainnet/_generated/suilend/launch/structs.js","./mainnet/_generated/suilend/lending-market/functions":"./mainnet/_generated/suilend/lending-market/functions.js","./mainnet/_generated/suilend/lending-market/structs":"./mainnet/_generated/suilend/lending-market/structs.js","./mainnet/_generated/suilend/lending-market-registry/functions":"./mainnet/_generated/suilend/lending-market-registry/functions.js","./mainnet/_generated/suilend/lending-market-registry/structs":"./mainnet/_generated/suilend/lending-market-registry/structs.js","./mainnet/_generated/suilend/liquidity-mining/functions":"./mainnet/_generated/suilend/liquidity-mining/functions.js","./mainnet/_generated/suilend/liquidity-mining/structs":"./mainnet/_generated/suilend/liquidity-mining/structs.js","./mainnet/_generated/suilend/obligation/functions":"./mainnet/_generated/suilend/obligation/functions.js","./mainnet/_generated/suilend/obligation/structs":"./mainnet/_generated/suilend/obligation/structs.js","./mainnet/_generated/suilend/oracles/functions":"./mainnet/_generated/suilend/oracles/functions.js","./mainnet/_generated/suilend/rate-limiter/functions":"./mainnet/_generated/suilend/rate-limiter/functions.js","./mainnet/_generated/suilend/rate-limiter/structs":"./mainnet/_generated/suilend/rate-limiter/structs.js","./mainnet/_generated/suilend/reserve/functions":"./mainnet/_generated/suilend/reserve/functions.js","./mainnet/_generated/suilend/reserve/structs":"./mainnet/_generated/suilend/reserve/structs.js","./mainnet/_generated/suilend/reserve-config/functions":"./mainnet/_generated/suilend/reserve-config/functions.js","./mainnet/_generated/suilend/reserve-config/structs":"./mainnet/_generated/suilend/reserve-config/structs.js","./mainnet/_generated/suilend/suilend/structs":"./mainnet/_generated/suilend/suilend/structs.js","./mainnet/_generated/_dependencies/source/0x1":"./mainnet/_generated/_dependencies/source/0x1/index.js","./mainnet/_generated/_dependencies/source/0x1/init":"./mainnet/_generated/_dependencies/source/0x1/init.js","./mainnet/_generated/_dependencies/source/0x2":"./mainnet/_generated/_dependencies/source/0x2/index.js","./mainnet/_generated/_dependencies/source/0x2/init":"./mainnet/_generated/_dependencies/source/0x2/init.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.js","./mainnet/_generated/_dependencies/source/0x1/ascii/structs":"./mainnet/_generated/_dependencies/source/0x1/ascii/structs.js","./mainnet/_generated/_dependencies/source/0x1/bit-vector/structs":"./mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.js","./mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs":"./mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.js","./mainnet/_generated/_dependencies/source/0x1/option/structs":"./mainnet/_generated/_dependencies/source/0x1/option/structs.js","./mainnet/_generated/_dependencies/source/0x1/string/structs":"./mainnet/_generated/_dependencies/source/0x1/string/structs.js","./mainnet/_generated/_dependencies/source/0x1/type-name/structs":"./mainnet/_generated/_dependencies/source/0x1/type-name/structs.js","./mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs":"./mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.js","./mainnet/_generated/_dependencies/source/0x2/bag/structs":"./mainnet/_generated/_dependencies/source/0x2/bag/structs.js","./mainnet/_generated/_dependencies/source/0x2/balance/structs":"./mainnet/_generated/_dependencies/source/0x2/balance/structs.js","./mainnet/_generated/_dependencies/source/0x2/bcs/structs":"./mainnet/_generated/_dependencies/source/0x2/bcs/structs.js","./mainnet/_generated/_dependencies/source/0x2/bls12381/structs":"./mainnet/_generated/_dependencies/source/0x2/bls12381/structs.js","./mainnet/_generated/_dependencies/source/0x2/borrow/structs":"./mainnet/_generated/_dependencies/source/0x2/borrow/structs.js","./mainnet/_generated/_dependencies/source/0x2/clock/structs":"./mainnet/_generated/_dependencies/source/0x2/clock/structs.js","./mainnet/_generated/_dependencies/source/0x2/coin/structs":"./mainnet/_generated/_dependencies/source/0x2/coin/structs.js","./mainnet/_generated/_dependencies/source/0x2/deny-list/structs":"./mainnet/_generated/_dependencies/source/0x2/deny-list/structs.js","./mainnet/_generated/_dependencies/source/0x2/display/structs":"./mainnet/_generated/_dependencies/source/0x2/display/structs.js","./mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs":"./mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.js","./mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs":"./mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.js","./mainnet/_generated/_dependencies/source/0x2/groth16/structs":"./mainnet/_generated/_dependencies/source/0x2/groth16/structs.js","./mainnet/_generated/_dependencies/source/0x2/group-ops/structs":"./mainnet/_generated/_dependencies/source/0x2/group-ops/structs.js","./mainnet/_generated/_dependencies/source/0x2/kiosk/structs":"./mainnet/_generated/_dependencies/source/0x2/kiosk/structs.js","./mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs":"./mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.js","./mainnet/_generated/_dependencies/source/0x2/linked-table/structs":"./mainnet/_generated/_dependencies/source/0x2/linked-table/structs.js","./mainnet/_generated/_dependencies/source/0x2/object/structs":"./mainnet/_generated/_dependencies/source/0x2/object/structs.js","./mainnet/_generated/_dependencies/source/0x2/object-bag/structs":"./mainnet/_generated/_dependencies/source/0x2/object-bag/structs.js","./mainnet/_generated/_dependencies/source/0x2/object-table/structs":"./mainnet/_generated/_dependencies/source/0x2/object-table/structs.js","./mainnet/_generated/_dependencies/source/0x2/package/structs":"./mainnet/_generated/_dependencies/source/0x2/package/structs.js","./mainnet/_generated/_dependencies/source/0x2/priority-queue/structs":"./mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.js","./mainnet/_generated/_dependencies/source/0x2/random/structs":"./mainnet/_generated/_dependencies/source/0x2/random/structs.js","./mainnet/_generated/_dependencies/source/0x2/sui/structs":"./mainnet/_generated/_dependencies/source/0x2/sui/structs.js","./mainnet/_generated/_dependencies/source/0x2/table/structs":"./mainnet/_generated/_dependencies/source/0x2/table/structs.js","./mainnet/_generated/_dependencies/source/0x2/table-vec/structs":"./mainnet/_generated/_dependencies/source/0x2/table-vec/structs.js","./mainnet/_generated/_dependencies/source/0x2/token/structs":"./mainnet/_generated/_dependencies/source/0x2/token/structs.js","./mainnet/_generated/_dependencies/source/0x2/transfer/structs":"./mainnet/_generated/_dependencies/source/0x2/transfer/structs.js","./mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs":"./mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.js","./mainnet/_generated/_dependencies/source/0x2/tx-context/structs":"./mainnet/_generated/_dependencies/source/0x2/tx-context/structs.js","./mainnet/_generated/_dependencies/source/0x2/url/structs":"./mainnet/_generated/_dependencies/source/0x2/url/structs.js","./mainnet/_generated/_dependencies/source/0x2/vec-map/structs":"./mainnet/_generated/_dependencies/source/0x2/vec-map/structs.js","./mainnet/_generated/_dependencies/source/0x2/vec-set/structs":"./mainnet/_generated/_dependencies/source/0x2/vec-set/structs.js","./mainnet/_generated/_dependencies/source/0x2/versioned/structs":"./mainnet/_generated/_dependencies/source/0x2/versioned/structs.js","./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs":"./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.js","./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs":"./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/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","release":"bun run build && bun ts-node ./prepublish.ts && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/solendprotocol/suilend-public.git"},"bugs":{"url":"https://github.com/solendprotocol/suilend-public/issues"},"homepage":"https://github.com/solendprotocol/suilend-public/tree/HEAD/sdk#readme","dependencies":{"@mysten/bcs":"^0.10.1","@mysten/sui.js":"^0.49.1","bignumber.js":"^9.1.2","uuid":"^9.0.1"},"devDependencies":{"@types/node":"^20.12.7","ts-node":"^10.9.2","typescript":"^5.3.3"}}
1
+ {"name":"@suilend/sdk","version":"1.0.3","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./mainnet/client":"./mainnet/client.js","./mainnet/constants":"./mainnet/constants.js","./mainnet":"./mainnet/index.js","./mainnet/types":"./mainnet/types.js","./mainnet/utils":"./mainnet/utils/index.js","./pyth-sdk/SuiPriceServiceConnection":"./pyth-sdk/SuiPriceServiceConnection.js","./pyth-sdk/client":"./pyth-sdk/client.js","./pyth-sdk":"./pyth-sdk/index.js","./mainnet/parsers":"./mainnet/parsers/index.js","./mainnet/parsers/lendingMarket":"./mainnet/parsers/lendingMarket.js","./mainnet/parsers/obligation":"./mainnet/parsers/obligation.js","./mainnet/parsers/rateLimiter":"./mainnet/parsers/rateLimiter.js","./mainnet/parsers/reserve":"./mainnet/parsers/reserve.js","./mainnet/utils/events":"./mainnet/utils/events.js","./mainnet/utils/obligation":"./mainnet/utils/obligation.js","./mainnet/utils/simulate":"./mainnet/utils/simulate.js","./mainnet/utils/utils":"./mainnet/utils/utils.js","./mainnet/_generated/_framework/init-source":"./mainnet/_generated/_framework/init-source.js","./mainnet/_generated/_framework/loader":"./mainnet/_generated/_framework/loader.js","./mainnet/_generated/_framework/reified":"./mainnet/_generated/_framework/reified.js","./mainnet/_generated/_framework/util":"./mainnet/_generated/_framework/util.js","./mainnet/_generated/suilend":"./mainnet/_generated/suilend/index.js","./mainnet/_generated/suilend/init":"./mainnet/_generated/suilend/init.js","./mainnet/_generated/suilend/cell/functions":"./mainnet/_generated/suilend/cell/functions.js","./mainnet/_generated/suilend/cell/structs":"./mainnet/_generated/suilend/cell/structs.js","./mainnet/_generated/suilend/decimal/functions":"./mainnet/_generated/suilend/decimal/functions.js","./mainnet/_generated/suilend/decimal/structs":"./mainnet/_generated/suilend/decimal/structs.js","./mainnet/_generated/suilend/launch/functions":"./mainnet/_generated/suilend/launch/functions.js","./mainnet/_generated/suilend/launch/structs":"./mainnet/_generated/suilend/launch/structs.js","./mainnet/_generated/suilend/lending-market/functions":"./mainnet/_generated/suilend/lending-market/functions.js","./mainnet/_generated/suilend/lending-market/structs":"./mainnet/_generated/suilend/lending-market/structs.js","./mainnet/_generated/suilend/lending-market-registry/functions":"./mainnet/_generated/suilend/lending-market-registry/functions.js","./mainnet/_generated/suilend/lending-market-registry/structs":"./mainnet/_generated/suilend/lending-market-registry/structs.js","./mainnet/_generated/suilend/liquidity-mining/functions":"./mainnet/_generated/suilend/liquidity-mining/functions.js","./mainnet/_generated/suilend/liquidity-mining/structs":"./mainnet/_generated/suilend/liquidity-mining/structs.js","./mainnet/_generated/suilend/obligation/functions":"./mainnet/_generated/suilend/obligation/functions.js","./mainnet/_generated/suilend/obligation/structs":"./mainnet/_generated/suilend/obligation/structs.js","./mainnet/_generated/suilend/oracles/functions":"./mainnet/_generated/suilend/oracles/functions.js","./mainnet/_generated/suilend/rate-limiter/functions":"./mainnet/_generated/suilend/rate-limiter/functions.js","./mainnet/_generated/suilend/rate-limiter/structs":"./mainnet/_generated/suilend/rate-limiter/structs.js","./mainnet/_generated/suilend/reserve/functions":"./mainnet/_generated/suilend/reserve/functions.js","./mainnet/_generated/suilend/reserve/structs":"./mainnet/_generated/suilend/reserve/structs.js","./mainnet/_generated/suilend/reserve-config/functions":"./mainnet/_generated/suilend/reserve-config/functions.js","./mainnet/_generated/suilend/reserve-config/structs":"./mainnet/_generated/suilend/reserve-config/structs.js","./mainnet/_generated/suilend/suilend/structs":"./mainnet/_generated/suilend/suilend/structs.js","./mainnet/_generated/_dependencies/source/0x1":"./mainnet/_generated/_dependencies/source/0x1/index.js","./mainnet/_generated/_dependencies/source/0x1/init":"./mainnet/_generated/_dependencies/source/0x1/init.js","./mainnet/_generated/_dependencies/source/0x2":"./mainnet/_generated/_dependencies/source/0x2/index.js","./mainnet/_generated/_dependencies/source/0x2/init":"./mainnet/_generated/_dependencies/source/0x2/init.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.js","./mainnet/_generated/_dependencies/source/0x1/ascii/structs":"./mainnet/_generated/_dependencies/source/0x1/ascii/structs.js","./mainnet/_generated/_dependencies/source/0x1/bit-vector/structs":"./mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.js","./mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs":"./mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.js","./mainnet/_generated/_dependencies/source/0x1/option/structs":"./mainnet/_generated/_dependencies/source/0x1/option/structs.js","./mainnet/_generated/_dependencies/source/0x1/string/structs":"./mainnet/_generated/_dependencies/source/0x1/string/structs.js","./mainnet/_generated/_dependencies/source/0x1/type-name/structs":"./mainnet/_generated/_dependencies/source/0x1/type-name/structs.js","./mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs":"./mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.js","./mainnet/_generated/_dependencies/source/0x2/bag/structs":"./mainnet/_generated/_dependencies/source/0x2/bag/structs.js","./mainnet/_generated/_dependencies/source/0x2/balance/structs":"./mainnet/_generated/_dependencies/source/0x2/balance/structs.js","./mainnet/_generated/_dependencies/source/0x2/bcs/structs":"./mainnet/_generated/_dependencies/source/0x2/bcs/structs.js","./mainnet/_generated/_dependencies/source/0x2/bls12381/structs":"./mainnet/_generated/_dependencies/source/0x2/bls12381/structs.js","./mainnet/_generated/_dependencies/source/0x2/borrow/structs":"./mainnet/_generated/_dependencies/source/0x2/borrow/structs.js","./mainnet/_generated/_dependencies/source/0x2/clock/structs":"./mainnet/_generated/_dependencies/source/0x2/clock/structs.js","./mainnet/_generated/_dependencies/source/0x2/coin/structs":"./mainnet/_generated/_dependencies/source/0x2/coin/structs.js","./mainnet/_generated/_dependencies/source/0x2/deny-list/structs":"./mainnet/_generated/_dependencies/source/0x2/deny-list/structs.js","./mainnet/_generated/_dependencies/source/0x2/display/structs":"./mainnet/_generated/_dependencies/source/0x2/display/structs.js","./mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs":"./mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.js","./mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs":"./mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.js","./mainnet/_generated/_dependencies/source/0x2/groth16/structs":"./mainnet/_generated/_dependencies/source/0x2/groth16/structs.js","./mainnet/_generated/_dependencies/source/0x2/group-ops/structs":"./mainnet/_generated/_dependencies/source/0x2/group-ops/structs.js","./mainnet/_generated/_dependencies/source/0x2/kiosk/structs":"./mainnet/_generated/_dependencies/source/0x2/kiosk/structs.js","./mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs":"./mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.js","./mainnet/_generated/_dependencies/source/0x2/linked-table/structs":"./mainnet/_generated/_dependencies/source/0x2/linked-table/structs.js","./mainnet/_generated/_dependencies/source/0x2/object/structs":"./mainnet/_generated/_dependencies/source/0x2/object/structs.js","./mainnet/_generated/_dependencies/source/0x2/object-bag/structs":"./mainnet/_generated/_dependencies/source/0x2/object-bag/structs.js","./mainnet/_generated/_dependencies/source/0x2/object-table/structs":"./mainnet/_generated/_dependencies/source/0x2/object-table/structs.js","./mainnet/_generated/_dependencies/source/0x2/package/structs":"./mainnet/_generated/_dependencies/source/0x2/package/structs.js","./mainnet/_generated/_dependencies/source/0x2/priority-queue/structs":"./mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.js","./mainnet/_generated/_dependencies/source/0x2/random/structs":"./mainnet/_generated/_dependencies/source/0x2/random/structs.js","./mainnet/_generated/_dependencies/source/0x2/sui/structs":"./mainnet/_generated/_dependencies/source/0x2/sui/structs.js","./mainnet/_generated/_dependencies/source/0x2/table/structs":"./mainnet/_generated/_dependencies/source/0x2/table/structs.js","./mainnet/_generated/_dependencies/source/0x2/table-vec/structs":"./mainnet/_generated/_dependencies/source/0x2/table-vec/structs.js","./mainnet/_generated/_dependencies/source/0x2/token/structs":"./mainnet/_generated/_dependencies/source/0x2/token/structs.js","./mainnet/_generated/_dependencies/source/0x2/transfer/structs":"./mainnet/_generated/_dependencies/source/0x2/transfer/structs.js","./mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs":"./mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.js","./mainnet/_generated/_dependencies/source/0x2/tx-context/structs":"./mainnet/_generated/_dependencies/source/0x2/tx-context/structs.js","./mainnet/_generated/_dependencies/source/0x2/url/structs":"./mainnet/_generated/_dependencies/source/0x2/url/structs.js","./mainnet/_generated/_dependencies/source/0x2/vec-map/structs":"./mainnet/_generated/_dependencies/source/0x2/vec-map/structs.js","./mainnet/_generated/_dependencies/source/0x2/vec-set/structs":"./mainnet/_generated/_dependencies/source/0x2/vec-set/structs.js","./mainnet/_generated/_dependencies/source/0x2/versioned/structs":"./mainnet/_generated/_dependencies/source/0x2/versioned/structs.js","./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs":"./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.js","./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs":"./mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.js","./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs":"./mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.js","./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs":"./mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/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","release":"bun run build && bun ts-node ./prepublish.ts && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/solendprotocol/suilend-public.git"},"bugs":{"url":"https://github.com/solendprotocol/suilend-public/issues"},"homepage":"https://github.com/solendprotocol/suilend-public/tree/HEAD/sdk#readme","dependencies":{"@mysten/bcs":"^0.10.1","@mysten/sui.js":"^0.49.1","bignumber.js":"^9.1.2","p-limit":"^5.0.0","uuid":"^9.0.1"},"devDependencies":{"@types/node":"^20.12.7","ts-node":"^10.9.2","typescript":"^5.3.3"}}