@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 +5 -1
- package/core/api/events.d.ts +2 -0
- package/core/api/events.js +19 -0
- package/core/constants.d.ts +3 -2
- package/core/constants.js +6 -2
- package/core/parsers/apiReserveAssetDataEvent.d.ts +58 -0
- package/core/parsers/apiReserveAssetDataEvent.js +85 -0
- package/core/parsers/lendingMarket.d.ts +11 -8
- package/core/parsers/lendingMarket.js +12 -0
- package/core/parsers/obligation.d.ts +10 -10
- package/core/parsers/obligation.js +6 -5
- package/core/parsers/reserve.d.ts +9 -9
- package/core/parsers/reserve.js +10 -10
- package/core/types.d.ts +26 -0
- package/mainnet/_generated/suilend/index.d.ts +1 -1
- package/mainnet/_generated/suilend/index.js +1 -1
- package/mainnet/api/events.d.ts +1 -0
- package/mainnet/api/events.js +17 -0
- package/mainnet/parsers/apiReserveAssetDataEvent.d.ts +1 -0
- package/mainnet/parsers/apiReserveAssetDataEvent.js +17 -0
- package/mainnet/parsers/lendingMarket.d.ts +11 -5
- package/mainnet/parsers/reserve.d.ts +9 -9
- package/package.json +1 -1
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))
|
|
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,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;
|
package/core/constants.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
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
|
-
|
|
5
|
-
exports.
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
166
|
+
rewardIndex: number;
|
|
168
167
|
symbol: string;
|
|
168
|
+
mintDecimals: number;
|
|
169
169
|
} | null;
|
package/core/parsers/reserve.js
CHANGED
|
@@ -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
|
|
22
|
-
const smoothedPrice = new bignumber_js_1.default(reserve.smoothedPrice.value.toString()).div(constants_1.WAD
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 = "
|
|
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 = "
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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"}}
|