@defisaver/positions-sdk 0.0.166-dev2-liquity-v2 → 0.0.166-dev3-liquity-v2

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,9 @@ export declare const calculateNetApyLiquityV2: (usedAssets: LiquityV2UsedAssets,
4
4
  totalInterestUsd: string;
5
5
  incentiveUsd: string;
6
6
  };
7
- export declare const getLiquityV2AggregatedPositionData: ({ usedAssets, assetsData, minRatio, interestRate, }: {
7
+ export declare const getLiquityV2AggregatedPositionData: ({ usedAssets, assetsData, minCollRatio, interestRate, }: {
8
8
  usedAssets: LiquityV2UsedAssets;
9
9
  assetsData: LiquityV2AssetsData;
10
- minRatio: string;
10
+ minCollRatio: string;
11
11
  interestRate: string;
12
12
  }) => LiquityV2AggregatedTroveData;
@@ -37,13 +37,14 @@ const calculateNetApyLiquityV2 = (usedAssets, assetsData, interestRate) => {
37
37
  return { netApy, totalInterestUsd, incentiveUsd };
38
38
  };
39
39
  exports.calculateNetApyLiquityV2 = calculateNetApyLiquityV2;
40
- const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minRatio, interestRate, }) => {
40
+ const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRatio, interestRate, }) => {
41
41
  const payload = {};
42
42
  payload.suppliedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, (usedAsset) => usedAsset, ({ suppliedUsd }) => suppliedUsd);
43
43
  payload.borrowedUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, (usedAsset) => usedAsset, ({ borrowedUsd }) => borrowedUsd);
44
- payload.borrowLimitUsd = new decimal_js_1.default(payload.suppliedUsd).div(minRatio).mul(100).toString();
44
+ payload.borrowLimitUsd = new decimal_js_1.default(payload.suppliedUsd).div(minCollRatio).mul(100).toString();
45
45
  const leftToBorrowUsd = new decimal_js_1.default(payload.borrowLimitUsd).sub(payload.borrowedUsd);
46
46
  payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
47
+ payload.ratio = +payload.suppliedUsd ? new decimal_js_1.default(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
47
48
  const { netApy, incentiveUsd, totalInterestUsd } = (0, exports.calculateNetApyLiquityV2)(usedAssets, assetsData, interestRate);
48
49
  payload.netApy = netApy;
49
50
  payload.incentiveUsd = incentiveUsd;
@@ -47,13 +47,13 @@ const getLiquityV2MarketData = (web3, network, selectedMarket, mainnetWeb3) => _
47
47
  assetsData[collateralToken].incentiveSupplyApy = yield (0, staking_1.getStakingApy)(collateralToken, mainnetWeb3);
48
48
  assetsData[collateralToken].incentiveSupplyToken = collateralToken;
49
49
  }
50
- const minRatio = new decimal_js_1.default(data.MCR).div(1e16).toString();
51
- return { assetsData, marketData: { minRatio } };
50
+ const minCollRatio = new decimal_js_1.default(data.MCR).div(1e16).toString();
51
+ return { assetsData, marketData: { minCollRatio } };
52
52
  });
53
53
  exports.getLiquityV2MarketData = getLiquityV2MarketData;
