@suilend/sdk 1.0.5 → 1.0.7

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/README.md CHANGED
@@ -4,4 +4,8 @@ A TypeScript SDK for interacting with the Suilend program published on npm as [`
4
4
 
5
5
  For examples, please see [suilend-public/frontend](https://github.com/solendprotocol/suilend-public/tree/HEAD/frontend), an open-source Suilend client powered by and developed alongside the Suilend SDK, in the Suilend monorepo.
6
6
 
7
- Note: `suilend-public/frontend` imports the SDK directly from the Suilend monorepo via aliased paths (see [suilend-public/frontend/tsconfig.ts](https://github.com/solendprotocol/suilend-public/tree/HEAD/frontend/tsconfig.json)) instead of the npm package, so the import paths may look slightly different.
7
+ Note: `suilend-public/frontend` imports the SDK directly from the Suilend monorepo via aliased paths (see [suilend-public/frontend/tsconfig.ts](https://github.com/solendprotocol/suilend-public/tree/HEAD/frontend/tsconfig.json)) and does not use the npm package, so the import paths may look slightly different.
8
+
9
+ ---
10
+
11
+ Got a suggestion, running into issues, or have a question? Join our [#dev-support](https://discord.com/channels/1202984617087598622/1238023733403193385) channel on Discord.
@@ -0,0 +1,2 @@
1
+ import { DownsampledApiReserveAssetDataEvent } from "../types";
2
+ export declare const fetchDownsampledApiReserveAssetDataEvents: (reserveId: string, days: number, sampleIntervalS: number) => Promise<DownsampledApiReserveAssetDataEvent[]>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.fetchDownsampledApiReserveAssetDataEvents = void 0;
13
+ const fetchDownsampledApiReserveAssetDataEvents = (reserveId, days, sampleIntervalS) => __awaiter(void 0, void 0, void 0, function* () {
14
+ const url = `https://api.suilend.fi/events/downsampled-reserve-asset-data?reserveId=${reserveId}&days=${days}&sampleIntervalS=${sampleIntervalS}`;
15
+ const res = yield fetch(url);
16
+ const json = yield res.json();
17
+ return json;
18
+ });
19
+ exports.fetchDownsampledApiReserveAssetDataEvents = fetchDownsampledApiReserveAssetDataEvents;
@@ -1,2 +1,3 @@
1
- export declare const maxU64: bigint;
2
- export declare const WAD: bigint;
1
+ import BigNumber from "bignumber.js";
2
+ export declare const maxU64: BigNumber;
3
+ export declare const WAD: BigNumber;
package/core/constants.js CHANGED
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.WAD = exports.maxU64 = void 0;
4
- exports.maxU64 = BigInt(2) ** BigInt(64) - BigInt(1);
5
- exports.WAD = BigInt(10) ** BigInt(18);
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ exports.maxU64 = new bignumber_js_1.default(2).pow(64).minus(1);
9
+ exports.WAD = new bignumber_js_1.default(10).pow(18);
@@ -0,0 +1,58 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { ApiReserveAssetDataEvent, DownsampledApiReserveAssetDataEvent } from "../types";
3
+ import { ParsedReserve } from "./reserve";
4
+ export type ParsedReserveAssetDataEvent = ReturnType<typeof parseReserveAssetDataEvent>;
5
+ export declare const parseReserveAssetDataEvent: (event: ApiReserveAssetDataEvent, reserve: ParsedReserve) => {
6
+ id: number;
7
+ lendingMarket: string;
8
+ coinType: string;
9
+ reserveId: string;
10
+ depositedAmount: BigNumber;
11
+ borrowedAmount: BigNumber;
12
+ availableAmount: BigNumber;
13
+ depositedAmountUsd: BigNumber;
14
+ borrowedAmountUsd: BigNumber;
15
+ availableAmountUsd: BigNumber;
16
+ utilizationPercent: BigNumber;
17
+ borrowAprPercent: BigNumber;
18
+ depositAprPercent: BigNumber;
19
+ ctokenSupply: BigNumber;
20
+ cumulativeBorrowRate: string;
21
+ price: BigNumber;
22
+ smoothedPrice: BigNumber;
23
+ minPrice: BigNumber;
24
+ maxPrice: BigNumber;
25
+ priceLastUpdateTimestampS: number;
26
+ timestampS: number;
27
+ digest: string;
28
+ eventIndex: number;
29
+ sender: string;
30
+ };
31
+ export type ParsedDownsampledApiReserveAssetDataEvent = ReturnType<typeof parseDownsampledApiReserveAssetDataEvent>;
32
+ export declare const parseDownsampledApiReserveAssetDataEvent: (event: DownsampledApiReserveAssetDataEvent, reserve: ParsedReserve) => {
33
+ sampleTimestampS: number;
34
+ id: number;
35
+ lendingMarket: string;
36
+ coinType: string;
37
+ reserveId: string;
38
+ depositedAmount: BigNumber;
39
+ borrowedAmount: BigNumber;
40
+ availableAmount: BigNumber;
41
+ depositedAmountUsd: BigNumber;
42
+ borrowedAmountUsd: BigNumber;
43
+ availableAmountUsd: BigNumber;
44
+ utilizationPercent: BigNumber;
45
+ borrowAprPercent: BigNumber;
46
+ depositAprPercent: BigNumber;
47
+ ctokenSupply: BigNumber;
48
+ cumulativeBorrowRate: string;
49
+ price: BigNumber;
50
+ smoothedPrice: BigNumber;
51
+ minPrice: BigNumber;
52
+ maxPrice: BigNumber;
53
+ priceLastUpdateTimestampS: number;
54
+ timestampS: number;
55
+ digest: string;
56
+ eventIndex: number;
57
+ sender: string;
58
+ };
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.parseDownsampledApiReserveAssetDataEvent = exports.parseReserveAssetDataEvent = void 0;
7
+ const utils_1 = require("@mysten/sui.js/utils");
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ const constants_1 = require("../constants");
10
+ const calculateBorrowAprPercent = (utilizationPercent, reserve) => {
11
+ const config = reserve.config;
12
+ let i = 1;
13
+ while (i < config.interestRate.length) {
14
+ const leftUtilPercent = config.interestRate[i - 1].utilPercent;
15
+ const leftAprPercent = config.interestRate[i - 1].aprPercent;
16
+ const rightUtilPercent = config.interestRate[i].utilPercent;
17
+ const rightAprPercent = config.interestRate[i].aprPercent;
18
+ if (utilizationPercent.gte(leftUtilPercent) &&
19
+ utilizationPercent.lte(rightUtilPercent)) {
20
+ const weight = new bignumber_js_1.default(utilizationPercent.minus(leftUtilPercent)).div(rightUtilPercent.minus(leftUtilPercent));
21
+ return leftAprPercent.plus(weight.times(rightAprPercent.minus(leftAprPercent)));
22
+ }
23
+ i = i + 1;
24
+ }
25
+ // Should never reach here
26
+ return new bignumber_js_1.default(0);
27
+ };
28
+ const parseReserveAssetDataEvent = (event, reserve) => {
29
+ const depositedAmount = new bignumber_js_1.default(event.supplyAmount)
30
+ .div(constants_1.WAD)
31
+ .div(10 ** reserve.mintDecimals);
32
+ const borrowedAmount = new bignumber_js_1.default(event.borrowedAmount)
33
+ .div(constants_1.WAD)
34
+ .div(10 ** reserve.mintDecimals);
35
+ const availableAmount = new bignumber_js_1.default(event.availableAmount)
36
+ .div(constants_1.WAD)
37
+ .div(10 ** reserve.mintDecimals);
38
+ const ctokenSupply = new bignumber_js_1.default(event.ctokenSupply).div(10 ** reserve.mintDecimals);
39
+ const utilizationPercent = depositedAmount.eq(0)
40
+ ? new bignumber_js_1.default(0)
41
+ : borrowedAmount.div(depositedAmount).times(100);
42
+ const borrowAprPercent = calculateBorrowAprPercent(utilizationPercent, reserve);
43
+ const depositAprPercent = utilizationPercent
44
+ .div(100)
45
+ .times(borrowAprPercent.div(100))
46
+ .times(new bignumber_js_1.default(100).minus(new bignumber_js_1.default(reserve.config.spreadFeeBps).div(100)));
47
+ const price = new bignumber_js_1.default(event.price).div(constants_1.WAD);
48
+ const smoothedPrice = new bignumber_js_1.default(event.smoothedPrice).div(constants_1.WAD);
49
+ const minPrice = bignumber_js_1.default.min(price, smoothedPrice);
50
+ const maxPrice = bignumber_js_1.default.max(price, smoothedPrice);
51
+ const depositedAmountUsd = depositedAmount.times(price);
52
+ const borrowedAmountUsd = borrowedAmount.times(price);
53
+ const availableAmountUsd = availableAmount.times(price);
54
+ return {
55
+ id: event.id,
56
+ lendingMarket: event.lendingMarketId,
57
+ coinType: (0, utils_1.normalizeStructTag)(event.coinType),
58
+ reserveId: event.reserveId,
59
+ depositedAmount,
60
+ borrowedAmount,
61
+ availableAmount,
62
+ depositedAmountUsd,
63
+ borrowedAmountUsd,
64
+ availableAmountUsd,
65
+ utilizationPercent: utilizationPercent,
66
+ borrowAprPercent: borrowAprPercent,
67
+ depositAprPercent: depositAprPercent,
68
+ ctokenSupply: ctokenSupply,
69
+ cumulativeBorrowRate: event.cumulativeBorrowRate,
70
+ price: price,
71
+ smoothedPrice: smoothedPrice,
72
+ minPrice,
73
+ maxPrice,
74
+ priceLastUpdateTimestampS: event.priceLastUpdateTimestampS,
75
+ timestampS: event.timestamp,
76
+ digest: event.digest,
77
+ eventIndex: event.eventIndex,
78
+ sender: event.sender,
79
+ };
80
+ };
81
+ exports.parseReserveAssetDataEvent = parseReserveAssetDataEvent;
82
+ const parseDownsampledApiReserveAssetDataEvent = (event, reserve) => {
83
+ return Object.assign(Object.assign({}, (0, exports.parseReserveAssetDataEvent)(event, reserve)), { sampleTimestampS: event.sampletimestamp });
84
+ };
85
+ exports.parseDownsampledApiReserveAssetDataEvent = parseDownsampledApiReserveAssetDataEvent;
@@ -3,6 +3,8 @@ import BigNumber from "bignumber.js";
3
3
  import { Deps } from "./deps";
