@defisaver/positions-sdk 2.1.139 → 2.1.140-dev
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/cjs/helpers/liquityV2Helpers/index.d.ts +2 -1
- package/cjs/helpers/liquityV2Helpers/index.js +3 -2
- package/cjs/liquityV2/index.js +3 -4
- package/cjs/types/liquityV2.d.ts +3 -0
- package/esm/helpers/liquityV2Helpers/index.d.ts +2 -1
- package/esm/helpers/liquityV2Helpers/index.js +3 -2
- package/esm/liquityV2/index.js +3 -4
- package/esm/types/liquityV2.d.ts +3 -0
- package/package.json +1 -1
- package/src/helpers/liquityV2Helpers/index.ts +4 -1
- package/src/liquityV2/index.ts +4 -3
- package/src/types/liquityV2.ts +3 -0
|
@@ -4,9 +4,10 @@ export declare const calculateNetApyLiquityV2: (usedAssets: LiquityV2UsedAssets,
|
|
|
4
4
|
totalInterestUsd: string;
|
|
5
5
|
incentiveUsd: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const getLiquityV2AggregatedPositionData: ({ usedAssets, assetsData, minCollRatio, interestRate, }: {
|
|
7
|
+
export declare const getLiquityV2AggregatedPositionData: ({ usedAssets, assetsData, minCollRatio, interestRate, liqRatio, }: {
|
|
8
8
|
usedAssets: LiquityV2UsedAssets;
|
|
9
9
|
assetsData: LiquityV2AssetsData;
|
|
10
10
|
minCollRatio: string;
|
|
11
11
|
interestRate: string;
|
|
12
|
+
liqRatio?: string;
|
|
12
13
|
}) => LiquityV2AggregatedTroveData;
|
|
@@ -38,11 +38,12 @@ const calculateNetApyLiquityV2 = (usedAssets, assetsData, interestRate) => {
|
|
|
38
38
|
return { netApy, totalInterestUsd, incentiveUsd };
|
|
39
39
|
};
|
|
40
40
|
exports.calculateNetApyLiquityV2 = calculateNetApyLiquityV2;
|
|
41
|
-
const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRatio, interestRate, }) => {
|
|
41
|
+
const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRatio, interestRate, liqRatio, }) => {
|
|
42
42
|
const payload = {};
|
|
43
43
|
payload.suppliedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, (usedAsset) => usedAsset, ({ suppliedUsd }) => suppliedUsd);
|
|
44
44
|
payload.borrowedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, (usedAsset) => usedAsset, ({ borrowedUsd }) => borrowedUsd);
|
|
45
45
|
payload.borrowLimitUsd = new decimal_js_1.default(payload.suppliedUsd).div(minCollRatio).mul(100).toString();
|
|
46
|
+
payload.liquidationLimitUsd = new decimal_js_1.default(payload.suppliedUsd).div(liqRatio !== null && liqRatio !== void 0 ? liqRatio : minCollRatio).mul(100).toString();
|
|
46
47
|
const leftToBorrowUsd = new decimal_js_1.default(payload.borrowLimitUsd).sub(payload.borrowedUsd);
|
|
47
48
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
48
49
|
payload.ratio = (+payload.suppliedUsd && +payload.borrowedUsd) ? new decimal_js_1.default(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
@@ -57,7 +58,7 @@ const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRat
|
|
|
57
58
|
payload.liquidationPrice = '';
|
|
58
59
|
if (leveragedType !== '') {
|
|
59
60
|
const assetPrice = assetsData[leveragedAsset].price;
|
|
60
|
-
payload.liquidationPrice = (0, moneymarket_1.calcLeverageLiqPrice)(leveragedType, assetPrice, payload.borrowedUsd, payload.
|
|
61
|
+
payload.liquidationPrice = (0, moneymarket_1.calcLeverageLiqPrice)(leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
|
|
61
62
|
}
|
|
62
63
|
payload.exposure = (0, moneymarket_1.getExposure)(payload.borrowedUsd, payload.suppliedUsd);
|
|
63
64
|
return payload;
|
package/cjs/liquityV2/index.js
CHANGED
|
@@ -322,15 +322,14 @@ const _getLiquityV2TroveData = (provider_1, network_1, _a, ...args_1) => __await
|
|
|
322
322
|
const interestBatchManager = data.interestBatchManager;
|
|
323
323
|
const lastInterestRateAdjTime = data.lastInterestRateAdjTime.toString();
|
|
324
324
|
const hasInterestBatchManager = !(0, utils_1.compareAddresses)(interestBatchManager, constants_1.ZERO_ADDRESS);
|
|
325
|
-
const
|
|
325
|
+
const borrowLimitRatio = hasInterestBatchManager ? new decimal_js_1.default(minCollRatio).add(batchCollRatio).toString() : minCollRatio;
|
|
326
326
|
const payload = Object.assign(Object.assign({ usedAssets,
|
|
327
327
|
troveId,
|
|
328
328
|
interestRate,
|
|
329
329
|
interestBatchManager,
|
|
330
330
|
debtInFront,
|
|
331
|
-
lastInterestRateAdjTime,
|
|
332
|
-
|
|
333
|
-
usedAssets, assetsData, minCollRatio: liqRatio, interestRate,
|
|
331
|
+
lastInterestRateAdjTime, liqRatio: minCollRatio, borrowLimitRatio, troveStatus: types_1.LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)] }, (0, liquityV2Helpers_1.getLiquityV2AggregatedPositionData)({
|
|
332
|
+
usedAssets, assetsData, minCollRatio: borrowLimitRatio, interestRate, liqRatio: minCollRatio,
|
|
334
333
|
})), { collRatio });
|
|
335
334
|
return payload;
|
|
336
335
|
});
|
package/cjs/types/liquityV2.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
84
84
|
suppliedUsd: string;
|
|
85
85
|
borrowedUsd: string;
|
|
86
86
|
borrowLimitUsd: string;
|
|
87
|
+
liquidationLimitUsd: string;
|
|
87
88
|
leftToBorrowUsd: string;
|
|
88
89
|
netApy: string;
|
|
89
90
|
incentiveUsd: string;
|
|
@@ -101,9 +102,11 @@ export interface LiquityV2TroveData {
|
|
|
101
102
|
ratio: string;
|
|
102
103
|
collRatio: string;
|
|
103
104
|
liqRatio: string;
|
|
105
|
+
borrowLimitRatio: string;
|
|
104
106
|
interestRate: string;
|
|
105
107
|
leftToBorrowUsd: string;
|
|
106
108
|
borrowLimitUsd: string;
|
|
109
|
+
liquidationLimitUsd: string;
|
|
107
110
|
suppliedUsd: string;
|
|
108
111
|
borrowedUsd: string;
|
|
109
112
|
netApy: string;
|
|
@@ -4,9 +4,10 @@ export declare const calculateNetApyLiquityV2: (usedAssets: LiquityV2UsedAssets,
|
|
|
4
4
|
totalInterestUsd: string;
|
|
5
5
|
incentiveUsd: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const getLiquityV2AggregatedPositionData: ({ usedAssets, assetsData, minCollRatio, interestRate, }: {
|
|
7
|
+
export declare const getLiquityV2AggregatedPositionData: ({ usedAssets, assetsData, minCollRatio, interestRate, liqRatio, }: {
|
|
8
8
|
usedAssets: LiquityV2UsedAssets;
|
|
9
9
|
assetsData: LiquityV2AssetsData;
|
|
10
10
|
minCollRatio: string;
|
|
11
11
|
interestRate: string;
|
|
12
|
+
liqRatio?: string;
|
|
12
13
|
}) => LiquityV2AggregatedTroveData;
|
|
@@ -31,11 +31,12 @@ export const calculateNetApyLiquityV2 = (usedAssets, assetsData, interestRate) =
|
|
|
31
31
|
const netApy = new Dec(totalInterestUsd).div(balance).times(100).toString();
|
|
32
32
|
return { netApy, totalInterestUsd, incentiveUsd };
|
|
33
33
|
};
|
|
34
|
-
export const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRatio, interestRate, }) => {
|
|
34
|
+
export const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRatio, interestRate, liqRatio, }) => {
|
|
35
35
|
const payload = {};
|
|
36
36
|
payload.suppliedUsd = getAssetsTotal(usedAssets, (usedAsset) => usedAsset, ({ suppliedUsd }) => suppliedUsd);
|
|
37
37
|
payload.borrowedUsd = getAssetsTotal(usedAssets, (usedAsset) => usedAsset, ({ borrowedUsd }) => borrowedUsd);
|
|
38
38
|
payload.borrowLimitUsd = new Dec(payload.suppliedUsd).div(minCollRatio).mul(100).toString();
|
|
39
|
+
payload.liquidationLimitUsd = new Dec(payload.suppliedUsd).div(liqRatio !== null && liqRatio !== void 0 ? liqRatio : minCollRatio).mul(100).toString();
|
|
39
40
|
const leftToBorrowUsd = new Dec(payload.borrowLimitUsd).sub(payload.borrowedUsd);
|
|
40
41
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
41
42
|
payload.ratio = (+payload.suppliedUsd && +payload.borrowedUsd) ? new Dec(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
@@ -50,7 +51,7 @@ export const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, min
|
|
|
50
51
|
payload.liquidationPrice = '';
|
|
51
52
|
if (leveragedType !== '') {
|
|
52
53
|
const assetPrice = assetsData[leveragedAsset].price;
|
|
53
|
-
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.
|
|
54
|
+
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
|
|
54
55
|
}
|
|
55
56
|
payload.exposure = getExposure(payload.borrowedUsd, payload.suppliedUsd);
|
|
56
57
|
return payload;
|
package/esm/liquityV2/index.js
CHANGED
|
@@ -309,15 +309,14 @@ export const _getLiquityV2TroveData = (provider_1, network_1, _a, ...args_1) =>
|
|
|
309
309
|
const interestBatchManager = data.interestBatchManager;
|
|
310
310
|
const lastInterestRateAdjTime = data.lastInterestRateAdjTime.toString();
|
|
311
311
|
const hasInterestBatchManager = !compareAddresses(interestBatchManager, ZERO_ADDRESS);
|
|
312
|
-
const
|
|
312
|
+
const borrowLimitRatio = hasInterestBatchManager ? new Dec(minCollRatio).add(batchCollRatio).toString() : minCollRatio;
|
|
313
313
|
const payload = Object.assign(Object.assign({ usedAssets,
|
|
314
314
|
troveId,
|
|
315
315
|
interestRate,
|
|
316
316
|
interestBatchManager,
|
|
317
317
|
debtInFront,
|
|
318
|
-
lastInterestRateAdjTime,
|
|
319
|
-
|
|
320
|
-
usedAssets, assetsData, minCollRatio: liqRatio, interestRate,
|
|
318
|
+
lastInterestRateAdjTime, liqRatio: minCollRatio, borrowLimitRatio, troveStatus: LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)] }, getLiquityV2AggregatedPositionData({
|
|
319
|
+
usedAssets, assetsData, minCollRatio: borrowLimitRatio, interestRate, liqRatio: minCollRatio,
|
|
321
320
|
})), { collRatio });
|
|
322
321
|
return payload;
|
|
323
322
|
});
|
package/esm/types/liquityV2.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
84
84
|
suppliedUsd: string;
|
|
85
85
|
borrowedUsd: string;
|
|
86
86
|
borrowLimitUsd: string;
|
|
87
|
+
liquidationLimitUsd: string;
|
|
87
88
|
leftToBorrowUsd: string;
|
|
88
89
|
netApy: string;
|
|
89
90
|
incentiveUsd: string;
|
|
@@ -101,9 +102,11 @@ export interface LiquityV2TroveData {
|
|
|
101
102
|
ratio: string;
|
|
102
103
|
collRatio: string;
|
|
103
104
|
liqRatio: string;
|
|
105
|
+
borrowLimitRatio: string;
|
|
104
106
|
interestRate: string;
|
|
105
107
|
leftToBorrowUsd: string;
|
|
106
108
|
borrowLimitUsd: string;
|
|
109
|
+
liquidationLimitUsd: string;
|
|
107
110
|
suppliedUsd: string;
|
|
108
111
|
borrowedUsd: string;
|
|
109
112
|
netApy: string;
|
package/package.json
CHANGED
|
@@ -52,16 +52,19 @@ export const getLiquityV2AggregatedPositionData = ({
|
|
|
52
52
|
assetsData,
|
|
53
53
|
minCollRatio,
|
|
54
54
|
interestRate,
|
|
55
|
+
liqRatio,
|
|
55
56
|
}: {
|
|
56
57
|
usedAssets: LiquityV2UsedAssets
|
|
57
58
|
assetsData: LiquityV2AssetsData
|
|
58
59
|
minCollRatio: string
|
|
59
60
|
interestRate: string
|
|
61
|
+
liqRatio?: string // liquidation threshold (MCR), when different from minCollRatio (MCR + BCR for troves in a batch)
|
|
60
62
|
}): LiquityV2AggregatedTroveData => {
|
|
61
63
|
const payload = {} as LiquityV2AggregatedTroveData;
|
|
62
64
|
payload.suppliedUsd = getAssetsTotal(usedAssets, (usedAsset: LiquityV2UsedAsset) => usedAsset, ({ suppliedUsd }: { suppliedUsd: string }) => suppliedUsd);
|
|
63
65
|
payload.borrowedUsd = getAssetsTotal(usedAssets, (usedAsset: LiquityV2UsedAsset) => usedAsset, ({ borrowedUsd }: { borrowedUsd: string }) => borrowedUsd);
|
|
64
66
|
payload.borrowLimitUsd = new Dec(payload.suppliedUsd).div(minCollRatio).mul(100).toString();
|
|
67
|
+
payload.liquidationLimitUsd = new Dec(payload.suppliedUsd).div(liqRatio ?? minCollRatio).mul(100).toString();
|
|
65
68
|
const leftToBorrowUsd = new Dec(payload.borrowLimitUsd).sub(payload.borrowedUsd);
|
|
66
69
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
67
70
|
payload.ratio = (+payload.suppliedUsd && +payload.borrowedUsd) ? new Dec(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
@@ -77,7 +80,7 @@ export const getLiquityV2AggregatedPositionData = ({
|
|
|
77
80
|
payload.liquidationPrice = '';
|
|
78
81
|
if (leveragedType !== '') {
|
|
79
82
|
const assetPrice = assetsData[leveragedAsset].price;
|
|
80
|
-
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.
|
|
83
|
+
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
|
|
81
84
|
}
|
|
82
85
|
payload.exposure = getExposure(payload.borrowedUsd, payload.suppliedUsd);
|
|
83
86
|
|
package/src/liquityV2/index.ts
CHANGED
|
@@ -425,7 +425,7 @@ export const _getLiquityV2TroveData = async (
|
|
|
425
425
|
const lastInterestRateAdjTime = data.lastInterestRateAdjTime.toString();
|
|
426
426
|
|
|
427
427
|
const hasInterestBatchManager = !compareAddresses(interestBatchManager, ZERO_ADDRESS);
|
|
428
|
-
const
|
|
428
|
+
const borrowLimitRatio = hasInterestBatchManager ? new Dec(minCollRatio).add(batchCollRatio).toString() : minCollRatio;
|
|
429
429
|
|
|
430
430
|
const payload: LiquityV2TroveData = {
|
|
431
431
|
usedAssets,
|
|
@@ -434,10 +434,11 @@ export const _getLiquityV2TroveData = async (
|
|
|
434
434
|
interestBatchManager,
|
|
435
435
|
debtInFront,
|
|
436
436
|
lastInterestRateAdjTime,
|
|
437
|
-
liqRatio,
|
|
437
|
+
liqRatio: minCollRatio,
|
|
438
|
+
borrowLimitRatio,
|
|
438
439
|
troveStatus: LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)],
|
|
439
440
|
...getLiquityV2AggregatedPositionData({
|
|
440
|
-
usedAssets, assetsData, minCollRatio:
|
|
441
|
+
usedAssets, assetsData, minCollRatio: borrowLimitRatio, interestRate, liqRatio: minCollRatio,
|
|
441
442
|
}),
|
|
442
443
|
collRatio,
|
|
443
444
|
};
|
package/src/types/liquityV2.ts
CHANGED
|
@@ -94,6 +94,7 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
94
94
|
suppliedUsd: string,
|
|
95
95
|
borrowedUsd: string,
|
|
96
96
|
borrowLimitUsd: string,
|
|
97
|
+
liquidationLimitUsd: string,
|
|
97
98
|
leftToBorrowUsd: string,
|
|
98
99
|
netApy: string,
|
|
99
100
|
incentiveUsd: string,
|
|
@@ -112,9 +113,11 @@ export interface LiquityV2TroveData {
|
|
|
112
113
|
ratio: string,
|
|
113
114
|
collRatio: string,
|
|
114
115
|
liqRatio: string,
|
|
116
|
+
borrowLimitRatio: string,
|
|
115
117
|
interestRate: string,
|
|
116
118
|
leftToBorrowUsd: string,
|
|
117
119
|
borrowLimitUsd: string,
|
|
120
|
+
liquidationLimitUsd: string,
|
|
118
121
|
suppliedUsd: string,
|
|
119
122
|
borrowedUsd: string,
|
|
120
123
|
netApy: string,
|