54
54
  const getLiquityV2TroveData = (web3, network, { selectedMarket, assetsData, marketData, troveId, }) => __awaiter(void 0, void 0, void 0, function* () {
55
55
  const viewContract = (0, contracts_1.LiquityV2ViewContract)(web3, network);
56
- const { minRatio } = marketData;
56
+ const { minCollRatio } = marketData;
57
57
  const { collateralToken, marketAddress, debtToken } = selectedMarket;
58
58
  const data = yield viewContract.methods.getTroveInfo(marketAddress, troveId).call();
59
59
  const usedAssets = {};
@@ -83,15 +83,15 @@ const getLiquityV2TroveData = (web3, network, { selectedMarket, assetsData, mark
83
83
  isBorrowed: false,
84
84
  isSupplied: true,
85
85
  };
86
- const ratio = new decimal_js_1.default(data.TCRatio).div(1e16).toString();
86
+ const collRatio = new decimal_js_1.default(data.TCRatio).div(1e16).toString();
87
87
  const interestRate = new decimal_js_1.default(data.annualInterestRate).div(1e16).toString();
88
88
  const interestBatchManager = data.interestBatchManager;
89
89
  const payload = Object.assign({ usedAssets,
90
90
  troveId,
91
- ratio,
91
+ collRatio,
92
92
  interestRate,
93
93
  interestBatchManager, troveStatus: types_1.LIQUITY_TROVE_STATUS_ENUM[parseInt(data.status, 10)] }, (0, liquityV2Helpers_1.getLiquityV2AggregatedPositionData)({
94
- usedAssets, assetsData, minRatio, interestRate,
94
+ usedAssets, assetsData, minCollRatio, interestRate,
95
95
  }));
96
96
  return payload;
97
97
  });
@@ -29,7 +29,7 @@ export type LiquityV2AssetsData = {
29
29
  [key: string]: LiquityV2AssetData;
30
30
  };
31
31
  export interface InnerLiquityV2MarketData {
32
- minRatio: string;
32
+ minCollRatio: string;
33
33
  }
34
34
  export interface LiquityV2MarketData {
35
35
  assetsData: LiquityV2AssetsData;
@@ -60,11 +60,13 @@ export interface LiquityV2AggregatedTroveData {
60
60
  leveragedType: string;
61
61
  leveragedAsset: string;
62
62
  liquidationPrice: string;
63
+ ratio: string;
63
64
  }
64
65
  export interface LiquityV2TroveData {
65
66
  usedAssets: LiquityV2UsedAssets;
66
67
  troveId: string;
67
68
  ratio: string;
69
+ collRatio: string;
68
70
  interestRate: string;
69
71
  leftToBorrowUsd: string;
70
72
  borrowLimitUsd: string;
@@ -4,9 +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, minRatio, interestRate, }: {
7
+ export declare const getLiquityV2AggregatedPositionData: ({ usedAssets, assetsData, minCollRatio, interestRate, }: {
8
8
  usedAssets: LiquityV2UsedAssets;
9
9
  assetsData: LiquityV2AssetsData;
10
- minRatio: string;
10
+ minCollRatio: string;
11
11
  interestRate: string;
12
12
  }) => LiquityV2AggregatedTroveData;
@@ -30,13 +30,14 @@ export const calculateNetApyLiquityV2 = (usedAssets, assetsData, interestRate) =
30
30
  const netApy = new Dec(totalInterestUsd).div(balance).times(100).toString();
31
31
  return { netApy, totalInterestUsd, incentiveUsd };
32
32
  };
33
- export const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minRatio, interestRate, }) => {
33
+ export const getLiquityV2AggregatedPositionData = ({ usedAssets, assetsData, minCollRatio, interestRate, }) => {
34
34
  const payload = {};
35
35
  payload.suppliedUsd = getAssetsTotal(usedAssets, (usedAsset) => usedAsset, ({ suppliedUsd }) => suppliedUsd);
36
36
  payload.borrowedUsd = getAssetsTotal(usedAssets, (usedAsset) => usedAsset, ({ borrowedUsd }) => borrowedUsd);
37
- payload.borrowLimitUsd = new Dec(payload.suppliedUsd).div(minRatio).mul(100).toString();
37
+ payload.borrowLimitUsd = new Dec(payload.suppliedUsd).div(minCollRatio).mul(100).toString();
38
38
  const leftToBorrowUsd = new Dec(payload.borrowLimitUsd).sub(payload.borrowedUsd);
39
39
  payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
40
+ payload.ratio = +payload.suppliedUsd ? new Dec(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
40
41
  const { netApy, incentiveUsd, totalInterestUsd } = calculateNetApyLiquityV2(usedAssets, assetsData, interestRate);
41
42
  payload.netApy = netApy;
42
43
  payload.incentiveUsd = incentiveUsd;
@@ -41,12 +41,12 @@ export const getLiquityV2MarketData = (web3, network, selectedMarket, mainnetWeb
41
41
  assetsData[collateralToken].incentiveSupplyApy = yield getStakingApy(collateralToken, mainnetWeb3);
42
42
  assetsData[collateralToken].incentiveSupplyToken = collateralToken;
43
43
  }
44
- const minRatio = new Dec(data.MCR).div(1e16).toString();
45
- return { assetsData, marketData: { minRatio } };
44
+ const minCollRatio = new Dec(data.MCR).div(1e16).toString();
45
+ return { assetsData, marketData: { minCollRatio } };
46
46
  });
47
47
  export const getLiquityV2TroveData = (web3, network, { selectedMarket, assetsData, marketData, troveId, }) => __awaiter(void 0, void 0, void 0, function* () {
48
48
  const viewContract = LiquityV2ViewContract(web3, network);
49
- const { minRatio } = marketData;
49
+ const { minCollRatio } = marketData;
50
50
  const { collateralToken, marketAddress, debtToken } = selectedMarket;
51
51
  const data = yield viewContract.methods.getTroveInfo(marketAddress, troveId).call();
52
52
  const usedAssets = {};
@@ -76,15 +76,15 @@ export const getLiquityV2TroveData = (web3, network, { selectedMarket, assetsDat
76
76
  isBorrowed: false,
77
77
  isSupplied: true,
78
78
  };
79
- const ratio = new Dec(data.TCRatio).div(1e16).toString();
79
+ const collRatio = new Dec(data.TCRatio).div(1e16).toString();
80
80
  const interestRate = new Dec(data.annualInterestRate).div(1e16).toString();
81
81
  const interestBatchManager = data.interestBatchManager;
82
82
  const payload = Object.assign({ usedAssets,
83
83
  troveId,
84
- ratio,
84
+ collRatio,
85
85
  interestRate,
86
86
  interestBatchManager, troveStatus: LIQUITY_TROVE_STATUS_ENUM[parseInt(data.status, 10)] }, getLiquityV2AggregatedPositionData({
87
- usedAssets, assetsData, minRatio, interestRate,
87
+ usedAssets, assetsData, minCollRatio, interestRate,
88
88
  }));
89
89
  return payload;
90
90
  });
@@ -29,7 +29,7 @@ export type LiquityV2AssetsData = {
29
29
  [key: string]: LiquityV2AssetData;
30
30
  };
31
31
  export interface InnerLiquityV2MarketData {
32
- minRatio: string;
32
+ minCollRatio: string;
33
33
  }
34
34
  export interface LiquityV2MarketData {
35
35
  assetsData: LiquityV2AssetsData;
@@ -60,11 +60,13 @@ export interface LiquityV2AggregatedTroveData {
60
60
  leveragedType: string;
61
61
  leveragedAsset: string;
62
62
  liquidationPrice: string;
63
+ ratio: string;
63
64
  }
64
65
  export interface LiquityV2TroveData {
65
66
  usedAssets: LiquityV2UsedAssets;
66
67
  troveId: string;
67
68
  ratio: string;
69
+ collRatio: string;
68
70
  interestRate: string;
69
71
  leftToBorrowUsd: string;
70
72
  borrowLimitUsd: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "0.0.166-dev2-liquity-v2",
3
+ "version": "0.0.166-dev3-liquity-v2",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -46,20 +46,21 @@ export const calculateNetApyLiquityV2 = (usedAssets: LiquityV2UsedAssets, assets
46
46
  export const getLiquityV2AggregatedPositionData = ({
47
47
  usedAssets,
48
48
  assetsData,
49
- minRatio,
49
+ minCollRatio,
50
50
  interestRate,
51
51
  }: {
52
52
  usedAssets: LiquityV2UsedAssets
53
53
  assetsData: LiquityV2AssetsData
54
- minRatio: string
54
+ minCollRatio: string
55
55
  interestRate: string
56
56
  }): LiquityV2AggregatedTroveData => {
57
57
  const payload = {} as LiquityV2AggregatedTroveData;
58
58
  payload.suppliedUsd = getAssetsTotal(usedAssets, (usedAsset: LiquityV2UsedAsset) => usedAsset, ({ suppliedUsd }: { suppliedUsd: string }) => suppliedUsd);
59
59
  payload.borrowedUsd = getAssetsTotal(usedAssets, (usedAsset: LiquityV2UsedAsset) => usedAsset, ({ borrowedUsd }: { borrowedUsd: string }) => borrowedUsd);
60
- payload.borrowLimitUsd = new Dec(payload.suppliedUsd).div(minRatio).mul(100).toString();
60
+ payload.borrowLimitUsd = new Dec(payload.suppliedUsd).div(minCollRatio).mul(100).toString();
61
61
  const leftToBorrowUsd = new Dec(payload.borrowLimitUsd).sub(payload.borrowedUsd);
62
62
  payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
63
+ payload.ratio = +payload.suppliedUsd ? new Dec(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
63
64
  const { netApy, incentiveUsd, totalInterestUsd } = calculateNetApyLiquityV2(usedAssets, assetsData, interestRate);
64
65
  payload.netApy = netApy;
65
66
  payload.incentiveUsd = incentiveUsd;
@@ -41,8 +41,8 @@ export const getLiquityV2MarketData = async (web3: Web3, network: NetworkNumber,
41
41
  assetsData[collateralToken].incentiveSupplyToken = collateralToken;
42
42
  }
43
43
 
44
- const minRatio = new Dec(data.MCR).div(1e16).toString();
45
- return { assetsData, marketData: { minRatio } };
44
+ const minCollRatio = new Dec(data.MCR).div(1e16).toString();
45
+ return { assetsData, marketData: { minCollRatio } };
46
46
  };
47
47
 
48
48
  export const getLiquityV2TroveData = async (
@@ -62,7 +62,7 @@ export const getLiquityV2TroveData = async (
62
62
  },
63
63
  ): Promise<LiquityV2TroveData> => {
64
64
  const viewContract = LiquityV2ViewContract(web3, network);
65
- const { minRatio } = marketData;
65
+ const { minCollRatio } = marketData;
66
66
  const { collateralToken, marketAddress, debtToken } = selectedMarket;
67
67
  const data = await viewContract.methods.getTroveInfo(marketAddress, troveId).call();
68
68
  const usedAssets: LiquityV2UsedAssets = {};
@@ -95,19 +95,19 @@ export const getLiquityV2TroveData = async (
95
95
  isSupplied: true,
96
96
  };
97
97
 
98
- const ratio = new Dec(data.TCRatio).div(1e16).toString();
98
+ const collRatio = new Dec(data.TCRatio).div(1e16).toString();
99
99
  const interestRate = new Dec(data.annualInterestRate).div(1e16).toString();
100
100
  const interestBatchManager = data.interestBatchManager;
101
101
 
102
102
  const payload: LiquityV2TroveData = {
103
103
  usedAssets,
104
104
  troveId,
105
- ratio,
105
+ collRatio,
106
106
  interestRate,
107
107
  interestBatchManager,
108
108
  troveStatus: LIQUITY_TROVE_STATUS_ENUM[parseInt(data.status, 10)],
109
109
  ...getLiquityV2AggregatedPositionData({
110
- usedAssets, assetsData, minRatio, interestRate,
110
+ usedAssets, assetsData, minCollRatio, interestRate,
111
111
  }),
112
112
  };
113
113
 
@@ -32,7 +32,7 @@ export interface LiquityV2AssetData {
32
32
  export type LiquityV2AssetsData = { [key: string]: LiquityV2AssetData };
33
33
 
34
34
  export interface InnerLiquityV2MarketData {
35
- minRatio: string,
35
+ minCollRatio: string,
36
36
  }
37
37
 
38
38
  export interface LiquityV2MarketData {
@@ -65,12 +65,14 @@ export interface LiquityV2AggregatedTroveData {
65
65
  leveragedType: string,
66
66
  leveragedAsset: string,
67
67
  liquidationPrice: string,
68
+ ratio: string,
68
69
  }
69
70
 
70
71
  export interface LiquityV2TroveData {
71
72
  usedAssets: LiquityV2UsedAssets,
72
73
  troveId: string,
73
74
  ratio: string,
75
+ collRatio: string,
74
76
  interestRate: string,
75
77
  leftToBorrowUsd: string,
76
78
  borrowLimitUsd: string,