4
4
  export type ParsedLendingMarket = ReturnType<typeof parseLendingMarket>;
5
5
  export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardManager, PoolReward, simulate, RateLimiter, }: Pick<Deps, "LendingMarket" | "Reserve" | "PoolRewardManager" | "PoolReward" | "simulate" | "RateLimiter">, lendingMarket: any, reserves: any[], coinMetadataMap: Record<string, CoinMetadata>, currentTime: number) => {
6
+ id: any;
7
+ version: any;
6
8
  reserves: {
7
9
  config: {
8
10
  $typeName: any;
@@ -30,7 +32,7 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
30
32
  };
31
33
  $typeName: any;
32
34
  id: any;
33
- arrayIndex: any;
35
+ arrayIndex: bigint;
34
36
  coinType: string;
35
37
  mintDecimals: any;
36
38
  priceIdentifier: string;
@@ -53,7 +55,6 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
53
55
  poolRewards: {
54
56
  $typeName: any;
55
57
  id: any;
56
- rewardIndex: number;
57
58
  poolRewardManagerId: any;
58
59
  coinType: string;
59
60
  startTimeMs: number;
@@ -62,8 +63,9 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
62
63
  allocatedRewards: BigNumber;
63
64
  cumulativeRewardsPerShare: BigNumber;
64
65
  numUserRewardManagers: any;
65
- mintDecimals: number;
66
+ rewardIndex: number;
66
67
  symbol: string;
68
+ mintDecimals: number;
67
69
  }[];
68
70
  lastUpdateTimeMs: any;
69
71
  };
@@ -74,7 +76,6 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
74
76
  poolRewards: {
75
77
  $typeName: any;
76
78
  id: any;
77
- rewardIndex: number;
78
79
  poolRewardManagerId: any;
79
80
  coinType: string;
80
81
  startTimeMs: number;
@@ -83,8 +84,9 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
83
84
  allocatedRewards: BigNumber;
84
85
  cumulativeRewardsPerShare: BigNumber;
85
86
  numUserRewardManagers: any;
86
- mintDecimals: number;
87
+ rewardIndex: number;
87
88
  symbol: string;
89
+ mintDecimals: number;
88
90
  }[];
89
91
  lastUpdateTimeMs: any;
90
92
  };
