@suilend/sdk 12.7.0 → 13.0.0-next.g803bba0
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/_generated/_dependencies/pyth-2/price-identifier/structs.d.ts +46 -0
- package/_generated/_dependencies/{source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e → pyth-2}/price-identifier/structs.js +45 -25
- package/_generated/_dependencies/std/ascii/structs.d.ts +100 -0
- package/_generated/_dependencies/{source/0x1 → std}/ascii/structs.js +153 -103
- package/_generated/_dependencies/{source/0x1 → std}/option/structs.d.ts +29 -21
- package/_generated/_dependencies/std/option/structs.js +155 -0
- package/_generated/_dependencies/std/type-name/structs.d.ts +65 -0
- package/_generated/_dependencies/{source/0x1 → std}/type-name/structs.js +49 -22
- package/_generated/_dependencies/sui/bag/structs.d.ts +75 -0
- package/_generated/_dependencies/sui/bag/structs.js +154 -0
- package/_generated/_dependencies/{source/0x2 → sui}/balance/structs.d.ts +80 -60
- package/_generated/_dependencies/sui/balance/structs.js +306 -0
- package/_generated/_dependencies/sui/object/structs.d.ts +104 -0
- package/_generated/_dependencies/{source/0x2 → sui}/object/structs.js +98 -46
- package/_generated/_dependencies/{source/0x2 → sui}/object-table/structs.d.ts +37 -30
- package/_generated/_dependencies/sui/object-table/structs.js +164 -0
- package/_generated/_envs/index.d.ts +3 -0
- package/_generated/_envs/index.js +18 -0
- package/_generated/_envs/mainnet.d.ts +2 -0
- package/_generated/_envs/mainnet.js +490 -0
- package/_generated/_framework/env.d.ts +137 -0
- package/_generated/_framework/env.js +261 -0
- package/_generated/_framework/reified.d.ts +68 -36
- package/_generated/_framework/reified.js +110 -98
- package/_generated/_framework/util.d.ts +4 -4
- package/_generated/_framework/util.js +82 -79
- package/_generated/_framework/vector.d.ts +11 -9
- package/_generated/_framework/vector.js +10 -10
- package/_generated/suilend/cell/structs.d.ts +24 -22
- package/_generated/suilend/cell/structs.js +68 -24
- package/_generated/suilend/decimal/structs.d.ts +28 -24
- package/_generated/suilend/decimal/structs.js +45 -24
- package/_generated/suilend/index.d.ts +5 -6
- package/_generated/suilend/index.js +10 -19
- package/_generated/suilend/lending-market/functions.d.ts +1123 -149
- package/_generated/suilend/lending-market/functions.js +1121 -207
- package/_generated/suilend/lending-market/structs.d.ts +985 -1290
- package/_generated/suilend/lending-market/structs.js +2482 -1282
- package/_generated/suilend/lending-market-registry/functions.d.ts +32 -3
- package/_generated/suilend/lending-market-registry/functions.js +30 -6
- package/_generated/suilend/liquidity-mining/structs.d.ts +200 -333
- package/_generated/suilend/liquidity-mining/structs.js +449 -319
- package/_generated/suilend/obligation/structs.d.ts +406 -918
- package/_generated/suilend/obligation/structs.js +786 -596
- package/_generated/suilend/rate-limiter/functions.d.ts +134 -15
- package/_generated/suilend/rate-limiter/functions.js +139 -21
- package/_generated/suilend/rate-limiter/structs.d.ts +72 -80
- package/_generated/suilend/rate-limiter/structs.js +98 -48
- package/_generated/suilend/reserve/structs.d.ts +611 -904
- package/_generated/suilend/reserve/structs.js +1528 -736
- package/_generated/suilend/reserve-config/functions.d.ts +718 -96
- package/_generated/suilend/reserve-config/functions.js +751 -157
- package/_generated/suilend/reserve-config/structs.d.ts +148 -163
- package/_generated/suilend/reserve-config/structs.js +260 -94
- package/client.d.ts +2 -2
- package/client.js +22 -39
- package/lib/initialize.d.ts +76 -76
- package/lib/initialize.js +10 -10
- package/lib/proCompatible.js +5 -5
- package/package.json +1 -1
- package/parsers/lendingMarket.d.ts +9 -9
- package/parsers/obligation.d.ts +14 -14
- package/parsers/obligation.js +4 -4
- package/parsers/rateLimiter.d.ts +1 -1
- package/parsers/reserve.d.ts +12 -12
- package/parsers/reserve.js +2 -2
- package/strategies.d.ts +14 -14
- package/utils/simulate.d.ts +1 -1
- package/utils/simulate.js +5 -5
- package/_generated/_dependencies/source/0x1/ascii/structs.d.ts +0 -84
- package/_generated/_dependencies/source/0x1/index.d.ts +0 -3
- package/_generated/_dependencies/source/0x1/index.js +0 -3
- package/_generated/_dependencies/source/0x1/option/structs.js +0 -110
- package/_generated/_dependencies/source/0x1/type-name/structs.d.ts +0 -47
- package/_generated/_dependencies/source/0x2/bag/structs.d.ts +0 -52
- package/_generated/_dependencies/source/0x2/bag/structs.js +0 -113
- package/_generated/_dependencies/source/0x2/balance/structs.js +0 -210
- package/_generated/_dependencies/source/0x2/index.d.ts +0 -3
- package/_generated/_dependencies/source/0x2/index.js +0 -3
- package/_generated/_dependencies/source/0x2/object/structs.d.ts +0 -82
- package/_generated/_dependencies/source/0x2/object-table/structs.js +0 -115
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +0 -4
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +0 -4
- package/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +0 -46
package/lib/proCompatible.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getPublishedAt } from "../_generated/_envs/index.js";
|
|
2
2
|
import { obj, pure } from "../_generated/_framework/util.js";
|
|
3
3
|
/** `priceInfo` must come from the upgraded Pyth package; a legacy one aborts. */
|
|
4
4
|
export function refreshReservePriceProCompatible(tx, typeArg, args) {
|
|
5
5
|
return tx.moveCall({
|
|
6
|
-
target: `${
|
|
6
|
+
target: `${getPublishedAt("suilend")}::lending_market::refresh_reserve_price_pro_compatible`,
|
|
7
7
|
typeArguments: [typeArg],
|
|
8
8
|
arguments: [
|
|
9
9
|
obj(tx, args.lendingMarket),
|
|
@@ -47,7 +47,7 @@ export function priceInfoPublishTime(json, priceInfoObjectId) {
|
|
|
47
47
|
*/
|
|
48
48
|
export function addReserveProCompatible(tx, typeArgs, args) {
|
|
49
49
|
return tx.moveCall({
|
|
50
|
-
target: `${
|
|
50
|
+
target: `${getPublishedAt("suilend")}::lending_market::add_reserve_pro_compatible`,
|
|
51
51
|
typeArguments: typeArgs,
|
|
52
52
|
arguments: [
|
|
53
53
|
obj(tx, args.lendingMarketOwnerCap),
|
|
@@ -62,7 +62,7 @@ export function addReserveProCompatible(tx, typeArgs, args) {
|
|
|
62
62
|
/** The `Currency`-based form; same shape, different metadata argument. */
|
|
63
63
|
export function addReserveV2ProCompatible(tx, typeArgs, args) {
|
|
64
64
|
return tx.moveCall({
|
|
65
|
-
target: `${
|
|
65
|
+
target: `${getPublishedAt("suilend")}::lending_market::add_reserve_v2_pro_compatible`,
|
|
66
66
|
typeArguments: typeArgs,
|
|
67
67
|
arguments: [
|
|
68
68
|
obj(tx, args.lendingMarketOwnerCap),
|
|
@@ -76,7 +76,7 @@ export function addReserveV2ProCompatible(tx, typeArgs, args) {
|
|
|
76
76
|
}
|
|
77
77
|
export function changeReservePriceFeedProCompatible(tx, typeArgs, args) {
|
|
78
78
|
return tx.moveCall({
|
|
79
|
-
target: `${
|
|
79
|
+
target: `${getPublishedAt("suilend")}::lending_market::change_reserve_price_feed_pro_compatible`,
|
|
80
80
|
typeArguments: typeArgs,
|
|
81
81
|
arguments: [
|
|
82
82
|
obj(tx, args.lendingMarketOwnerCap),
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@suilend/sdk","version":"
|
|
1
|
+
{"name":"@suilend/sdk","version":"13.0.0-next.g803bba0","private":false,"description":"A TypeScript SDK for interacting with the Suilend program","author":"Suilend","license":"MIT","main":"./index.js","exports":{".":"./index.js","./client":"./client.js","./mmt":"./mmt.js","./strategies":"./strategies.js","./api/events":"./api/events.js","./api":"./api/index.js","./lib/constants":"./lib/constants.js","./lib":"./lib/index.js","./lib/initialize":"./lib/initialize.js","./lib/liquidityMining":"./lib/liquidityMining.js","./lib/proCompatible":"./lib/proCompatible.js","./lib/pyth":"./lib/pyth.js","./lib/strategyOwnerCap":"./lib/strategyOwnerCap.js","./lib/transactions":"./lib/transactions.js","./lib/types":"./lib/types.js","./margin":"./margin/index.js","./parsers/apiReserveAssetDataEvent":"./parsers/apiReserveAssetDataEvent.js","./parsers":"./parsers/index.js","./parsers/lendingMarket":"./parsers/lendingMarket.js","./parsers/obligation":"./parsers/obligation.js","./parsers/rateLimiter":"./parsers/rateLimiter.js","./parsers/reserve":"./parsers/reserve.js","./swap":"./swap/index.js","./swap/quote":"./swap/quote.js","./swap/transaction":"./swap/transaction.js","./utils/events":"./utils/events.js","./utils/feedId":"./utils/feedId.js","./utils":"./utils/index.js","./utils/obligation":"./utils/obligation.js","./utils/simulate":"./utils/simulate.js","./_generated/_envs":"./_generated/_envs/index.js","./_generated/_envs/mainnet":"./_generated/_envs/mainnet.js","./_generated/_framework/env":"./_generated/_framework/env.js","./_generated/_framework/reified":"./_generated/_framework/reified.js","./_generated/_framework/util":"./_generated/_framework/util.js","./_generated/_framework/vector":"./_generated/_framework/vector.js","./_generated/suilend":"./_generated/suilend/index.js","./margin/margin/admin_cap":"./margin/margin/admin_cap.js","./margin/margin/market":"./margin/margin/market.js","./margin/margin/permissions":"./margin/margin/permissions.js","./margin/margin/position":"./margin/margin/position.js","./margin/margin/router":"./margin/margin/router.js","./margin/margin/version":"./margin/margin/version.js","./margin/utils":"./margin/utils/index.js","./_generated/suilend/cell/structs":"./_generated/suilend/cell/structs.js","./_generated/suilend/decimal/structs":"./_generated/suilend/decimal/structs.js","./_generated/suilend/lending-market/functions":"./_generated/suilend/lending-market/functions.js","./_generated/suilend/lending-market/structs":"./_generated/suilend/lending-market/structs.js","./_generated/suilend/lending-market-registry/functions":"./_generated/suilend/lending-market-registry/functions.js","./_generated/suilend/liquidity-mining/structs":"./_generated/suilend/liquidity-mining/structs.js","./_generated/suilend/obligation/structs":"./_generated/suilend/obligation/structs.js","./_generated/suilend/rate-limiter/functions":"./_generated/suilend/rate-limiter/functions.js","./_generated/suilend/rate-limiter/structs":"./_generated/suilend/rate-limiter/structs.js","./_generated/suilend/reserve/structs":"./_generated/suilend/reserve/structs.js","./_generated/suilend/reserve-config/functions":"./_generated/suilend/reserve-config/functions.js","./_generated/suilend/reserve-config/structs":"./_generated/suilend/reserve-config/structs.js","./_generated/_dependencies/pyth-2/price-identifier/structs":"./_generated/_dependencies/pyth-2/price-identifier/structs.js","./_generated/_dependencies/std/ascii/structs":"./_generated/_dependencies/std/ascii/structs.js","./_generated/_dependencies/std/option/structs":"./_generated/_dependencies/std/option/structs.js","./_generated/_dependencies/std/type-name/structs":"./_generated/_dependencies/std/type-name/structs.js","./_generated/_dependencies/sui/bag/structs":"./_generated/_dependencies/sui/bag/structs.js","./_generated/_dependencies/sui/balance/structs":"./_generated/_dependencies/sui/balance/structs.js","./_generated/_dependencies/sui/object/structs":"./_generated/_dependencies/sui/object/structs.js","./_generated/_dependencies/sui/object-table/structs":"./_generated/_dependencies/sui/object-table/structs.js","./margin/margin/deps/std/type_name":"./margin/margin/deps/std/type_name.js","./margin/margin/deps/sui/vec_set":"./margin/margin/deps/sui/vec_set.js","./margin/margin/deps/suilend/lending_market":"./margin/margin/deps/suilend/lending_market.js"},"types":"./index.d.ts","scripts":{"codegen":"node ./codegen.js","codegen:install":"node ./install-codegen.js","build":"rm -rf ./dist && tsc && node ./fix-esm-imports.js","typecheck":"tsc --noEmit && tsc --noEmit -p tsconfig.test.json","test":"vitest run","lint:ci":"yarn run typecheck","prettier":"prettier --write src/ tests/","release":"yarn run build && node ./release.js && cd ./dist && npm publish --access public"},"repository":{"type":"git","url":"git+https://github.com/fireflyprotocol/lending-mono.git","directory":"ts/sdks/sdk"},"dependencies":{"@bluefin-exchange/bluefin7k-aggregator-sdk":"7.6.3","@cetusprotocol/aggregator-sdk":"1.7.3","@flowx-finance/sdk":"2.1.0","@pythnetwork/hermes-client":"3.1.0","@pythnetwork/pyth-sui-js":"4.0.0","@suilend/springsui-sdk":"4.1.0","bignumber.js":"11.1.5","bn.js":"5.2.5","crypto-js":"4.2.0","lodash":"4.18.1","p-limit":"7.3.3","uuid":"14.0.2"},"devDependencies":{"@mysten/bcs":"2.1.1","@mysten/sui":"2.29.0","@suilend/sui-core":"2.1.0","@tsconfig/recommended":"1.0.13","@types/bn.js":"5.2.0","@types/lodash":"4.17.25","@types/node":"26.5.1","fast-check":"4.10.2","prettier":"3.9.9","ts-node":"10.9.2","typescript":"6.0.3","vite":"8.3.0","vitest":"5.0.1"},"peerDependencies":{"@mysten/bcs":"^2.1.1","@mysten/sui":">=2.22.1 <3","@suilend/sui-core":"^2.0.1"},"type":"module"}
|
|
@@ -8,7 +8,7 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
|
|
|
8
8
|
version: bigint;
|
|
9
9
|
reserves: {
|
|
10
10
|
config: {
|
|
11
|
-
$typeName: string
|
|
11
|
+
$typeName: `${string}::reserve_config::ReserveConfig`;
|
|
12
12
|
openLtvPct: number;
|
|
13
13
|
closeLtvPct: number;
|
|
14
14
|
maxCloseLtvPct: number;
|
|
@@ -25,14 +25,14 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
|
|
|
25
25
|
isolated: boolean;
|
|
26
26
|
openAttributedBorrowLimitUsd: number;
|
|
27
27
|
closeAttributedBorrowLimitUsd: number;
|
|
28
|
-
additionalFields: import("../_generated/_dependencies/
|
|
28
|
+
additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
|
|
29
29
|
interestRate: {
|
|
30
30
|
id: string;
|
|
31
31
|
utilPercent: BigNumber;
|
|
32
32
|
aprPercent: BigNumber;
|
|
33
33
|
}[];
|
|
34
34
|
};
|
|
35
|
-
$typeName: string
|
|
35
|
+
$typeName: `${string}::reserve::Reserve`;
|
|
36
36
|
id: string;
|
|
37
37
|
arrayIndex: bigint;
|
|
38
38
|
coinType: string;
|
|
@@ -51,11 +51,11 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
|
|
|
51
51
|
unclaimedSpreadFees: BigNumber;
|
|
52
52
|
attributedBorrowValue: BigNumber;
|
|
53
53
|
depositsPoolRewardManager: {
|
|
54
|
-
$typeName: string
|
|
54
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
55
55
|
id: string;
|
|
56
56
|
totalShares: bigint;
|
|
57
57
|
poolRewards: {
|
|
58
|
-
$typeName: string
|
|
58
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
59
59
|
id: string;
|
|
60
60
|
poolRewardManagerId: string;
|
|
61
61
|
coinType: string;
|
|
@@ -72,11 +72,11 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
|
|
|
72
72
|
lastUpdateTimeMs: bigint;
|
|
73
73
|
};
|
|
74
74
|
borrowsPoolRewardManager: {
|
|
75
|
-
$typeName: string
|
|
75
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
76
76
|
id: string;
|
|
77
77
|
totalShares: bigint;
|
|
78
78
|
poolRewards: {
|
|
79
|
-
$typeName: string
|
|
79
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
80
80
|
id: string;
|
|
81
81
|
poolRewardManagerId: string;
|
|
82
82
|
coinType: string;
|
|
@@ -115,13 +115,13 @@ export declare const parseLendingMarket: (lendingMarket: LendingMarket<string>,
|
|
|
115
115
|
description: string;
|
|
116
116
|
totalDeposits: BigNumber;
|
|
117
117
|
}[];
|
|
118
|
-
obligations: import("../_generated/_dependencies/
|
|
118
|
+
obligations: import("../_generated/_dependencies/sui/object-table/structs").ObjectTable<"0x2::object::ID", `${string}::obligation::Obligation<${string}>`>;
|
|
119
119
|
rateLimiter: {
|
|
120
120
|
config: {
|
|
121
121
|
windowDuration: bigint;
|
|
122
122
|
maxOutflow: bigint;
|
|
123
123
|
};
|
|
124
|
-
$typeName: string
|
|
124
|
+
$typeName: `${string}::rate_limiter::RateLimiter`;
|
|
125
125
|
prevQty: bigint;
|
|
126
126
|
windowStart: bigint;
|
|
127
127
|
curQty: bigint;
|
package/parsers/obligation.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
28
28
|
depositedCtokenAmount: BigNumber;
|
|
29
29
|
reserve: {
|
|
30
30
|
config: {
|
|
31
|
-
$typeName: string
|
|
31
|
+
$typeName: `${string}::reserve_config::ReserveConfig`;
|
|
32
32
|
openLtvPct: number;
|
|
33
33
|
closeLtvPct: number;
|
|
34
34
|
maxCloseLtvPct: number;
|
|
@@ -45,14 +45,14 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
45
45
|
isolated: boolean;
|
|
46
46
|
openAttributedBorrowLimitUsd: number;
|
|
47
47
|
closeAttributedBorrowLimitUsd: number;
|
|
48
|
-
additionalFields: import("../_generated/_dependencies/
|
|
48
|
+
additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
|
|
49
49
|
interestRate: {
|
|
50
50
|
id: string;
|
|
51
51
|
utilPercent: BigNumber;
|
|
52
52
|
aprPercent: BigNumber;
|
|
53
53
|
}[];
|
|
54
54
|
};
|
|
55
|
-
$typeName: string
|
|
55
|
+
$typeName: `${string}::reserve::Reserve`;
|
|
56
56
|
id: string;
|
|
57
57
|
arrayIndex: bigint;
|
|
58
58
|
coinType: string;
|
|
@@ -71,11 +71,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
71
71
|
unclaimedSpreadFees: BigNumber;
|
|
72
72
|
attributedBorrowValue: BigNumber;
|
|
73
73
|
depositsPoolRewardManager: {
|
|
74
|
-
$typeName: string
|
|
74
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
75
75
|
id: string;
|
|
76
76
|
totalShares: bigint;
|
|
77
77
|
poolRewards: {
|
|
78
|
-
$typeName: string
|
|
78
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
79
79
|
id: string;
|
|
80
80
|
poolRewardManagerId: string;
|
|
81
81
|
coinType: string;
|
|
@@ -92,11 +92,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
92
92
|
lastUpdateTimeMs: bigint;
|
|
93
93
|
};
|
|
94
94
|
borrowsPoolRewardManager: {
|
|
95
|
-
$typeName: string
|
|
95
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
96
96
|
id: string;
|
|
97
97
|
totalShares: bigint;
|
|
98
98
|
poolRewards: {
|
|
99
|
-
$typeName: string
|
|
99
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
100
100
|
id: string;
|
|
101
101
|
poolRewardManagerId: string;
|
|
102
102
|
coinType: string;
|
|
@@ -146,7 +146,7 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
146
146
|
borrowedAmountUsd: BigNumber;
|
|
147
147
|
reserve: {
|
|
148
148
|
config: {
|
|
149
|
-
$typeName: string
|
|
149
|
+
$typeName: `${string}::reserve_config::ReserveConfig`;
|
|
150
150
|
openLtvPct: number;
|
|
151
151
|
closeLtvPct: number;
|
|
152
152
|
maxCloseLtvPct: number;
|
|
@@ -163,14 +163,14 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
163
163
|
isolated: boolean;
|
|
164
164
|
openAttributedBorrowLimitUsd: number;
|
|
165
165
|
closeAttributedBorrowLimitUsd: number;
|
|
166
|
-
additionalFields: import("../_generated/_dependencies/
|
|
166
|
+
additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
|
|
167
167
|
interestRate: {
|
|
168
168
|
id: string;
|
|
169
169
|
utilPercent: BigNumber;
|
|
170
170
|
aprPercent: BigNumber;
|
|
171
171
|
}[];
|
|
172
172
|
};
|
|
173
|
-
$typeName: string
|
|
173
|
+
$typeName: `${string}::reserve::Reserve`;
|
|
174
174
|
id: string;
|
|
175
175
|
arrayIndex: bigint;
|
|
176
176
|
coinType: string;
|
|
@@ -189,11 +189,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
189
189
|
unclaimedSpreadFees: BigNumber;
|
|
190
190
|
attributedBorrowValue: BigNumber;
|
|
191
191
|
depositsPoolRewardManager: {
|
|
192
|
-
$typeName: string
|
|
192
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
193
193
|
id: string;
|
|
194
194
|
totalShares: bigint;
|
|
195
195
|
poolRewards: {
|
|
196
|
-
$typeName: string
|
|
196
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
197
197
|
id: string;
|
|
198
198
|
poolRewardManagerId: string;
|
|
199
199
|
coinType: string;
|
|
@@ -210,11 +210,11 @@ export declare const parseObligation: (obligation: Obligation<string>, parsedRes
|
|
|
210
210
|
lastUpdateTimeMs: bigint;
|
|
211
211
|
};
|
|
212
212
|
borrowsPoolRewardManager: {
|
|
213
|
-
$typeName: string
|
|
213
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
214
214
|
id: string;
|
|
215
215
|
totalShares: bigint;
|
|
216
216
|
poolRewards: {
|
|
217
|
-
$typeName: string
|
|
217
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
218
218
|
id: string;
|
|
219
219
|
poolRewardManagerId: string;
|
|
220
220
|
coinType: string;
|
package/parsers/obligation.js
CHANGED
|
@@ -12,10 +12,10 @@ export const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
|
|
|
12
12
|
let depositPositionCount = 0;
|
|
13
13
|
let borrowPositionCount = 0;
|
|
14
14
|
const deposits = obligation.deposits.map((deposit) => {
|
|
15
|
-
const coinType = normalizeStructTag(deposit.coinType
|
|
15
|
+
const coinType = normalizeStructTag(deposit.coinType);
|
|
16
16
|
const reserve = parsedReserveMap[coinType];
|
|
17
17
|
if (!reserve)
|
|
18
|
-
throw new Error(`Reserve with coinType ${deposit.coinType
|
|
18
|
+
throw new Error(`Reserve with coinType ${deposit.coinType} not found`);
|
|
19
19
|
depositPositionCount++;
|
|
20
20
|
const depositedCtokenAmount = new BigNumber(deposit.depositedCtokenAmount.toString());
|
|
21
21
|
const depositedAmount = depositedCtokenAmount
|
|
@@ -44,10 +44,10 @@ export const parseObligation = (obligation, parsedReserveMap, isStrategy) => {
|
|
|
44
44
|
};
|
|
45
45
|
});
|
|
46
46
|
const borrows = obligation.borrows.map((borrow) => {
|
|
47
|
-
const coinType = normalizeStructTag(borrow.coinType
|
|
47
|
+
const coinType = normalizeStructTag(borrow.coinType);
|
|
48
48
|
const reserve = parsedReserveMap[coinType];
|
|
49
49
|
if (!reserve)
|
|
50
|
-
throw new Error(`Reserve with coinType ${borrow.coinType
|
|
50
|
+
throw new Error(`Reserve with coinType ${borrow.coinType} not found`);
|
|
51
51
|
borrowPositionCount++;
|
|
52
52
|
const cumulativeBorrowRate = new BigNumber(borrow.cumulativeBorrowRate.value.toString()).div(WAD);
|
|
53
53
|
const borrowedAmountInitial = new BigNumber(borrow.borrowedAmount.value.toString())
|
package/parsers/rateLimiter.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const parseRateLimiter: (rateLimiter: RateLimiter, nowS: number)
|
|
|
7
7
|
windowDuration: bigint;
|
|
8
8
|
maxOutflow: bigint;
|
|
9
9
|
};
|
|
10
|
-
$typeName: string
|
|
10
|
+
$typeName: `${string}::rate_limiter::RateLimiter`;
|
|
11
11
|
prevQty: bigint;
|
|
12
12
|
windowStart: bigint;
|
|
13
13
|
curQty: bigint;
|
package/parsers/reserve.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type ParsedPoolRewardManager = ReturnType<typeof parsePoolRewardManager>;
|
|
|
8
8
|
export type ParsedPoolReward = NonNullable<ReturnType<typeof parsePoolReward>>;
|
|
9
9
|
export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
|
|
10
10
|
config: {
|
|
11
|
-
$typeName: string
|
|
11
|
+
$typeName: `${string}::reserve_config::ReserveConfig`;
|
|
12
12
|
openLtvPct: number;
|
|
13
13
|
closeLtvPct: number;
|
|
14
14
|
maxCloseLtvPct: number;
|
|
@@ -25,14 +25,14 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
|
|
|
25
25
|
isolated: boolean;
|
|
26
26
|
openAttributedBorrowLimitUsd: number;
|
|
27
27
|
closeAttributedBorrowLimitUsd: number;
|
|
28
|
-
additionalFields: import("../_generated/_dependencies/
|
|
28
|
+
additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
|
|
29
29
|
interestRate: {
|
|
30
30
|
id: string;
|
|
31
31
|
utilPercent: BigNumber;
|
|
32
32
|
aprPercent: BigNumber;
|
|
33
33
|
}[];
|
|
34
34
|
};
|
|
35
|
-
$typeName: string
|
|
35
|
+
$typeName: `${string}::reserve::Reserve`;
|
|
36
36
|
id: string;
|
|
37
37
|
arrayIndex: bigint;
|
|
38
38
|
coinType: string;
|
|
@@ -51,11 +51,11 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
|
|
|
51
51
|
unclaimedSpreadFees: BigNumber;
|
|
52
52
|
attributedBorrowValue: BigNumber;
|
|
53
53
|
depositsPoolRewardManager: {
|
|
54
|
-
$typeName: string
|
|
54
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
55
55
|
id: string;
|
|
56
56
|
totalShares: bigint;
|
|
57
57
|
poolRewards: {
|
|
58
|
-
$typeName: string
|
|
58
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
59
59
|
id: string;
|
|
60
60
|
poolRewardManagerId: string;
|
|
61
61
|
coinType: string;
|
|
@@ -72,11 +72,11 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
|
|
|
72
72
|
lastUpdateTimeMs: bigint;
|
|
73
73
|
};
|
|
74
74
|
borrowsPoolRewardManager: {
|
|
75
|
-
$typeName: string
|
|
75
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
76
76
|
id: string;
|
|
77
77
|
totalShares: bigint;
|
|
78
78
|
poolRewards: {
|
|
79
|
-
$typeName: string
|
|
79
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
80
80
|
id: string;
|
|
81
81
|
poolRewardManagerId: string;
|
|
82
82
|
coinType: string;
|
|
@@ -131,7 +131,7 @@ export declare const parseReserve: (reserve: Reserve<string>, coinMetadataMap: R
|
|
|
131
131
|
totalDeposits: BigNumber;
|
|
132
132
|
};
|
|
133
133
|
export declare const parseReserveConfig: (reserve: Reserve<string>) => {
|
|
134
|
-
$typeName: string
|
|
134
|
+
$typeName: `${string}::reserve_config::ReserveConfig`;
|
|
135
135
|
openLtvPct: number;
|
|
136
136
|
closeLtvPct: number;
|
|
137
137
|
maxCloseLtvPct: number;
|
|
@@ -148,7 +148,7 @@ export declare const parseReserveConfig: (reserve: Reserve<string>) => {
|
|
|
148
148
|
isolated: boolean;
|
|
149
149
|
openAttributedBorrowLimitUsd: number;
|
|
150
150
|
closeAttributedBorrowLimitUsd: number;
|
|
151
|
-
additionalFields: import("../_generated/_dependencies/
|
|
151
|
+
additionalFields: import("../_generated/_dependencies/sui/bag/structs").Bag;
|
|
152
152
|
interestRate: {
|
|
153
153
|
id: string;
|
|
154
154
|
utilPercent: BigNumber;
|
|
@@ -156,11 +156,11 @@ export declare const parseReserveConfig: (reserve: Reserve<string>) => {
|
|
|
156
156
|
}[];
|
|
157
157
|
};
|
|
158
158
|
export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManager, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
|
|
159
|
-
$typeName: string
|
|
159
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
160
160
|
id: string;
|
|
161
161
|
totalShares: bigint;
|
|
162
162
|
poolRewards: {
|
|
163
|
-
$typeName: string
|
|
163
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
164
164
|
id: string;
|
|
165
165
|
poolRewardManagerId: string;
|
|
166
166
|
coinType: string;
|
|
@@ -177,7 +177,7 @@ export declare const parsePoolRewardManager: (poolRewardManager: PoolRewardManag
|
|
|
177
177
|
lastUpdateTimeMs: bigint;
|
|
178
178
|
};
|
|
179
179
|
export declare const parsePoolReward: (poolReward: PoolReward | null, rewardIndex: number, coinMetadataMap: Record<string, SuiClientTypes.CoinMetadata>) => {
|
|
180
|
-
$typeName: string
|
|
180
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
181
181
|
id: string;
|
|
182
182
|
poolRewardManagerId: string;
|
|
183
183
|
coinType: string;
|
package/parsers/reserve.js
CHANGED
|
@@ -9,7 +9,7 @@ export const parseReserve = (reserve, coinMetadataMap) => {
|
|
|
9
9
|
const $typeName = reserve.$typeName;
|
|
10
10
|
const id = reserve.id;
|
|
11
11
|
const arrayIndex = BigInt(reserve.arrayIndex);
|
|
12
|
-
const coinType = normalizeStructTag(reserve.coinType
|
|
12
|
+
const coinType = normalizeStructTag(reserve.coinType);
|
|
13
13
|
const coinMetadata = coinMetadataMap[coinType];
|
|
14
14
|
const mintDecimals = reserve.mintDecimals;
|
|
15
15
|
const priceIdentifier = `0x${toHexString(reserve.priceIdentifier.bytes)}`;
|
|
@@ -174,7 +174,7 @@ export const parsePoolReward = (poolReward, rewardIndex, coinMetadataMap) => {
|
|
|
174
174
|
const $typeName = poolReward.$typeName;
|
|
175
175
|
const id = poolReward.id;
|
|
176
176
|
const poolRewardManagerId = poolReward.poolRewardManagerId;
|
|
177
|
-
const coinType = normalizeStructTag(poolReward.coinType
|
|
177
|
+
const coinType = normalizeStructTag(poolReward.coinType);
|
|
178
178
|
const coinMetadata = coinMetadataMap[coinType];
|
|
179
179
|
const mintDecimals = coinMetadata.decimals;
|
|
180
180
|
const startTimeMs = Number(poolReward.startTimeMs);
|
package/strategies.d.ts
CHANGED
|
@@ -57,7 +57,7 @@ export declare const addOrInsertStrategyDeposit: (_deposits: StrategyDeposit[],
|
|
|
57
57
|
export declare const hasStrategyPosition: (obligation: ParsedObligation) => boolean;
|
|
58
58
|
export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedReserve>) => {
|
|
59
59
|
config: {
|
|
60
|
-
$typeName: string
|
|
60
|
+
$typeName: `${string}::reserve_config::ReserveConfig`;
|
|
61
61
|
openLtvPct: number;
|
|
62
62
|
closeLtvPct: number;
|
|
63
63
|
maxCloseLtvPct: number;
|
|
@@ -74,14 +74,14 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
|
|
|
74
74
|
isolated: boolean;
|
|
75
75
|
openAttributedBorrowLimitUsd: number;
|
|
76
76
|
closeAttributedBorrowLimitUsd: number;
|
|
77
|
-
additionalFields: import("./_generated/_dependencies/
|
|
77
|
+
additionalFields: import("./_generated/_dependencies/sui/bag/structs").Bag;
|
|
78
78
|
interestRate: {
|
|
79
79
|
id: string;
|
|
80
80
|
utilPercent: BigNumber;
|
|
81
81
|
aprPercent: BigNumber;
|
|
82
82
|
}[];
|
|
83
83
|
};
|
|
84
|
-
$typeName: string
|
|
84
|
+
$typeName: `${string}::reserve::Reserve`;
|
|
85
85
|
id: string;
|
|
86
86
|
arrayIndex: bigint;
|
|
87
87
|
coinType: string;
|
|
@@ -100,11 +100,11 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
|
|
|
100
100
|
unclaimedSpreadFees: BigNumber;
|
|
101
101
|
attributedBorrowValue: BigNumber;
|
|
102
102
|
depositsPoolRewardManager: {
|
|
103
|
-
$typeName: string
|
|
103
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
104
104
|
id: string;
|
|
105
105
|
totalShares: bigint;
|
|
106
106
|
poolRewards: {
|
|
107
|
-
$typeName: string
|
|
107
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
108
108
|
id: string;
|
|
109
109
|
poolRewardManagerId: string;
|
|
110
110
|
coinType: string;
|
|
@@ -121,11 +121,11 @@ export declare const getStrategySuiReserve: (reserveMap: Record<string, ParsedRe
|
|
|
121
121
|
lastUpdateTimeMs: bigint;
|
|
122
122
|
};
|
|
123
123
|
borrowsPoolRewardManager: {
|
|
124
|
-
$typeName: string
|
|
124
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
125
125
|
id: string;
|
|
126
126
|
totalShares: bigint;
|
|
127
127
|
poolRewards: {
|
|
128
|
-
$typeName: string
|
|
128
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
129
129
|
id: string;
|
|
130
130
|
poolRewardManagerId: string;
|
|
131
131
|
coinType: string;
|
|
@@ -187,7 +187,7 @@ export declare const getStrategyDepositReserves: (reserveMap: Record<string, Par
|
|
|
187
187
|
export declare const getStrategyBorrowReserve: (reserveMap: Record<string, ParsedReserve>, strategyType: StrategyType) => ParsedReserve;
|
|
188
188
|
export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<string, ParsedReserve>, strategyType: StrategyType) => {
|
|
189
189
|
config: {
|
|
190
|
-
$typeName: string
|
|
190
|
+
$typeName: `${string}::reserve_config::ReserveConfig`;
|
|
191
191
|
openLtvPct: number;
|
|
192
192
|
closeLtvPct: number;
|
|
193
193
|
maxCloseLtvPct: number;
|
|
@@ -204,14 +204,14 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
|
|
|
204
204
|
isolated: boolean;
|
|
205
205
|
openAttributedBorrowLimitUsd: number;
|
|
206
206
|
closeAttributedBorrowLimitUsd: number;
|
|
207
|
-
additionalFields: import("./_generated/_dependencies/
|
|
207
|
+
additionalFields: import("./_generated/_dependencies/sui/bag/structs").Bag;
|
|
208
208
|
interestRate: {
|
|
209
209
|
id: string;
|
|
210
210
|
utilPercent: BigNumber;
|
|
211
211
|
aprPercent: BigNumber;
|
|
212
212
|
}[];
|
|
213
213
|
};
|
|
214
|
-
$typeName: string
|
|
214
|
+
$typeName: `${string}::reserve::Reserve`;
|
|
215
215
|
id: string;
|
|
216
216
|
arrayIndex: bigint;
|
|
217
217
|
coinType: string;
|
|
@@ -230,11 +230,11 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
|
|
|
230
230
|
unclaimedSpreadFees: BigNumber;
|
|
231
231
|
attributedBorrowValue: BigNumber;
|
|
232
232
|
depositsPoolRewardManager: {
|
|
233
|
-
$typeName: string
|
|
233
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
234
234
|
id: string;
|
|
235
235
|
totalShares: bigint;
|
|
236
236
|
poolRewards: {
|
|
237
|
-
$typeName: string
|
|
237
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
238
238
|
id: string;
|
|
239
239
|
poolRewardManagerId: string;
|
|
240
240
|
coinType: string;
|
|
@@ -251,11 +251,11 @@ export declare const getStrategyDefaultCurrencyReserve: (reserveMap: Record<stri
|
|
|
251
251
|
lastUpdateTimeMs: bigint;
|
|
252
252
|
};
|
|
253
253
|
borrowsPoolRewardManager: {
|
|
254
|
-
$typeName: string
|
|
254
|
+
$typeName: `${string}::liquidity_mining::PoolRewardManager`;
|
|
255
255
|
id: string;
|
|
256
256
|
totalShares: bigint;
|
|
257
257
|
poolRewards: {
|
|
258
|
-
$typeName: string
|
|
258
|
+
$typeName: `${string}::liquidity_mining::PoolReward`;
|
|
259
259
|
id: string;
|
|
260
260
|
poolRewardManagerId: string;
|
|
261
261
|
coinType: string;
|
package/utils/simulate.d.ts
CHANGED
|
@@ -164,7 +164,7 @@ export declare const compoundBorrowedAmount: (snapshotAmount: BigNumber, current
|
|
|
164
164
|
*/
|
|
165
165
|
export declare const compoundDebt: (borrow: Borrow, reserve: Reserve<string>) => Borrow;
|
|
166
166
|
export type ObligationHealthDepositInput = {
|
|
167
|
-
/** Matches `reserve.coinType
|
|
167
|
+
/** Matches `reserve.coinType` (unprefixed struct tag) — same field `refreshObligation` compares deposits against. */
|
|
168
168
|
coinType: string;
|
|
169
169
|
/** Raw ctoken unit count, i.e. `deposit.depositedCtokenAmount` as stored (Positions.quantity for a deposit row). */
|
|
170
170
|
depositedCtokenAmount: BigNumber;
|
package/utils/simulate.js
CHANGED
|
@@ -173,7 +173,7 @@ export const applyReservePriceFeeds = (reserves, priceFeeds) => {
|
|
|
173
173
|
return reserves.map((reserve) => {
|
|
174
174
|
const priceFeed = byId.get(reserveFeedId(reserve));
|
|
175
175
|
if (!priceFeed)
|
|
176
|
-
throw new Error(`Price feed not found for reserve ${reserve.coinType
|
|
176
|
+
throw new Error(`Price feed not found for reserve ${reserve.coinType}`);
|
|
177
177
|
return withFeedPrice(reserve, priceFeed);
|
|
178
178
|
});
|
|
179
179
|
};
|
|
@@ -260,7 +260,7 @@ export const applyReservePriceFeedsTolerant = (reserves, priceFeeds) => {
|
|
|
260
260
|
// normalizeStructTag'd). The raw on-chain form never compares equal to
|
|
261
261
|
// one of those keys — it lacks the `0x` prefix — so reporting it raw made
|
|
262
262
|
// the cross-reference this field exists for silently never match.
|
|
263
|
-
unpricedCoinTypes.push(normalizeStructTag(reserve.coinType
|
|
263
|
+
unpricedCoinTypes.push(normalizeStructTag(reserve.coinType));
|
|
264
264
|
return reserve;
|
|
265
265
|
}
|
|
266
266
|
return withFeedPrice(reserve, priceFeed);
|
|
@@ -320,7 +320,7 @@ export const updateUserRewardManager = (poolManager, userRewardManager, nowMs) =
|
|
|
320
320
|
return updatedUserRewardManager;
|
|
321
321
|
};
|
|
322
322
|
export const findReserveOrThrow = (reserves, coinType) => {
|
|
323
|
-
const reserve = reserves.find((r) => r.coinType
|
|
323
|
+
const reserve = reserves.find((r) => r.coinType === coinType);
|
|
324
324
|
if (!reserve) {
|
|
325
325
|
throw new Error(`Unable to find reserve for coin type ${coinType}`);
|
|
326
326
|
}
|
|
@@ -348,7 +348,7 @@ export function computeObligationRefresh(obligation, refreshedReserves, nowMs) {
|
|
|
348
348
|
let unhealthyBorrowValueUsd = new BigNumber(0);
|
|
349
349
|
const deposits = obligation.deposits.map((unrefreshedDeposit) => {
|
|
350
350
|
const deposit = { ...unrefreshedDeposit };
|
|
351
|
-
const reserve = findReserveOrThrow(refreshedReserves, deposit.coinType
|
|
351
|
+
const reserve = findReserveOrThrow(refreshedReserves, deposit.coinType);
|
|
352
352
|
const config = reserve.config.element;
|
|
353
353
|
userRewardManagers[Number(deposit.userRewardManagerIndex)] =
|
|
354
354
|
updateUserRewardManager(reserve.depositsPoolRewardManager, userRewardManagers[Number(deposit.userRewardManagerIndex)], nowMs);
|
|
@@ -364,7 +364,7 @@ export function computeObligationRefresh(obligation, refreshedReserves, nowMs) {
|
|
|
364
364
|
let weightedBorrowedValueUsd = new BigNumber(0);
|
|
365
365
|
let weightedBorrowedValueUpperBoundUsd = new BigNumber(0);
|
|
366
366
|
const borrows = obligation.borrows.map((unrefreshedBorrow) => {
|
|
367
|
-
const reserve = findReserveOrThrow(refreshedReserves, unrefreshedBorrow.coinType
|
|
367
|
+
const reserve = findReserveOrThrow(refreshedReserves, unrefreshedBorrow.coinType);
|
|
368
368
|
const config = reserve.config.element;
|
|
369
369
|
// Exact BigNumber-compounded amount, computed once and reused below for
|
|
370
370
|
// `borrow.borrowedAmount` and both market values. `compoundDebt` would
|