@defisaver/positions-sdk 2.1.140-dev → 2.1.141-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 +1 -2
- package/cjs/helpers/liquityV2Helpers/index.js +2 -3
- package/cjs/liquityV2/index.js +4 -3
- package/cjs/moneymarket/moneymarketCommonService.js +2 -0
- package/cjs/types/liquityV2.d.ts +0 -3
- package/esm/helpers/liquityV2Helpers/index.d.ts +1 -2
- package/esm/helpers/liquityV2Helpers/index.js +2 -3
- package/esm/liquityV2/index.js +4 -3
- package/esm/moneymarket/moneymarketCommonService.js +2 -0
- package/esm/types/liquityV2.d.ts +0 -3
- package/package.json +1 -1
- package/src/helpers/liquityV2Helpers/index.ts +1 -4
- package/src/liquityV2/index.ts +3 -4
- package/src/moneymarket/moneymarketCommonService.ts +2 -0
- package/src/types/liquityV2.ts +0 -3
|
@@ -4,10 +4,9 @@ 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, }: {
|
|
8
8
|
usedAssets: LiquityV2UsedAssets;
|
|
9
9
|
assetsData: LiquityV2AssetsData;
|
|
10
10
|
minCollRatio: string;
|
|
11
11
|
interestRate: string;
|
|
12
|
-
liqRatio?: string;
|
|
13
12
|
}) => LiquityV2AggregatedTroveData;
|
|
@@ -38,12 +38,11 @@ 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, }) => {
|
|
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();
|
|
47
46
|
const leftToBorrowUsd = new decimal_js_1.default(payload.borrowLimitUsd).sub(payload.borrowedUsd);
|
|
48
47
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
49
48
|
payload.ratio = (+payload.suppliedUsd && +payload.borrowedUsd) ? new decimal_js_1.default(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
@@ -58,7 +57,7 @@ const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRat
|
|
|
58
57
|
payload.liquidationPrice = '';
|
|
59
58
|
if (leveragedType !== '') {
|
|
60
59
|
const assetPrice = assetsData[leveragedAsset].price;
|
|
61
|
-
payload.liquidationPrice = (0, moneymarket_1.calcLeverageLiqPrice)(leveragedType, assetPrice, payload.borrowedUsd, payload.
|
|
60
|
+
payload.liquidationPrice = (0, moneymarket_1.calcLeverageLiqPrice)(leveragedType, assetPrice, payload.borrowedUsd, payload.borrowLimitUsd);
|
|
62
61
|
}
|
|
63
62
|
payload.exposure = (0, moneymarket_1.getExposure)(payload.borrowedUsd, payload.suppliedUsd);
|
|
64
63
|
return payload;
|
package/cjs/liquityV2/index.js
CHANGED
|
@@ -322,14 +322,15 @@ 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 liqRatio = 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
|
-
|
|
331
|
+
lastInterestRateAdjTime,
|
|
332
|
+
liqRatio, troveStatus: types_1.LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)] }, (0, liquityV2Helpers_1.getLiquityV2AggregatedPositionData)({
|
|
333
|
+
usedAssets, assetsData, minCollRatio: liqRatio, interestRate,
|
|
333
334
|
})), { collRatio });
|
|
334
335
|
return payload;
|
|
335
336
|
});
|
|
@@ -34,6 +34,8 @@ exports.STABLE_ASSETS = [
|
|
|
34
34
|
'USDtb', 'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'PT sUSDe Sep', 'PT USDe Sep', 'PT sUSDe Nov', 'PT USDe Nov', 'PT sUSDe Jan', 'PT USDe Jan',
|
|
35
35
|
'PT sUSDe Feb', 'PT USDe Feb', 'PT sUSDe Apr', 'PT USDe Apr', 'PT sUSDe May', 'PT USDe May', 'PT srUSDe Apr', 'frxUSD', 'PT sUSDe June',
|
|
36
36
|
'PT USDe June', 'PT srUSDe Jun', 'PT srUSDe Oct', 'PT USDG May', 'PT sUSDS Nov', 'PT sUSDe Oct', 'PT USDG Sep',
|
|
37
|
+
'USDG', 'mUSD', 'PYUSD', 'USDbC', 'MAI', 'sGHO', 'USD3', 'stUSDS', 'PRIME',
|
|
38
|
+
'crvUSD', 'syrupUSDC', 'syrupUSDT', 'syrupUSDG', 'PT syrupUSDC Aug',
|
|
37
39
|
];
|
|
38
40
|
const isLeveragedPos = (usedAssets, dustLimit = 5) => {
|
|
39
41
|
let borrowUnstable = 0;
|
package/cjs/types/liquityV2.d.ts
CHANGED
|
@@ -84,7 +84,6 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
84
84
|
suppliedUsd: string;
|
|
85
85
|
borrowedUsd: string;
|
|
86
86
|
borrowLimitUsd: string;
|
|
87
|
-
liquidationLimitUsd: string;
|
|
88
87
|
leftToBorrowUsd: string;
|
|
89
88
|
netApy: string;
|
|
90
89
|
incentiveUsd: string;
|
|
@@ -102,11 +101,9 @@ export interface LiquityV2TroveData {
|
|
|
102
101
|
ratio: string;
|
|
103
102
|
collRatio: string;
|
|
104
103
|
liqRatio: string;
|
|
105
|
-
borrowLimitRatio: string;
|
|
106
104
|
interestRate: string;
|
|
107
105
|
leftToBorrowUsd: string;
|
|
108
106
|
borrowLimitUsd: string;
|
|
109
|
-
liquidationLimitUsd: string;
|
|
110
107
|
suppliedUsd: string;
|
|
111
108
|
borrowedUsd: string;
|
|
112
109
|
netApy: string;
|
|
@@ -4,10 +4,9 @@ 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, }: {
|
|
8
8
|
usedAssets: LiquityV2UsedAssets;
|
|
9
9
|
assetsData: LiquityV2AssetsData;
|
|
10
10
|
minCollRatio: string;
|
|
11
11
|
interestRate: string;
|
|
12
|
-
liqRatio?: string;
|
|
13
12
|
}) => LiquityV2AggregatedTroveData;
|
|
@@ -31,12 +31,11 @@ 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, }) => {
|
|
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();
|
|
40
39
|
const leftToBorrowUsd = new Dec(payload.borrowLimitUsd).sub(payload.borrowedUsd);
|
|
41
40
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
42
41
|
payload.ratio = (+payload.suppliedUsd && +payload.borrowedUsd) ? new Dec(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
@@ -51,7 +50,7 @@ export const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, min
|
|
|
51
50
|
payload.liquidationPrice = '';
|
|
52
51
|
if (leveragedType !== '') {
|
|
53
52
|
const assetPrice = assetsData[leveragedAsset].price;
|
|
54
|
-
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.
|
|
53
|
+
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.borrowLimitUsd);
|
|
55
54
|
}
|
|
56
55
|
payload.exposure = getExposure(payload.borrowedUsd, payload.suppliedUsd);
|
|
57
56
|
return payload;
|
package/esm/liquityV2/index.js
CHANGED
|
@@ -309,14 +309,15 @@ 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 liqRatio = 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
|
-
|
|
318
|
+
lastInterestRateAdjTime,
|
|
319
|
+
liqRatio, troveStatus: LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)] }, getLiquityV2AggregatedPositionData({
|
|
320
|
+
usedAssets, assetsData, minCollRatio: liqRatio, interestRate,
|
|
320
321
|
})), { collRatio });
|
|
321
322
|
return payload;
|
|
322
323
|
});
|
|
@@ -23,6 +23,8 @@ export const STABLE_ASSETS = [
|
|
|
23
23
|
'USDtb', 'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'PT sUSDe Sep', 'PT USDe Sep', 'PT sUSDe Nov', 'PT USDe Nov', 'PT sUSDe Jan', 'PT USDe Jan',
|
|
24
24
|
'PT sUSDe Feb', 'PT USDe Feb', 'PT sUSDe Apr', 'PT USDe Apr', 'PT sUSDe May', 'PT USDe May', 'PT srUSDe Apr', 'frxUSD', 'PT sUSDe June',
|
|
25
25
|
'PT USDe June', 'PT srUSDe Jun', 'PT srUSDe Oct', 'PT USDG May', 'PT sUSDS Nov', 'PT sUSDe Oct', 'PT USDG Sep',
|
|
26
|
+
'USDG', 'mUSD', 'PYUSD', 'USDbC', 'MAI', 'sGHO', 'USD3', 'stUSDS', 'PRIME',
|
|
27
|
+
'crvUSD', 'syrupUSDC', 'syrupUSDT', 'syrupUSDG', 'PT syrupUSDC Aug',
|
|
26
28
|
];
|
|
27
29
|
export const isLeveragedPos = (usedAssets, dustLimit = 5) => {
|
|
28
30
|
let borrowUnstable = 0;
|
package/esm/types/liquityV2.d.ts
CHANGED
|
@@ -84,7 +84,6 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
84
84
|
suppliedUsd: string;
|
|
85
85
|
borrowedUsd: string;
|
|
86
86
|
borrowLimitUsd: string;
|
|
87
|
-
liquidationLimitUsd: string;
|
|
88
87
|
leftToBorrowUsd: string;
|
|
89
88
|
netApy: string;
|
|
90
89
|
incentiveUsd: string;
|
|
@@ -102,11 +101,9 @@ export interface LiquityV2TroveData {
|
|
|
102
101
|
ratio: string;
|
|
103
102
|
collRatio: string;
|
|
104
103
|
liqRatio: string;
|
|
105
|
-
borrowLimitRatio: string;
|
|
106
104
|
interestRate: string;
|
|
107
105
|
leftToBorrowUsd: string;
|
|
108
106
|
borrowLimitUsd: string;
|
|
109
|
-
liquidationLimitUsd: string;
|
|
110
107
|
suppliedUsd: string;
|
|
111
108
|
borrowedUsd: string;
|
|
112
109
|
netApy: string;
|
package/package.json
CHANGED
|
@@ -52,19 +52,16 @@ export const getLiquityV2AggregatedPositionData = ({
|
|
|
52
52
|
assetsData,
|
|
53
53
|
minCollRatio,
|
|
54
54
|
interestRate,
|
|
55
|
-
liqRatio,
|
|
56
55
|
}: {
|
|
57
56
|
usedAssets: LiquityV2UsedAssets
|
|
58
57
|
assetsData: LiquityV2AssetsData
|
|
59
58
|
minCollRatio: string
|
|
60
59
|
interestRate: string
|
|
61
|
-
liqRatio?: string // liquidation threshold (MCR), when different from minCollRatio (MCR + BCR for troves in a batch)
|
|
62
60
|
}): LiquityV2AggregatedTroveData => {
|
|
63
61
|
const payload = {} as LiquityV2AggregatedTroveData;
|
|
64
62
|
payload.suppliedUsd = getAssetsTotal(usedAssets, (usedAsset: LiquityV2UsedAsset) => usedAsset, ({ suppliedUsd }: { suppliedUsd: string }) => suppliedUsd);
|
|
65
63
|
payload.borrowedUsd = getAssetsTotal(usedAssets, (usedAsset: LiquityV2UsedAsset) => usedAsset, ({ borrowedUsd }: { borrowedUsd: string }) => borrowedUsd);
|
|
66
64
|
payload.borrowLimitUsd = new Dec(payload.suppliedUsd).div(minCollRatio).mul(100).toString();
|
|
67
|
-
payload.liquidationLimitUsd = new Dec(payload.suppliedUsd).div(liqRatio ?? minCollRatio).mul(100).toString();
|
|
68
65
|
const leftToBorrowUsd = new Dec(payload.borrowLimitUsd).sub(payload.borrowedUsd);
|
|
69
66
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
70
67
|
payload.ratio = (+payload.suppliedUsd && +payload.borrowedUsd) ? new Dec(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
@@ -80,7 +77,7 @@ export const getLiquityV2AggregatedPositionData = ({
|
|
|
80
77
|
payload.liquidationPrice = '';
|
|
81
78
|
if (leveragedType !== '') {
|
|
82
79
|
const assetPrice = assetsData[leveragedAsset].price;
|
|
83
|
-
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.
|
|
80
|
+
payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.borrowLimitUsd);
|
|
84
81
|
}
|
|
85
82
|
payload.exposure = getExposure(payload.borrowedUsd, payload.suppliedUsd);
|
|
86
83
|
|
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 liqRatio = hasInterestBatchManager ? new Dec(minCollRatio).add(batchCollRatio).toString() : minCollRatio;
|
|
429
429
|
|
|
430
430
|
const payload: LiquityV2TroveData = {
|
|
431
431
|
usedAssets,
|
|
@@ -434,11 +434,10 @@ export const _getLiquityV2TroveData = async (
|
|
|
434
434
|
interestBatchManager,
|
|
435
435
|
debtInFront,
|
|
436
436
|
lastInterestRateAdjTime,
|
|
437
|
-
liqRatio
|
|
438
|
-
borrowLimitRatio,
|
|
437
|
+
liqRatio,
|
|
439
438
|
troveStatus: LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)],
|
|
440
439
|
...getLiquityV2AggregatedPositionData({
|
|
441
|
-
usedAssets, assetsData, minCollRatio:
|
|
440
|
+
usedAssets, assetsData, minCollRatio: liqRatio, interestRate,
|
|
442
441
|
}),
|
|
443
442
|
collRatio,
|
|
444
443
|
};
|
|
@@ -26,6 +26,8 @@ export const STABLE_ASSETS = [
|
|
|
26
26
|
'USDtb', 'eUSDe', 'PT USDe July', 'PT eUSDe Aug', 'PT sUSDe Sep', 'PT USDe Sep', 'PT sUSDe Nov', 'PT USDe Nov', 'PT sUSDe Jan', 'PT USDe Jan',
|
|
27
27
|
'PT sUSDe Feb', 'PT USDe Feb', 'PT sUSDe Apr', 'PT USDe Apr', 'PT sUSDe May', 'PT USDe May', 'PT srUSDe Apr', 'frxUSD', 'PT sUSDe June',
|
|
28
28
|
'PT USDe June', 'PT srUSDe Jun', 'PT srUSDe Oct', 'PT USDG May', 'PT sUSDS Nov', 'PT sUSDe Oct', 'PT USDG Sep',
|
|
29
|
+
'USDG', 'mUSD', 'PYUSD', 'USDbC', 'MAI', 'sGHO', 'USD3', 'stUSDS', 'PRIME',
|
|
30
|
+
'crvUSD', 'syrupUSDC', 'syrupUSDT', 'syrupUSDG', 'PT syrupUSDC Aug',
|
|
29
31
|
];
|
|
30
32
|
|
|
31
33
|
export const isLeveragedPos = (usedAssets: MMUsedAssets, dustLimit = 5) => {
|
package/src/types/liquityV2.ts
CHANGED
|
@@ -94,7 +94,6 @@ export interface LiquityV2AggregatedTroveData {
|
|
|
94
94
|
suppliedUsd: string,
|
|
95
95
|
borrowedUsd: string,
|
|
96
96
|
borrowLimitUsd: string,
|
|
97
|
-
liquidationLimitUsd: string,
|
|
98
97
|
leftToBorrowUsd: string,
|
|
99
98
|
netApy: string,
|
|
100
99
|
incentiveUsd: string,
|
|
@@ -113,11 +112,9 @@ export interface LiquityV2TroveData {
|
|
|
113
112
|
ratio: string,
|
|
114
113
|
collRatio: string,
|
|
115
114
|
liqRatio: string,
|
|
116
|
-
borrowLimitRatio: string,
|
|
117
115
|
interestRate: string,
|
|
118
116
|
leftToBorrowUsd: string,
|
|
119
117
|
borrowLimitUsd: string,
|
|
120
|
-
liquidationLimitUsd: string,
|
|
121
118
|
suppliedUsd: string,
|
|
122
119
|
borrowedUsd: string,
|
|
123
120
|
netApy: string,
|