@@ -102,12 +104,10 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
102
104
  description: string;
103
105
  totalDeposits: BigNumber;
104
106
  }[];
107
+ obligations: any;
105
108
  rateLimiter: {
106
109
  config: {
107
110
  windowDuration: any;
108
- /**
109
- * @deprecated since version 1.0.3. Use `depositedAmountUsd` instead.
110
- */
111
111
  maxOutflow: any;
112
112
  };
113
113
  $typeName: any;
@@ -116,6 +116,9 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
116
116
  curQty: any;
117
117
  remainingOutflow: BigNumber;
118
118
  };
119
+ feeReceiver: any;
120
+ badDebtUsd: BigNumber;
121
+ badDebtLimitUsd: BigNumber;
119
122
  depositedAmountUsd: BigNumber;
120
123
  borrowedAmountUsd: BigNumber;
121
124
  tvlUsd: BigNumber;
@@ -8,8 +8,14 @@ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const rateLimiter_1 = require("./rateLimiter");
9
9
  const reserve_1 = require("./reserve");
10
10
  const parseLendingMarket = ({ LendingMarket, Reserve, PoolRewardManager, PoolReward, simulate, RateLimiter, }, lendingMarket, reserves, coinMetadataMap, currentTime) => {
11
+ const id = lendingMarket.id;
12
+ const version = lendingMarket.version;
11
13
  const parsedReserves = reserves.map((reserve) => (0, reserve_1.parseReserve)({ Reserve, PoolRewardManager, PoolReward, simulate }, reserve, coinMetadataMap));
14
+ const obligations = lendingMarket.obligations;
12
15
  const parsedRateLimiter = (0, rateLimiter_1.parseRateLimiter)({ RateLimiter }, lendingMarket.rateLimiter, currentTime);
16
+ const feeReceiver = lendingMarket.feeReceiver;
17
+ const badDebtUsd = new bignumber_js_1.default(lendingMarket.badDebtUsd.value.toString());
18
+ const badDebtLimitUsd = new bignumber_js_1.default(lendingMarket.badDebtLimitUsd.value.toString());
13
19
  // Custom
14
20
  let depositedAmountUsd = new bignumber_js_1.default(0);
15
21
  let borrowedAmountUsd = new bignumber_js_1.default(0);
@@ -20,8 +26,14 @@ const parseLendingMarket = ({ LendingMarket, Reserve, PoolRewardManager, PoolRew
20
26
  tvlUsd = tvlUsd.plus(parsedReserve.availableAmountUsd);
21
27
  });
22
28
  return {
29
+ id,
30
+ version,
23
31
  reserves: parsedReserves,
32
+ obligations,
24
33
  rateLimiter: parsedRateLimiter,
34
+ feeReceiver,
35
+ badDebtUsd,
36
+ badDebtLimitUsd,
25
37
  depositedAmountUsd,
26
38
  borrowedAmountUsd,
27
39
  tvlUsd,
@@ -50,7 +50,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
50
50
  };
51
51
  $typeName: any;
52
52
  id: any;
53
- arrayIndex: any;
53
+ arrayIndex: bigint;
54
54
  coinType: string;
55
55
  mintDecimals: any;
56
56
  priceIdentifier: string;
@@ -73,7 +73,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
73
73
  poolRewards: {
74
74
  $typeName: any;
75
75
  id: any;
76
- rewardIndex: number;
77
76
  poolRewardManagerId: any;
78
77
  coinType: string;
79
78
  startTimeMs: number;
@@ -82,8 +81,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
82
81
  allocatedRewards: BigNumber;
83
82
  cumulativeRewardsPerShare: BigNumber;
84
83
  numUserRewardManagers: any;
85
- mintDecimals: number;
84
+ rewardIndex: number;
86
85
  symbol: string;
86
+ mintDecimals: number;
87
87
  }[];
88
88
  lastUpdateTimeMs: any;
89
89
  };
