@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.
@@ -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.borrowLimitUsd);
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;
@@ -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 liqRatio = hasInterestBatchManager ? new decimal_js_1.default(minCollRatio).add(batchCollRatio).toString() : minCollRatio;
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
- liqRatio, troveStatus: types_1.LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)] }, (0, liquityV2Helpers_1.getLiquityV2AggregatedPositionData)({
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
  });
@@ -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.borrowLimitUsd);
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;
@@ -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 liqRatio = hasInterestBatchManager ? new Dec(minCollRatio).add(batchCollRatio).toString() : minCollRatio;
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
- liqRatio, troveStatus: LIQUITY_V2_TROVE_STATUS_ENUM[parseInt(data.status.toString(), 10)] }, getLiquityV2AggregatedPositionData({
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
  });
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "2.1.139",
3
+ "version": "2.1.140-dev",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -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.borrowLimitUsd);
83
+ payload.liquidationPrice = calcLeverageLiqPrice(leveragedType, assetPrice, payload.borrowedUsd, payload.liquidationLimitUsd);
81
84
  }
82
85
  payload.exposure = getExposure(payload.borrowedUsd, payload.suppliedUsd);
83
86
 
@@ -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 liqRatio = hasInterestBatchManager ? new Dec(minCollRatio).add(batchCollRatio).toString() : minCollRatio;
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: liqRatio, interestRate,
441
+ usedAssets, assetsData, minCollRatio: borrowLimitRatio, interestRate, liqRatio: minCollRatio,
441
442
  }),
442
443
  collRatio,
443
444
  };
@@ -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,