@defisaver/positions-sdk 1.0.2 → 1.0.3-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/curveUsd/index.js +8 -1
- package/cjs/types/curveUsd.d.ts +1 -0
- package/esm/curveUsd/index.js +10 -3
- package/esm/types/curveUsd.d.ts +1 -0
- package/package.json +1 -1
- package/src/curveUsd/index.ts +12 -3
- package/src/types/curveUsd.ts +1 -0
package/cjs/curveUsd/index.js
CHANGED
|
@@ -79,6 +79,11 @@ const getCurveUsdGlobalData = (web3, network, selectedMarket) => __awaiter(void
|
|
|
79
79
|
abiItem: contract.options.jsonInterface.find(({ name }) => name === 'globalData'),
|
|
80
80
|
params: [selectedMarket.controllerAddress],
|
|
81
81
|
},
|
|
82
|
+
{
|
|
83
|
+
target: selectedMarket.controllerAddress,
|
|
84
|
+
abiItem: (0, utils_1.getAbiItem)((0, contracts_1.getConfigContractAbi)('crvUSDwstETHController'), 'loan_discount'),
|
|
85
|
+
params: [],
|
|
86
|
+
},
|
|
82
87
|
];
|
|
83
88
|
const multiRes = yield (0, multicall_1.multicall)(multicallData, web3, network);
|
|
84
89
|
const data = multiRes[2][0];
|
|
@@ -96,10 +101,12 @@ const getCurveUsdGlobalData = (web3, network, selectedMarket) => __awaiter(void
|
|
|
96
101
|
.toString();
|
|
97
102
|
const bandsData = yield getAndFormatBands(web3, network, selectedMarket, data.minBand, data.maxBand);
|
|
98
103
|
const leftToBorrow = new decimal_js_1.default(debtCeiling).minus(totalDebt).toString();
|
|
104
|
+
const loanDiscount = (0, tokens_1.assetAmountInEth)(multiRes[3][0], debtAsset);
|
|
99
105
|
return Object.assign(Object.assign({}, data), { debtCeiling,
|
|
100
106
|
totalDebt,
|
|
101
107
|
ammPrice, oraclePrice: (0, tokens_1.assetAmountInEth)(data.oraclePrice, debtAsset), basePrice: (0, tokens_1.assetAmountInEth)(data.basePrice, debtAsset), minted: (0, tokens_1.assetAmountInEth)(data.minted, debtAsset), redeemed: (0, tokens_1.assetAmountInEth)(data.redeemed, debtAsset), borrowRate,
|
|
102
|
-
futureBorrowRate, bands: bandsData, leftToBorrow
|
|
108
|
+
futureBorrowRate, bands: bandsData, leftToBorrow,
|
|
109
|
+
loanDiscount });
|
|
103
110
|
});
|
|
104
111
|
exports.getCurveUsdGlobalData = getCurveUsdGlobalData;
|
|
105
112
|
const getStatusForUser = (bandRange, activeBand, crvUSDSupplied, collSupplied, healthPercent) => {
|
package/cjs/types/curveUsd.d.ts
CHANGED
package/esm/curveUsd/index.js
CHANGED
|
@@ -12,10 +12,10 @@ import { assetAmountInEth, getAssetInfo } from '@defisaver/tokens';
|
|
|
12
12
|
import { CrvUSDStatus, } from '../types';
|
|
13
13
|
import { multicall } from '../multicall';
|
|
14
14
|
import { NetworkNumber, } from '../types/common';
|
|
15
|
-
import { CrvUSDFactoryContract, CrvUSDViewContract } from '../contracts';
|
|
15
|
+
import { CrvUSDFactoryContract, CrvUSDViewContract, getConfigContractAbi } from '../contracts';
|
|
16
16
|
import { getCrvUsdAggregatedData } from '../helpers/curveUsdHelpers';
|
|
17
17
|
import { CrvUsdMarkets } from '../markets';
|
|
18
|
-
import { wethToEth } from '../services/utils';
|
|
18
|
+
import { getAbiItem, wethToEth } from '../services/utils';
|
|
19
19
|
const getAndFormatBands = (web3, network, selectedMarket, _minBand, _maxBand) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
20
|
const contract = CrvUSDViewContract(web3, network);
|
|
21
21
|
const minBand = parseInt(_minBand, 10);
|
|
@@ -73,6 +73,11 @@ export const getCurveUsdGlobalData = (web3, network, selectedMarket) => __awaite
|
|
|
73
73
|
abiItem: contract.options.jsonInterface.find(({ name }) => name === 'globalData'),
|
|
74
74
|
params: [selectedMarket.controllerAddress],
|
|
75
75
|
},
|
|
76
|
+
{
|
|
77
|
+
target: selectedMarket.controllerAddress,
|
|
78
|
+
abiItem: getAbiItem(getConfigContractAbi('crvUSDwstETHController'), 'loan_discount'),
|
|
79
|
+
params: [],
|
|
80
|
+
},
|
|
76
81
|
];
|
|
77
82
|
const multiRes = yield multicall(multicallData, web3, network);
|
|
78
83
|
const data = multiRes[2][0];
|
|
@@ -90,10 +95,12 @@ export const getCurveUsdGlobalData = (web3, network, selectedMarket) => __awaite
|
|
|
90
95
|
.toString();
|
|
91
96
|
const bandsData = yield getAndFormatBands(web3, network, selectedMarket, data.minBand, data.maxBand);
|
|
92
97
|
const leftToBorrow = new Dec(debtCeiling).minus(totalDebt).toString();
|
|
98
|
+
const loanDiscount = assetAmountInEth(multiRes[3][0], debtAsset);
|
|
93
99
|
return Object.assign(Object.assign({}, data), { debtCeiling,
|
|
94
100
|
totalDebt,
|
|
95
101
|
ammPrice, oraclePrice: assetAmountInEth(data.oraclePrice, debtAsset), basePrice: assetAmountInEth(data.basePrice, debtAsset), minted: assetAmountInEth(data.minted, debtAsset), redeemed: assetAmountInEth(data.redeemed, debtAsset), borrowRate,
|
|
96
|
-
futureBorrowRate, bands: bandsData, leftToBorrow
|
|
102
|
+
futureBorrowRate, bands: bandsData, leftToBorrow,
|
|
103
|
+
loanDiscount });
|
|
97
104
|
});
|
|
98
105
|
const getStatusForUser = (bandRange, activeBand, crvUSDSupplied, collSupplied, healthPercent) => {
|
|
99
106
|
// if bands are equal, that can only be [0,0] which means user doesn't have loan (min number of bands is 4)
|
package/esm/types/curveUsd.d.ts
CHANGED
package/package.json
CHANGED
package/src/curveUsd/index.ts
CHANGED
|
@@ -8,10 +8,10 @@ import { multicall } from '../multicall';
|
|
|
8
8
|
import {
|
|
9
9
|
Blockish, EthAddress, NetworkNumber, PositionBalances,
|
|
10
10
|
} from '../types/common';
|
|
11
|
-
import { CrvUSDFactoryContract, CrvUSDViewContract } from '../contracts';
|
|
11
|
+
import { CrvUSDFactoryContract, CrvUSDViewContract, getConfigContractAbi } from '../contracts';
|
|
12
12
|
import { getCrvUsdAggregatedData } from '../helpers/curveUsdHelpers';
|
|
13
13
|
import { CrvUsdMarkets } from '../markets';
|
|
14
|
-
import { wethToEth } from '../services/utils';
|
|
14
|
+
import { getAbiItem, wethToEth } from '../services/utils';
|
|
15
15
|
|
|
16
16
|
const getAndFormatBands = async (web3: Web3, network: NetworkNumber, selectedMarket: CrvUSDMarketData, _minBand: string, _maxBand: string) => {
|
|
17
17
|
const contract = CrvUSDViewContract(web3, network);
|
|
@@ -73,6 +73,11 @@ export const getCurveUsdGlobalData = async (web3: Web3, network: NetworkNumber,
|
|
|
73
73
|
abiItem: contract.options.jsonInterface.find(({ name }) => name === 'globalData'),
|
|
74
74
|
params: [selectedMarket.controllerAddress],
|
|
75
75
|
},
|
|
76
|
+
{
|
|
77
|
+
target: selectedMarket.controllerAddress,
|
|
78
|
+
abiItem: getAbiItem(getConfigContractAbi('crvUSDwstETHController'), 'loan_discount'),
|
|
79
|
+
params: [],
|
|
80
|
+
},
|
|
76
81
|
];
|
|
77
82
|
const multiRes = await multicall(multicallData, web3, network);
|
|
78
83
|
const data = multiRes[2][0];
|
|
@@ -95,6 +100,9 @@ export const getCurveUsdGlobalData = async (web3: Web3, network: NetworkNumber,
|
|
|
95
100
|
const bandsData = await getAndFormatBands(web3, network, selectedMarket, data.minBand, data.maxBand);
|
|
96
101
|
|
|
97
102
|
const leftToBorrow = new Dec(debtCeiling).minus(totalDebt).toString();
|
|
103
|
+
|
|
104
|
+
const loanDiscount = assetAmountInEth(multiRes[3][0], debtAsset);
|
|
105
|
+
|
|
98
106
|
return {
|
|
99
107
|
...data,
|
|
100
108
|
debtCeiling,
|
|
@@ -108,6 +116,7 @@ export const getCurveUsdGlobalData = async (web3: Web3, network: NetworkNumber,
|
|
|
108
116
|
futureBorrowRate,
|
|
109
117
|
bands: bandsData,
|
|
110
118
|
leftToBorrow,
|
|
119
|
+
loanDiscount,
|
|
111
120
|
};
|
|
112
121
|
};
|
|
113
122
|
|
|
@@ -227,4 +236,4 @@ export const getCurveUsdFullPositionData = async (web3: Web3, network: NetworkNu
|
|
|
227
236
|
const marketData = await getCurveUsdGlobalData(web3, network, selectedMarket);
|
|
228
237
|
const positionData = await getCurveUsdUserData(web3, network, address, selectedMarket, marketData.activeBand);
|
|
229
238
|
return positionData;
|
|
230
|
-
};
|
|
239
|
+
};
|