@@ -94,7 +94,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
94
94
  poolRewards: {
95
95
  $typeName: any;
96
96
  id: any;
97
- rewardIndex: number;
98
97
  poolRewardManagerId: any;
99
98
  coinType: string;
100
99
  startTimeMs: number;
@@ -103,8 +102,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
103
102
  allocatedRewards: BigNumber;
104
103
  cumulativeRewardsPerShare: BigNumber;
105
104
  numUserRewardManagers: any;
106
- mintDecimals: number;
105
+ rewardIndex: number;
107
106
  symbol: string;
107
+ mintDecimals: number;
108
108
  }[];
109
109
  lastUpdateTimeMs: any;
110
110
  };
@@ -158,7 +158,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
158
158
  };
159
159
  $typeName: any;
160
160
  id: any;
161
- arrayIndex: any;
161
+ arrayIndex: bigint;
162
162
  coinType: string;
163
163
  mintDecimals: any;
164
164
  priceIdentifier: string;
@@ -181,7 +181,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
181
181
  poolRewards: {
182
182
  $typeName: any;
183
183
  id: any;
184
- rewardIndex: number;
185
184
  poolRewardManagerId: any;
186
185
  coinType: string;
187
186
  startTimeMs: number;
@@ -190,8 +189,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
190
189
  allocatedRewards: BigNumber;
191
190
  cumulativeRewardsPerShare: BigNumber;
192
191
  numUserRewardManagers: any;
193
- mintDecimals: number;
192
+ rewardIndex: number;
194
193
  symbol: string;
194
+ mintDecimals: number;
195
195
  }[];
196
196
  lastUpdateTimeMs: any;
197
197
  };
@@ -202,7 +202,6 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
202
202
  poolRewards: {
203
203
  $typeName: any;
204
204
  id: any;
205
- rewardIndex: number;
206
205
  poolRewardManagerId: any;
207
206
  coinType: string;
208
207
  startTimeMs: number;
@@ -211,8 +210,9 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
211
210
  allocatedRewards: BigNumber;
212
211
  cumulativeRewardsPerShare: BigNumber;
213
212
  numUserRewardManagers: any;
214
- mintDecimals: number;
213
+ rewardIndex: number;
215
214
  symbol: string;
215
+ mintDecimals: number;
216
216
  }[];
217
217
  lastUpdateTimeMs: any;
218
218
  };
@@ -15,13 +15,13 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
15
15
  let borrowLimitUsd = new bignumber_js_1.default(0);
16
16
  let minPriceBorrowLimitUsd = new bignumber_js_1.default(0);
17
17
  let unhealthyBorrowValueUsd = new bignumber_js_1.default(0);
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;
18
+ let positionCount = 0;
20
19
  const deposits = obligation.deposits.map((deposit) => {
21
20
  const coinType = (0, utils_1.normalizeStructTag)(deposit.coinType.name);
22
21
  const reserve = parsedReserveMap[coinType];
23
22
  if (!reserve)
24
23
  throw new Error(`Reserve with coinType ${deposit.coinType.name} not found`);
24
+ positionCount++;
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);
@@ -50,9 +50,10 @@ 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 cumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD.toString());
53
+ positionCount++;
54
+ const cumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD);
54
55
  const borrowedAmountInitial = new bignumber_js_1.default(borrow.borrowedAmount.value.toString())
55
- .div(constants_1.WAD.toString())
56
+ .div(constants_1.WAD)
56
57
  .div(10 ** reserve.mintDecimals);
57
58
  const borrowInterestIndex = reserve.cumulativeBorrowRate.div(cumulativeBorrowRate);
58
59
  const borrowedAmount = borrowedAmountInitial.times(borrowInterestIndex);
@@ -76,7 +77,7 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
76
77
  };
77
78
  });
78
79
  const netValueUsd = totalDepositedAmountUsd.minus(totalBorrowedAmountUsd);
79
- const weightedConservativeBorrowUtilizationPercent = minPriceBorrowLimitUsd.isZero()
80
+ const weightedConservativeBorrowUtilizationPercent = minPriceBorrowLimitUsd.eq(0)
80
81
  ? new bignumber_js_1.default(0)
81
82
  : maxPriceWeightedBorrowsUsd.div(minPriceBorrowLimitUsd).times(100);
82
83
  return {
@@ -32,7 +32,7 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
32
32
  };
33
33
  $typeName: any;
34
34
  id: any;
35
- arrayIndex: any;
35
+ arrayIndex: bigint;
36
36
  coinType: string;
37
37
  mintDecimals: any;
38
38
  priceIdentifier: string;
@@ -55,7 +55,6 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
55
55
  poolRewards: {
56
56
  $typeName: any;
57
57
  id: any;
58
- rewardIndex: number;
59
58
  poolRewardManagerId: any;
60
59
  coinType: string;
61
60
  startTimeMs: number;
@@ -64,8 +63,9 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
64
63
  allocatedRewards: BigNumber;
65
64
  cumulativeRewardsPerShare: BigNumber;
66
65
  numUserRewardManagers: any;
67
- mintDecimals: number;
66
+ rewardIndex: number;
68
67
  symbol: string;
68
+ mintDecimals: number;
69
69
  }[];
70
70
  lastUpdateTimeMs: any;
71
71
  };
@@ -76,7 +76,6 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
76
76
  poolRewards: {
77
77
  $typeName: any;
78
78
  id: any;
79
- rewardIndex: number;
80
79
  poolRewardManagerId: any;
81
80
  coinType: string;
82
81
  startTimeMs: number;
@@ -85,8 +84,9 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
85
84
  allocatedRewards: BigNumber;
86
85
  cumulativeRewardsPerShare: BigNumber;
87
86
  numUserRewardManagers: any;
88
- mintDecimals: number;
87
+ rewardIndex: number;
89
88
  symbol: string;
89
+ mintDecimals: number;
90
90
  }[];
91
91
  lastUpdateTimeMs: any;
92
92
  };
@@ -138,7 +138,6 @@ export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }
138
138
  poolRewards: {
139
139
  $typeName: any;
140
140
  id: any;
141
- rewardIndex: number;
142
141
  poolRewardManagerId: any;
143
142
  coinType: string;
144
143
  startTimeMs: number;
@@ -147,15 +146,15 @@ export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }
147
146
  allocatedRewards: BigNumber;
148
147
  cumulativeRewardsPerShare: BigNumber;
149
148
  numUserRewardManagers: any;
150
- mintDecimals: number;
149
+ rewardIndex: number;
151
150
  symbol: string;
151
+ mintDecimals: number;
152
152
  }[];
153
153
  lastUpdateTimeMs: any;
154
154
  };
155
155
  export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">, poolReward: any, rewardIndex: number, coinMetadataMap: Record<string, CoinMetadata>) => {
156
156
  $typeName: any;
157
157
  id: any;
158
- rewardIndex: number;
159
158
  poolRewardManagerId: any;
160
159
  coinType: string;
161
160
  startTimeMs: number;
@@ -164,6 +163,7 @@ export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">,
164
163
  allocatedRewards: BigNumber;
165
164
  cumulativeRewardsPerShare: BigNumber;
166
165
  numUserRewardManagers: any;
167
- mintDecimals: number;
166
+ rewardIndex: number;
168
167
  symbol: string;
168
+ mintDecimals: number;
169
169
  } | null;
@@ -13,25 +13,25 @@ const parseReserve = ({ Reserve, PoolRewardManager, PoolReward, simulate, }, res
13
13
  const config = (0, exports.parseReserveConfig)({ Reserve }, reserve);
14
14
  const $typeName = reserve.$typeName;
15
15
  const id = reserve.id;
16
- const arrayIndex = reserve.arrayIndex;
16
+ const arrayIndex = BigInt(reserve.arrayIndex);
17
17
  const coinType = (0, utils_1.normalizeStructTag)(reserve.coinType.name);
18
18
  const coinMetadata = coinMetadataMap[coinType];
19
19
  const mintDecimals = reserve.mintDecimals;
20
20
  const priceIdentifier = `0x${(0, utils_2.toHexString)(reserve.priceIdentifier.bytes)}`;
21
- const price = new bignumber_js_1.default(reserve.price.value.toString()).div(constants_1.WAD.toString());
22
- const smoothedPrice = new bignumber_js_1.default(reserve.smoothedPrice.value.toString()).div(constants_1.WAD.toString());
21
+ const price = new bignumber_js_1.default(reserve.price.value.toString()).div(constants_1.WAD);
22
+ const smoothedPrice = new bignumber_js_1.default(reserve.smoothedPrice.value.toString()).div(constants_1.WAD);
23
23
  const minPrice = bignumber_js_1.default.min(price, smoothedPrice);
24
24
  const maxPrice = bignumber_js_1.default.max(price, smoothedPrice);
25
25
  const priceLastUpdateTimestampS = reserve.priceLastUpdateTimestampS;
26
26
  const availableAmount = new bignumber_js_1.default(reserve.availableAmount.toString()).div(10 ** mintDecimals);
27
27
  const ctokenSupply = new bignumber_js_1.default(reserve.ctokenSupply.toString()).div(10 ** mintDecimals);
28
28
  const borrowedAmount = new bignumber_js_1.default(reserve.borrowedAmount.value.toString())
29
- .div(constants_1.WAD.toString())
29
+ .div(constants_1.WAD)
30
30
  .div(10 ** mintDecimals);
31
- const cumulativeBorrowRate = new bignumber_js_1.default(reserve.cumulativeBorrowRate.value.toString()).div(constants_1.WAD.toString());
31
+ const cumulativeBorrowRate = new bignumber_js_1.default(reserve.cumulativeBorrowRate.value.toString()).div(constants_1.WAD);
32
32
  const interestLastUpdateTimestampS = reserve.interestLastUpdateTimestampS;
33
33
  const unclaimedSpreadFees = new bignumber_js_1.default(reserve.unclaimedSpreadFees.value.toString())
34
- .div(constants_1.WAD.toString())
34
+ .div(constants_1.WAD)
35
35
  .div(10 ** mintDecimals);
36
36
  const attributedBorrowValue = new bignumber_js_1.default(reserve.attributedBorrowValue.value.toString());
37
37
  const depositsPoolRewardManager = (0, exports.parsePoolRewardManager)({ PoolRewardManager, PoolReward }, reserve.depositsPoolRewardManager, coinMetadataMap);
@@ -176,10 +176,10 @@ const parsePoolReward = ({ PoolReward }, poolReward, rewardIndex, coinMetadataMa
176
176
  const endTimeMs = Number(poolReward.endTimeMs);
177
177
  const totalRewards = new bignumber_js_1.default(poolReward.totalRewards.toString()).div(10 ** coinMetadata.decimals);
178
178
  const allocatedRewards = new bignumber_js_1.default(poolReward.allocatedRewards.value.toString())
179
- .div(constants_1.WAD.toString())
179
+ .div(constants_1.WAD)
180
180
  .div(10 ** coinMetadata.decimals);
181
181
  const cumulativeRewardsPerShare = new bignumber_js_1.default(poolReward.cumulativeRewardsPerShare.value.toString())
182
- .div(constants_1.WAD.toString())
182
+ .div(constants_1.WAD)
183
183
  .div(10 ** coinMetadata.decimals);
184
184
  const numUserRewardManagers = poolReward.numUserRewardManagers;
185
185
  // additionalFields
@@ -188,7 +188,6 @@ const parsePoolReward = ({ PoolReward }, poolReward, rewardIndex, coinMetadataMa
188
188
  return {
189
189
  $typeName,
190
190
  id,
191
- rewardIndex,
192
191
  poolRewardManagerId,
193
192
  coinType,
194
193
  startTimeMs,
@@ -197,8 +196,9 @@ const parsePoolReward = ({ PoolReward }, poolReward, rewardIndex, coinMetadataMa
197
196
  allocatedRewards,
198
197
  cumulativeRewardsPerShare,
199
198
  numUserRewardManagers,
200
- mintDecimals,
199
+ rewardIndex,
201
200
  symbol,
201
+ mintDecimals,
202
202
  };
203
203
  };
204
204
  exports.parsePoolReward = parsePoolReward;
package/core/types.d.ts CHANGED
@@ -672,3 +672,29 @@ export interface MigrateArgs {
672
672
  lendingMarketOwnerCap: ObjectArg;
673
673
  lendingMarket: ObjectArg;
674
674
  }
675
+ export type ApiReserveAssetDataEvent = {
676
+ id: number;
677
+ lendingMarketId: string;
678
+ coinType: string;
679
+ reserveId: string;
680
+ availableAmount: string;
681
+ supplyAmount: string;
682
+ borrowedAmount: string;
683
+ availableAmountUsdEstimate: string;
684
+ supplyAmountUsdEstimate: string;
685
+ borrowedAmountUsdEstimate: string;
686
+ borrowApr: string;
687
+ supplyApr: string;
688
+ ctokenSupply: string;
689
+ cumulativeBorrowRate: string;
690
+ price: string;
691
+ smoothedPrice: string;
692
+ priceLastUpdateTimestampS: number;
693
+ timestamp: number;
694
+ digest: string;
695
+ eventIndex: number;
696
+ sender: string;
697
+ };
698
+ export type DownsampledApiReserveAssetDataEvent = ApiReserveAssetDataEvent & {
699
+ sampletimestamp: number;
700
+ };
@@ -1,2 +1,2 @@
1
1
  export declare const PACKAGE_ID = "0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf";
2
- export declare const PUBLISHED_AT = "0x5fbbb0297c80ae2c382bbe21e71408b3a11259b46cdbaaa1bb261c1d5fc93f02";
2
+ export declare const PUBLISHED_AT = "0x157dbf1830dab58ec67e025c1200a32a22a31150beba4d3de8e39571547f8cc2";
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PUBLISHED_AT = exports.PACKAGE_ID = void 0;
4
4
  exports.PACKAGE_ID = "0xf95b06141ed4a174f239417323bde3f209b972f5930d8521ea38a52aff3a6ddf";
5
- exports.PUBLISHED_AT = "0x5fbbb0297c80ae2c382bbe21e71408b3a11259b46cdbaaa1bb261c1d5fc93f02";
5
+ exports.PUBLISHED_AT = "0x157dbf1830dab58ec67e025c1200a32a22a31150beba4d3de8e39571547f8cc2";
@@ -0,0 +1 @@
1
+ export * from "../../core/api/events";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../../core/api/events"), exports);
@@ -0,0 +1 @@
1
+ export * from "../../core/parsers/apiReserveAssetDataEvent";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../../core/parsers/apiReserveAssetDataEvent"), exports);
@@ -3,6 +3,8 @@ import { LendingMarket } from "../_generated/suilend/lending-market/structs";
3
3
  import { Reserve } from "../_generated/suilend/reserve/structs";
4
4
  export type ParsedLendingMarket = ReturnType<typeof parseLendingMarket>;
5
5
  export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>, reserves: Reserve<string>[], coinMetadataMap: Record<string, CoinMetadata>, currentTime: number) => {
6
+ id: any;
7
+ version: any;
6
8
  reserves: {
7
9
  config: {
8
10
  $typeName: any;
@@ -30,7 +32,7 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
30
32
  };
31
33
  $typeName: any;
32
34
  id: any;
33
- arrayIndex: any;
35
+ arrayIndex: bigint;
34
36
  coinType: string;
35
37
  mintDecimals: any;
36
38
  priceIdentifier: string;
@@ -53,7 +55,6 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
53
55
  poolRewards: {
54
56
  $typeName: any;
55
57
  id: any;
56
- rewardIndex: number;
57
58
  poolRewardManagerId: any;
58
59
  coinType: string;
59
60
  startTimeMs: number;
@@ -62,8 +63,9 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
62
63
  allocatedRewards: import("bignumber.js").BigNumber;
63
64
  cumulativeRewardsPerShare: import("bignumber.js").BigNumber;
64
65
  numUserRewardManagers: any;
65
- mintDecimals: number;
66
+ rewardIndex: number;
66
67
  symbol: string;
68
+ mintDecimals: number;
67
69
  }[];
68
70
  lastUpdateTimeMs: any;
69
71
  };
@@ -74,7 +76,6 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
74
76
  poolRewards: {
75
77
  $typeName: any;
76
78
  id: any;
77
- rewardIndex: number;
78
79
  poolRewardManagerId: any;
79
80
  coinType: string;
80
81
  startTimeMs: number;
@@ -83,8 +84,9 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
83
84
  allocatedRewards: import("bignumber.js").BigNumber;
84
85
  cumulativeRewardsPerShare: import("bignumber.js").BigNumber;
85
86
  numUserRewardManagers: any;
86
- mintDecimals: number;
87
+ rewardIndex: number;
87
88
  symbol: string;
89
+ mintDecimals: number;
88
90
  }[];
89
91
  lastUpdateTimeMs: any;
90
92
  };
@@ -102,6 +104,7 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
102
104
  description: string;
103
105
  totalDeposits: import("bignumber.js").BigNumber;
104
106
  }[];
107
+ obligations: any;
105
108
  rateLimiter: {
106
109
  config: {
107
110
  windowDuration: any;
@@ -113,6 +116,9 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
113
116
  curQty: any;
114
117
  remainingOutflow: import("bignumber.js").BigNumber;
115
118
  };
119
+ feeReceiver: any;
120
+ badDebtUsd: import("bignumber.js").BigNumber;
121
+ badDebtLimitUsd: import("bignumber.js").BigNumber;
116
122
  depositedAmountUsd: import("bignumber.js").BigNumber;
117
123
  borrowedAmountUsd: import("bignumber.js").BigNumber;
118
124
  tvlUsd: import("bignumber.js").BigNumber;
@@ -32,7 +32,7 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
32
32
  };
33
33
  $typeName: any;
34
34
  id: any;
35
- arrayIndex: any;
35
+ arrayIndex: bigint;
36
36
  coinType: string;
37
37
  mintDecimals: any;
38
38
  priceIdentifier: string;
@@ -55,7 +55,6 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
55
55
  poolRewards: {
56
56
  $typeName: any;
57
57
  id: any;
58
- rewardIndex: number;
59
58
  poolRewardManagerId: any;
60
59
  coinType: string;
61
60
  startTimeMs: number;
@@ -64,8 +63,9 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
64
63
  allocatedRewards: import("bignumber.js").BigNumber;
65
64
  cumulativeRewardsPerShare: import("bignumber.js").BigNumber;
66
65
  numUserRewardManagers: any;
67
- mintDecimals: number;
66
+ rewardIndex: number;
68
67
  symbol: string;
68
+ mintDecimals: number;
69
69
  }[];
70
70
  lastUpdateTimeMs: any;
71
71
  };
@@ -76,7 +76,6 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
76
76
  poolRewards: {
77
77
  $typeName: any;
78
78
  id: any;
79
- rewardIndex: number;
80
79
  poolRewardManagerId: any;
81
80
  coinType: string;
82
81
  startTimeMs: number;
@@ -85,8 +84,9 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
85
84
  allocatedRewards: import("bignumber.js").BigNumber;
86
85
  cumulativeRewardsPerShare: import("bignumber.js").BigNumber;
87
86
  numUserRewardManagers: any;
88
- mintDecimals: number;
87
+ rewardIndex: number;
89
88
  symbol: string;
89
+ mintDecimals: number;
90
90
  }[];
91
91
  lastUpdateTimeMs: any;
92
92
  };
@@ -135,7 +135,6 @@ export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManag
135
135
  poolRewards: {
136
136
  $typeName: any;
137
137
  id: any;
138
- rewardIndex: number;
139
138
  poolRewardManagerId: any;
140
139
  coinType: string;
141
140
  startTimeMs: number;
@@ -144,15 +143,15 @@ export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManag
144
143
  allocatedRewards: import("bignumber.js").BigNumber;
145
144
  cumulativeRewardsPerShare: import("bignumber.js").BigNumber;
146
145
  numUserRewardManagers: any;
147
- mintDecimals: number;
146
+ rewardIndex: number;
148
147
  symbol: string;
148
+ mintDecimals: number;
149
149
  }[];
150
150
  lastUpdateTimeMs: any;
151
151
  };
152
152
  export declare const parsePoolReward: (poolReward: PoolReward | null, rewardIndex: number, coinMetadataMap: Record<string, CoinMetadata>) => {
153
153
  $typeName: any;
154
154
  id: any;
155
- rewardIndex: number;
156
155
  poolRewardManagerId: any;
157
156
  coinType: string;
158
157
  startTimeMs: number;
@@ -161,6 +160,7 @@ export declare const parsePoolReward: (poolReward: PoolReward | null, rewardInde
161
160
  allocatedRewards: import("bignumber.js").BigNumber;
162
161
  cumulativeRewardsPerShare: import("bignumber.js").BigNumber;
163
162
  numUserRewardManagers: any;
164
- mintDecimals: number;
163
+ rewardIndex: number;
165
164
  symbol: string;
165
+ mintDecimals: number;
166
166
  } | null;
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@suilend/sdk","version":"1.0.5","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.11.1","@mysten/sui.js":"0.51.2","bignumber.js":"^9.1.2","p-limit":"3.1.0","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.7","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/api/events":"./mainnet/api/events.js","./mainnet/parsers/apiReserveAssetDataEvent":"./mainnet/parsers/apiReserveAssetDataEvent.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.11.1","@mysten/sui.js":"0.51.2","bignumber.js":"^9.1.2","p-limit":"3.1.0","uuid":"^9.0.1"},"devDependencies":{"@types/node":"^20.12.7","ts-node":"^10.9.2","typescript":"^5.3.3"}}