@defisaver/positions-sdk 2.1.15 → 2.1.17-dev-1
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/contracts.d.ts +100947 -134653
- package/cjs/liquityV2/index.d.ts +2 -0
- package/cjs/liquityV2/index.js +52 -9
- package/cjs/markets/aave/marketAssets.js +1 -1
- package/cjs/markets/morphoBlue/index.d.ts +8 -12
- package/cjs/markets/morphoBlue/index.js +69 -102
- package/cjs/moneymarket/moneymarketCommonService.js +5 -1
- package/cjs/services/viem.d.ts +2 -3254
- package/cjs/staking/staking.js +4 -2
- package/cjs/types/morphoBlue.d.ts +5 -7
- package/cjs/types/morphoBlue.js +5 -6
- package/esm/contracts.d.ts +100947 -134653
- package/esm/liquityV2/index.d.ts +2 -0
- package/esm/liquityV2/index.js +48 -7
- package/esm/markets/aave/marketAssets.js +1 -1
- package/esm/markets/morphoBlue/index.d.ts +8 -12
- package/esm/markets/morphoBlue/index.js +62 -93
- package/esm/moneymarket/moneymarketCommonService.js +5 -1
- package/esm/services/viem.d.ts +2 -3254
- package/esm/staking/staking.js +4 -2
- package/esm/types/morphoBlue.d.ts +5 -7
- package/esm/types/morphoBlue.js +5 -6
- package/package.json +1 -1
- package/src/markets/morphoBlue/index.ts +65 -93
- package/src/types/morphoBlue.ts +5 -6
package/esm/liquityV2/index.d.ts
CHANGED
|
@@ -23,6 +23,8 @@ export declare const getLiquityV2UserTroveIds: (provider: EthereumProvider, netw
|
|
|
23
23
|
}[];
|
|
24
24
|
nextFreeTroveIndex: string;
|
|
25
25
|
}>;
|
|
26
|
+
export declare const calculateDebtInFrontLiquityV2: (markets: Record<LiquityV2Versions, LiquityV2MarketData>, selectedMarket: LiquityV2Versions, allMarketsUnbackedDebts: Record<LiquityV2Versions, string>, interestRateDebtInFront: string) => string;
|
|
27
|
+
export declare const getDebtInFrontForInterestRateIncludingNewDebtLiquityV2: (newDebt: string, markets: Record<LiquityV2Versions, LiquityV2MarketData>, selectedMarket: LiquityV2Versions, provider: Client, network: NetworkNumber, interestRate: string) => Promise<string>;
|
|
26
28
|
export declare const getDebtInFrontForInterestRateLiquityV2: (markets: Record<LiquityV2Versions, LiquityV2MarketData>, selectedMarket: LiquityV2Versions, provider: EthereumProvider, network: NetworkNumber, isLegacy: boolean, interestRate: string, debtInFrontBeingMoved?: string) => Promise<string>;
|
|
27
29
|
export declare const _getLiquityV2TroveData: (provider: Client, network: NetworkNumber, { selectedMarket, assetsData, troveId, allMarketsData, }: {
|
|
28
30
|
selectedMarket: LiquityV2MarketInfo;
|
package/esm/liquityV2/index.js
CHANGED
|
@@ -190,12 +190,40 @@ const getAllMarketsUnbackedDebts = (markets, isLegacy, provider, network) => __a
|
|
|
190
190
|
})));
|
|
191
191
|
return Object.fromEntries(allMarketsUnbackedDebt);
|
|
192
192
|
});
|
|
193
|
-
const calculateDebtInFrontLiquityV2 = (markets, selectedMarket, allMarketsUnbackedDebts, interestRateDebtInFront) => {
|
|
193
|
+
export const calculateDebtInFrontLiquityV2 = (markets, selectedMarket, allMarketsUnbackedDebts, interestRateDebtInFront) => {
|
|
194
|
+
// Sanity check to avoid division by 0. Very unlikely to ever happen.
|
|
195
|
+
const selectedMarketTotalBorrow = new Dec(markets[selectedMarket].assetsData[LiquityV2Markets(NetworkNumber.Eth)[selectedMarket].debtToken].totalBorrow);
|
|
196
|
+
if (selectedMarketTotalBorrow.eq(0))
|
|
197
|
+
return new Dec(0).toString();
|
|
194
198
|
const selectedMarketUnbackedDebt = new Dec(allMarketsUnbackedDebts[selectedMarket]);
|
|
195
199
|
const { isLegacy } = LiquityV2Markets(NetworkNumber.Eth)[selectedMarket];
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
200
|
+
const totalUnbackedDebt = Object.values(allMarketsUnbackedDebts).reduce((acc, val) => acc.plus(new Dec(val)), new Dec(0));
|
|
201
|
+
// When totalUnbackedDebt is 0, redemptions will be proportional with the branch size and not to unbacked debt.
|
|
202
|
+
// When unbacked debt is 0 for branch, next redemption call won't touch that branch, so in order to estimate total debt in front we will:
|
|
203
|
+
// - First add up all the unbacked debt from other branches, as that will be the only debt that will be redeemed on the fist redemption call
|
|
204
|
+
// - Perform split the same way as we would do when totalUnbackedDebt == 0, this would represent the second call to the redemption function
|
|
205
|
+
if (selectedMarketUnbackedDebt.eq(0)) {
|
|
206
|
+
// Special case if the branch debt in front is 0, it means that all debt in front is unbacked debt from other branches.
|
|
207
|
+
if (new Dec(interestRateDebtInFront).eq(0))
|
|
208
|
+
return totalUnbackedDebt.toString();
|
|
209
|
+
// Then calculate how much of that estimated amount would go to each branch
|
|
210
|
+
// Second redemption call - calculate proportional redemption based on updated total debt
|
|
211
|
+
const amountBeingRedeemedOnEachMarketByTotalBorrow = Object.entries(markets).map(([version, market]) => {
|
|
212
|
+
const { isLegacy: isLegacyMarket } = LiquityV2Markets(NetworkNumber.Eth)[version];
|
|
213
|
+
if (version === selectedMarket && isLegacyMarket !== isLegacy)
|
|
214
|
+
return new Dec(interestRateDebtInFront);
|
|
215
|
+
const { assetsData } = market;
|
|
216
|
+
const { debtToken } = LiquityV2Markets(NetworkNumber.Eth)[version];
|
|
217
|
+
// For other markets, subtract their unbacked debt as it will be cleared in first redemption call
|
|
218
|
+
const marketUnbackedDebt = new Dec(allMarketsUnbackedDebts[version]);
|
|
219
|
+
const totalBorrow = new Dec(assetsData[debtToken].totalBorrow).sub(marketUnbackedDebt);
|
|
220
|
+
const amountToRedeem = new Dec(interestRateDebtInFront).mul(totalBorrow).div(selectedMarketTotalBorrow);
|
|
221
|
+
return Dec.min(amountToRedeem, totalBorrow);
|
|
222
|
+
});
|
|
223
|
+
const redemptionAmount = amountBeingRedeemedOnEachMarketByTotalBorrow.reduce((acc, val) => acc.plus(val), new Dec(0));
|
|
224
|
+
return totalUnbackedDebt.plus(redemptionAmount).toString();
|
|
225
|
+
}
|
|
226
|
+
const amountBeingRedeemedOnEachMarketByUnbackedDebt = Object.entries(markets).map(([version, market]) => {
|
|
199
227
|
const { isLegacy: isLegacyMarket } = LiquityV2Markets(NetworkNumber.Eth)[version];
|
|
200
228
|
if (version === selectedMarket && isLegacyMarket !== isLegacy)
|
|
201
229
|
return new Dec(interestRateDebtInFront);
|
|
@@ -203,11 +231,24 @@ const calculateDebtInFrontLiquityV2 = (markets, selectedMarket, allMarketsUnback
|
|
|
203
231
|
const { debtToken } = LiquityV2Markets(NetworkNumber.Eth)[version];
|
|
204
232
|
const unbackedDebt = new Dec(allMarketsUnbackedDebts[version]);
|
|
205
233
|
const totalBorrow = new Dec(assetsData[debtToken].totalBorrow);
|
|
206
|
-
const
|
|
207
|
-
return Dec.min(
|
|
234
|
+
const amountToRedeem = new Dec(interestRateDebtInFront).mul(unbackedDebt).div(selectedMarketUnbackedDebt);
|
|
235
|
+
return Dec.min(amountToRedeem, totalBorrow);
|
|
208
236
|
});
|
|
209
|
-
return
|
|
237
|
+
return amountBeingRedeemedOnEachMarketByUnbackedDebt.reduce((acc, val) => acc.plus(val), new Dec(0)).toString();
|
|
210
238
|
};
|
|
239
|
+
// @dev The amount redeemed on each branch depends on the unbacked debt of every branch (the difference between total borrow and stability pool deposits).
|
|
240
|
+
// When new debt is generated on the selected market, the unbacked debt will increase, resulting in a higher redemption amount on that branch.
|
|
241
|
+
// This function accepts the new debt that's about to be generated (e.g., trove creation) and estimates the debt in front based on the new state.
|
|
242
|
+
export const getDebtInFrontForInterestRateIncludingNewDebtLiquityV2 = (newDebt, markets, selectedMarket, provider, network, interestRate) => __awaiter(void 0, void 0, void 0, function* () {
|
|
243
|
+
const marketsWithNewDebt = structuredClone(markets);
|
|
244
|
+
const selectedMarketDebtToken = LiquityV2Markets(network)[selectedMarket].debtToken;
|
|
245
|
+
const currentTotalBorrow = new Dec(marketsWithNewDebt[selectedMarket].assetsData[selectedMarketDebtToken].totalBorrow);
|
|
246
|
+
marketsWithNewDebt[selectedMarket].assetsData[selectedMarketDebtToken].totalBorrow = currentTotalBorrow.add(newDebt).toString();
|
|
247
|
+
const { isLegacy } = LiquityV2Markets(NetworkNumber.Eth)[selectedMarket];
|
|
248
|
+
const allMarketsUnbackedDebts = yield getAllMarketsUnbackedDebts(marketsWithNewDebt, isLegacy, provider, network);
|
|
249
|
+
const interestRateDebtInFront = new Dec(yield getDebtInFrontForInterestRateSingleMarketLiquityV2(provider, network, isLegacy, LiquityV2Markets(network)[selectedMarket].marketAddress, interestRate));
|
|
250
|
+
return calculateDebtInFrontLiquityV2(marketsWithNewDebt, selectedMarket, allMarketsUnbackedDebts, interestRateDebtInFront.toString());
|
|
251
|
+
});
|
|
211
252
|
const getDebtInFrontLiquityV2 = (markets, selectedMarket, provider, network, viewContract, troveId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
212
253
|
const { isLegacy } = LiquityV2Markets(NetworkNumber.Eth)[selectedMarket];
|
|
213
254
|
const allMarketsUnbackedDebts = yield getAllMarketsUnbackedDebts(markets, isLegacy, provider, network);
|
|
@@ -15,7 +15,7 @@ export const aaveV3AssetsDefaultMarketOpt = [
|
|
|
15
15
|
export const aaveV3AssetsDefaultMarketArb = ['DAI', 'LINK', 'USDC.e', 'WBTC', 'ETH', 'USDT', 'AAVE', 'EURS', 'wstETH', 'MAI', 'rETH', 'LUSD', 'USDC', 'FRAX', 'ARB', 'weETH', 'GHO', 'ezETH', 'rsETH', 'tBTC'];
|
|
16
16
|
export const aaveV3AssetsDefaultMarketBase = ['ETH', 'cbETH', 'USDbC', 'wstETH', 'USDC', 'weETH', 'cbBTC', 'ezETH', 'GHO', 'wrsETH', 'LBTC', 'EURC', 'AAVE', 'tBTC'];
|
|
17
17
|
export const aaveV3AssetsDefaultMarketLinea = ['ETH', 'USDC', 'weETH', 'ezETH', 'USDT', 'wstETH', 'wrsETH', 'WBTC'];
|
|
18
|
-
export const aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH'];
|
|
18
|
+
export const aaveV3AssetsDefaultMarketPlasma = ['ETH', 'USDT', 'sUSDe', 'USDe', 'weETH', 'XAUt', 'PT USDe Jan', 'PT sUSDe Jan', 'wrsETH', 'wstETH', 'syrupUSDT'];
|
|
19
19
|
// @dev Keep assets in array, do not assign directly, so we can parse it and edit it programmatically with `scripts/updateMarkets`
|
|
20
20
|
export const aaveV3AssetsDefaultMarket = {
|
|
21
21
|
[NetworkNumber.Eth]: aaveV3AssetsDefaultMarketEth,
|
|
@@ -12,7 +12,6 @@ export declare const MORPHO_BLUE_WSTETH_USDA_EXCHANGE_RATE: (networkId?: Network
|
|
|
12
12
|
export declare const MORPHO_BLUE_WSTETH_PYUSD: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
13
13
|
export declare const MORPHO_BLUE_USDE_USDT: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
14
14
|
export declare const MORPHO_BLUE_SUSDE_USDT: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
15
|
-
export declare const MORPHO_BLUE_SDAI_ETH: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
16
15
|
export declare const MORPHO_BLUE_MKR_USDC: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
17
16
|
export declare const MORPHO_BLUE_TBTC_USDC: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
18
17
|
export declare const MORPHO_BLUE_CBBTC_ETH_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
@@ -20,21 +19,19 @@ export declare const MORPHO_BLUE_CBBTC_USDC_860: (networkId?: NetworkNumber) =>
|
|
|
20
19
|
export declare const MORPHO_BLUE_SUSDE_USDC_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
21
20
|
export declare const MORPHO_BLUE_EZETH_ETH_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
22
21
|
export declare const MORPHO_BLUE_EZETH_ETH_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
23
|
-
export declare const MORPHO_BLUE_WEETH_ETH_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
24
22
|
export declare const MORPHO_BLUE_WEETH_ETH_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
25
23
|
export declare const MORPHO_BLUE_WSTETH_ETH_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
26
24
|
export declare const MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
27
25
|
export declare const MORPHO_BLUE_WSTETH_ETH_965_EXCHANGE_RATE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
28
|
-
export declare const MORPHO_BLUE_SUSDE_DAI_770: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
29
26
|
export declare const MORPHO_BLUE_SUSDE_DAI_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
30
27
|
export declare const MORPHO_BLUE_SUSDE_DAI_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
31
28
|
export declare const MORPHO_BLUE_SUSDE_DAI_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
32
|
-
export declare const MORPHO_BLUE_USDE_DAI_770: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
33
29
|
export declare const MORPHO_BLUE_USDE_DAI_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
34
30
|
export declare const MORPHO_BLUE_USDE_DAI_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
35
|
-
export declare const MORPHO_BLUE_USDE_DAI_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
36
|
-
export declare const MORPHO_BLUE_RETH_ETH_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
37
31
|
export declare const MORPHO_BLUE_USR_USDC_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
32
|
+
export declare const MORPHO_BLUE_SYRUPUSDC_USDC_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
33
|
+
export declare const MORPHO_BLUE_LBTC_USDC_860: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
34
|
+
export declare const MORPHO_BLUE_LBTC_CBBTC_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
38
35
|
export declare const MORPHO_BLUE_CBETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
39
36
|
export declare const MORPHO_BLUE_CBETH_USDC_860_BASE_1c21c59d: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
40
37
|
export declare const MORPHO_BLUE_WSTETH_ETH_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
@@ -53,6 +50,7 @@ export declare const MORPHO_BLUE_LBTC_WBTC_945: (networkId?: NetworkNumber) => M
|
|
|
53
50
|
export declare const MORPHO_BLUE_LBTC_CBBTC_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
54
51
|
export declare const MORPHO_BLUE_WSTETH_EURC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
55
52
|
export declare const MORPHO_BLUE_CBBTC_EURC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
53
|
+
export declare const MORPHO_BLUE_WETH_EURC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
56
54
|
export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
57
55
|
readonly morphobluewstethusdc: MorphoBlueMarketData;
|
|
58
56
|
readonly morphobluesdaiusdc: MorphoBlueMarketData;
|
|
@@ -62,34 +60,31 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
62
60
|
readonly morphobluewstethusdt: MorphoBlueMarketData;
|
|
63
61
|
readonly morphobluewstethusda_exchange_rate: MorphoBlueMarketData;
|
|
64
62
|
readonly morphobluwstethpyusd: MorphoBlueMarketData;
|
|
65
|
-
readonly morphoblueweetheth_860: MorphoBlueMarketData;
|
|
66
63
|
readonly morphoblueweetheth_945: MorphoBlueMarketData;
|
|
67
64
|
readonly morphobluewbtcpyusd: MorphoBlueMarketData;
|
|
68
65
|
readonly morphobluewbtceth: MorphoBlueMarketData;
|
|
69
66
|
readonly morphoblueusdeusdt: MorphoBlueMarketData;
|
|
70
67
|
readonly morphobluesusdeusdt: MorphoBlueMarketData;
|
|
71
|
-
readonly morphobluesdaieth: MorphoBlueMarketData;
|
|
72
68
|
readonly morphoblueezetheth_860: MorphoBlueMarketData;
|
|
73
69
|
readonly morphoblueezetheth_945: MorphoBlueMarketData;
|
|
74
70
|
readonly morphobluemkrusdc: MorphoBlueMarketData;
|
|
75
71
|
readonly morphobluetbtcusdc: MorphoBlueMarketData;
|
|
76
72
|
readonly morphobluecbbtceth: MorphoBlueMarketData;
|
|
77
73
|
readonly morphobluecbbtcusdc: MorphoBlueMarketData;
|
|
78
|
-
readonly morphoblueretheth_945: MorphoBlueMarketData;
|
|
79
74
|
readonly morphobluesusdeusdc_915: MorphoBlueMarketData;
|
|
80
75
|
readonly morphobluelbtcwbtc_945: MorphoBlueMarketData;
|
|
81
76
|
readonly morphoblueusrusdc_915: MorphoBlueMarketData;
|
|
77
|
+
readonly morphobluesyrupusdcusdc_915: MorphoBlueMarketData;
|
|
78
|
+
readonly morphobluelbtcusdc_860: MorphoBlueMarketData;
|
|
79
|
+
readonly morphobluelbtccbbtc_945: MorphoBlueMarketData;
|
|
82
80
|
readonly morphobluewstetheth_945: MorphoBlueMarketData;
|
|
83
81
|
readonly morphobluewstetheth_945_exchange_rate: MorphoBlueMarketData;
|
|
84
82
|
readonly morphobluewstetheth_965_exchange_rate: MorphoBlueMarketData;
|
|
85
|
-
readonly morphobluesusdedai_770: MorphoBlueMarketData;
|
|
86
83
|
readonly morphobluesusdedai_860: MorphoBlueMarketData;
|
|
87
84
|
readonly morphobluesusdedai_915: MorphoBlueMarketData;
|
|
88
85
|
readonly morphobluesusdedai_945: MorphoBlueMarketData;
|
|
89
|
-
readonly morphoblueusdedai_770: MorphoBlueMarketData;
|
|
90
86
|
readonly morphoblueusdedai_860: MorphoBlueMarketData;
|
|
91
87
|
readonly morphoblueusdedai_915: MorphoBlueMarketData;
|
|
92
|
-
readonly morphoblueusdedai_945: MorphoBlueMarketData;
|
|
93
88
|
readonly morphobluecbethusdc_860_base: MorphoBlueMarketData;
|
|
94
89
|
readonly morphobluecbethusdc_860_base_1c21c59d: MorphoBlueMarketData;
|
|
95
90
|
readonly morphobluewstethusdc_860_base: MorphoBlueMarketData;
|
|
@@ -102,6 +97,7 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
102
97
|
readonly morphobluecbbtceurc_860_base: MorphoBlueMarketData;
|
|
103
98
|
readonly morphobluewstetheurc_860_base: MorphoBlueMarketData;
|
|
104
99
|
readonly morphobluelbtccbbtc_945_base: MorphoBlueMarketData;
|
|
100
|
+
readonly morphobluewetheurc_860_base: MorphoBlueMarketData;
|
|
105
101
|
readonly morphobluewsuperoethbweth_915_base: MorphoBlueMarketData;
|
|
106
102
|
readonly morphobluecbetheth_945_base: MorphoBlueMarketData;
|
|
107
103
|
readonly morphobluecbetheth_965_base: MorphoBlueMarketData;
|
|
@@ -61,6 +61,7 @@ export const MORPHO_BLUE_ETH_USDC = (networkId = NetworkNumber.Eth) => ({
|
|
|
61
61
|
marketId: '0xf9acc677910cc17f650416a22e2a14d5da7ccb9626db18f1bf94efe64f92b372',
|
|
62
62
|
protocolName: 'morpho-blue',
|
|
63
63
|
});
|
|
64
|
+
// nadja
|
|
64
65
|
export const MORPHO_BLUE_WBTC_USDT = (networkId = NetworkNumber.Eth) => ({
|
|
65
66
|
chainIds: [1],
|
|
66
67
|
label: 'Morpho',
|
|
@@ -181,21 +182,6 @@ export const MORPHO_BLUE_SUSDE_USDT = (networkId = NetworkNumber.Eth) => ({
|
|
|
181
182
|
marketId: '0xdc5333039bcf15f1237133f74d5806675d83d9cf19cfd4cfdd9be674842651bf',
|
|
182
183
|
protocolName: 'morpho-blue',
|
|
183
184
|
});
|
|
184
|
-
export const MORPHO_BLUE_SDAI_ETH = (networkId = NetworkNumber.Eth) => ({
|
|
185
|
-
chainIds: [1],
|
|
186
|
-
label: 'Morpho',
|
|
187
|
-
shortLabel: 'sDAI/ETH',
|
|
188
|
-
value: MorphoBlueVersions.MorphoBlueSDAIEth,
|
|
189
|
-
url: 'sdaieth',
|
|
190
|
-
loanToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
191
|
-
collateralToken: '0x83F20F44975D03b1b09e64809B757c47f942BEeA',
|
|
192
|
-
oracle: '0x0f9bb760D76af1B5Ca89102084E1963F6698AFda',
|
|
193
|
-
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
194
|
-
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
195
|
-
lltv: 0.86,
|
|
196
|
-
marketId: '0x1929f8139224cb7d5db8c270addc9ce366d37ad279e1135f73c0adce74b0f936',
|
|
197
|
-
protocolName: 'morpho-blue',
|
|
198
|
-
});
|
|
199
185
|
export const MORPHO_BLUE_MKR_USDC = (networkId = NetworkNumber.Eth) => ({
|
|
200
186
|
chainIds: [1],
|
|
201
187
|
label: 'Morpho',
|
|
@@ -303,21 +289,6 @@ export const MORPHO_BLUE_EZETH_ETH_945 = (networkId = NetworkNumber.Eth) => ({
|
|
|
303
289
|
protocolName: 'morpho-blue',
|
|
304
290
|
});
|
|
305
291
|
// weETH/ETH
|
|
306
|
-
export const MORPHO_BLUE_WEETH_ETH_860 = (networkId = NetworkNumber.Eth) => ({
|
|
307
|
-
chainIds: [1],
|
|
308
|
-
label: 'Morpho',
|
|
309
|
-
shortLabel: 'weETH/ETH',
|
|
310
|
-
value: MorphoBlueVersions.MorphoBlueWeEthEth_860,
|
|
311
|
-
url: 'weetheth-698fe982',
|
|
312
|
-
loanToken: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
|
|
313
|
-
collateralToken: '0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee',
|
|
314
|
-
oracle: '0x3fa58b74e9a8eA8768eb33c8453e9C2Ed089A40a',
|
|
315
|
-
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
316
|
-
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
317
|
-
lltv: 0.86,
|
|
318
|
-
marketId: '0x698fe98247a40c5771537b5786b2f3f9d78eb487b4ce4d75533cd0e94d88a115',
|
|
319
|
-
protocolName: 'morpho-blue',
|
|
320
|
-
});
|
|
321
292
|
export const MORPHO_BLUE_WEETH_ETH_945 = (networkId = NetworkNumber.Eth) => ({
|
|
322
293
|
chainIds: [1],
|
|
323
294
|
label: 'Morpho',
|
|
@@ -380,21 +351,6 @@ export const MORPHO_BLUE_WSTETH_ETH_965_EXCHANGE_RATE = (networkId = NetworkNumb
|
|
|
380
351
|
protocolName: 'morpho-blue',
|
|
381
352
|
});
|
|
382
353
|
// sUSDe/DAI
|
|
383
|
-
export const MORPHO_BLUE_SUSDE_DAI_770 = (networkId = NetworkNumber.Eth) => ({
|
|
384
|
-
chainIds: [1],
|
|
385
|
-
label: 'Morpho',
|
|
386
|
-
shortLabel: 'sUSDe/DAI',
|
|
387
|
-
value: MorphoBlueVersions.MorphoBlueSUSDeDAI_770,
|
|
388
|
-
url: 'susdedai-42dcfb38',
|
|
389
|
-
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
390
|
-
collateralToken: '0x9D39A5DE30e57443BfF2A8307A4256c8797A3497',
|
|
391
|
-
oracle: '0x5D916980D5Ae1737a8330Bf24dF812b2911Aae25',
|
|
392
|
-
oracleType: MorphoBlueOracleType.ETHENA_RATE,
|
|
393
|
-
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
394
|
-
lltv: 0.77,
|
|
395
|
-
marketId: '0x42dcfb38bb98767afb6e38ccf90d59d0d3f0aa216beb3a234f12850323d17536',
|
|
396
|
-
protocolName: 'morpho-blue',
|
|
397
|
-
});
|
|
398
354
|
export const MORPHO_BLUE_SUSDE_DAI_860 = (networkId = NetworkNumber.Eth) => ({
|
|
399
355
|
chainIds: [1],
|
|
400
356
|
label: 'Morpho',
|
|
@@ -441,21 +397,6 @@ export const MORPHO_BLUE_SUSDE_DAI_945 = (networkId = NetworkNumber.Eth) => ({
|
|
|
441
397
|
protocolName: 'morpho-blue',
|
|
442
398
|
});
|
|
443
399
|
// USDe/DAI
|
|
444
|
-
export const MORPHO_BLUE_USDE_DAI_770 = (networkId = NetworkNumber.Eth) => ({
|
|
445
|
-
chainIds: [1],
|
|
446
|
-
label: 'Morpho',
|
|
447
|
-
shortLabel: 'USDe/DAI',
|
|
448
|
-
value: MorphoBlueVersions.MorphoBlueUSDeDAI_770,
|
|
449
|
-
url: 'usdedai-fd8493f0',
|
|
450
|
-
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
451
|
-
collateralToken: '0x4c9EDD5852cd905f086C759E8383e09bff1E68B3',
|
|
452
|
-
oracle: '0xaE4750d0813B5E37A51f7629beedd72AF1f9cA35',
|
|
453
|
-
oracleType: MorphoBlueOracleType.ETHENA_RATE,
|
|
454
|
-
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
455
|
-
lltv: 0.77,
|
|
456
|
-
marketId: '0xfd8493f09eb6203615221378d89f53fcd92ff4f7d62cca87eece9a2fff59e86f',
|
|
457
|
-
protocolName: 'morpho-blue',
|
|
458
|
-
});
|
|
459
400
|
export const MORPHO_BLUE_USDE_DAI_860 = (networkId = NetworkNumber.Eth) => ({
|
|
460
401
|
chainIds: [1],
|
|
461
402
|
label: 'Morpho',
|
|
@@ -486,49 +427,64 @@ export const MORPHO_BLUE_USDE_DAI_915 = (networkId = NetworkNumber.Eth) => ({
|
|
|
486
427
|
marketId: '0x8e6aeb10c401de3279ac79b4b2ea15fc94b7d9cfc098d6c2a1ff7b2b26d9d02c',
|
|
487
428
|
protocolName: 'morpho-blue',
|
|
488
429
|
});
|
|
489
|
-
export const
|
|
430
|
+
export const MORPHO_BLUE_USR_USDC_915 = (networkId = NetworkNumber.Eth) => ({
|
|
490
431
|
chainIds: [1],
|
|
491
432
|
label: 'Morpho',
|
|
492
|
-
shortLabel: '
|
|
493
|
-
value: MorphoBlueVersions.
|
|
494
|
-
url: '
|
|
495
|
-
loanToken: '
|
|
496
|
-
collateralToken: '
|
|
497
|
-
oracle: '
|
|
498
|
-
oracleType: MorphoBlueOracleType.
|
|
433
|
+
shortLabel: 'USR/USDC',
|
|
434
|
+
value: MorphoBlueVersions.MorphoBlueUSRUSDC_915,
|
|
435
|
+
url: 'usrusdc-8e7cc042',
|
|
436
|
+
loanToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
437
|
+
collateralToken: '0x66a1E37c9b0eAddca17d3662D6c05F4DECf3e110',
|
|
438
|
+
oracle: '0x8875ceb24E656FCA062759BDCF870F59A2B0187b',
|
|
439
|
+
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
499
440
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
500
|
-
lltv: 0.
|
|
501
|
-
marketId: '
|
|
441
|
+
lltv: 0.915,
|
|
442
|
+
marketId: '0x8e7cc042d739a365c43d0a52d5f24160fa7ae9b7e7c9a479bd02a56041d4cf77',
|
|
502
443
|
protocolName: 'morpho-blue',
|
|
503
444
|
});
|
|
504
|
-
export const
|
|
445
|
+
export const MORPHO_BLUE_SYRUPUSDC_USDC_915 = (networkId = NetworkNumber.Eth) => ({
|
|
505
446
|
chainIds: [1],
|
|
506
447
|
label: 'Morpho',
|
|
507
|
-
shortLabel: '
|
|
508
|
-
value: MorphoBlueVersions.
|
|
509
|
-
url: '
|
|
510
|
-
loanToken: '
|
|
511
|
-
collateralToken: '
|
|
512
|
-
oracle: '
|
|
448
|
+
shortLabel: 'syrupUSDC/USDC',
|
|
449
|
+
value: MorphoBlueVersions.MorphoBlueSyrupUSDCUSDC_915,
|
|
450
|
+
url: 'syrupusdcusdc-729badf2',
|
|
451
|
+
loanToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
452
|
+
collateralToken: '0x80ac24aA929eaF5013f6436cdA2a7ba190f5Cc0b',
|
|
453
|
+
oracle: '0x80032f4cb6E3573b9ed61E888AF658E48Fb790cC',
|
|
513
454
|
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
514
455
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
515
|
-
lltv: 0.
|
|
516
|
-
marketId: '
|
|
456
|
+
lltv: 0.915,
|
|
457
|
+
marketId: '0x729badf297ee9f2f6b3f717b96fd355fc6ec00422284ce1968e76647b258cf44',
|
|
517
458
|
protocolName: 'morpho-blue',
|
|
518
459
|
});
|
|
519
|
-
export const
|
|
460
|
+
export const MORPHO_BLUE_LBTC_USDC_860 = (networkId = NetworkNumber.Eth) => ({
|
|
520
461
|
chainIds: [1],
|
|
521
462
|
label: 'Morpho',
|
|
522
|
-
shortLabel: '
|
|
523
|
-
value: MorphoBlueVersions.
|
|
524
|
-
url: '
|
|
463
|
+
shortLabel: 'LBTC/USDC',
|
|
464
|
+
value: MorphoBlueVersions.MorphoBlueLBTCUSDC_860,
|
|
465
|
+
url: 'lbtcusdc-bf02d6c6',
|
|
525
466
|
loanToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
|
|
526
|
-
collateralToken: '
|
|
527
|
-
oracle: '
|
|
467
|
+
collateralToken: '0x8236a87084f8B84306f72007F36F2618A5634494',
|
|
468
|
+
oracle: '0xDCc04fFaCD7B49035cCdBbbA59a5f955944129DB',
|
|
528
469
|
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
529
470
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
530
|
-
lltv: 0.
|
|
531
|
-
marketId: '
|
|
471
|
+
lltv: 0.860,
|
|
472
|
+
marketId: '0xbf02d6c6852fa0b8247d5514d0c91e6c1fbde9a168ac3fd2033028b5ee5ce6d0',
|
|
473
|
+
protocolName: 'morpho-blue',
|
|
474
|
+
});
|
|
475
|
+
export const MORPHO_BLUE_LBTC_CBBTC_945 = (networkId = NetworkNumber.Eth) => ({
|
|
476
|
+
chainIds: [1],
|
|
477
|
+
label: 'Morpho',
|
|
478
|
+
shortLabel: 'LBTC/cbBTC',
|
|
479
|
+
value: MorphoBlueVersions.MorphoBlueLBTCCbBTC_945,
|
|
480
|
+
url: 'lbtccbbtc-444bbce8',
|
|
481
|
+
loanToken: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',
|
|
482
|
+
collateralToken: '0x8236a87084f8B84306f72007F36F2618A5634494',
|
|
483
|
+
oracle: '0x1Ce1a1e68F26019CAf5E823A56e300755D70D078',
|
|
484
|
+
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
485
|
+
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
486
|
+
lltv: 0.945,
|
|
487
|
+
marketId: '0x444bbce85350aae535b037d090c8bdf6cc4cfc6d79e17725413b4cb0f6183ad4',
|
|
532
488
|
protocolName: 'morpho-blue',
|
|
533
489
|
});
|
|
534
490
|
// ###### BASE ########
|
|
@@ -802,6 +758,21 @@ export const MORPHO_BLUE_CBBTC_EURC_860_BASE = (networkId = NetworkNumber.Eth) =
|
|
|
802
758
|
marketId: '0x67ebd84b2fb39e3bc5a13d97e4c07abe1ea617e40654826e9abce252e95f049e',
|
|
803
759
|
protocolName: 'morpho-blue',
|
|
804
760
|
});
|
|
761
|
+
export const MORPHO_BLUE_WETH_EURC_860_BASE = (networkId = NetworkNumber.Eth) => ({
|
|
762
|
+
chainIds: [NetworkNumber.Base],
|
|
763
|
+
label: 'Morpho',
|
|
764
|
+
shortLabel: 'ETH/EURC',
|
|
765
|
+
value: MorphoBlueVersions.MorphoBlueWETHEURC_860_Base,
|
|
766
|
+
url: 'wetheurc-a9b5142f',
|
|
767
|
+
loanToken: '0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42',
|
|
768
|
+
collateralToken: '0x4200000000000000000000000000000000000006',
|
|
769
|
+
oracle: '0xE1bb8E5b4930eC9FeC7f7943FCF6227649F14B37',
|
|
770
|
+
oracleType: MorphoBlueOracleType.MARKET_RATE,
|
|
771
|
+
irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
|
|
772
|
+
lltv: 0.86,
|
|
773
|
+
marketId: '0xa9b5142fa687a24c275faf731f13b52faa9873252bb4e1cb6077aa1f412edb0b',
|
|
774
|
+
protocolName: 'morpho-blue',
|
|
775
|
+
});
|
|
805
776
|
export const MorphoBlueMarkets = (networkId) => ({
|
|
806
777
|
[MorphoBlueVersions.MorphoBlueWstEthUSDC]: MORPHO_BLUE_WSTETH_USDC(networkId),
|
|
807
778
|
[MorphoBlueVersions.MorphoBlueSDAIUSDC]: MORPHO_BLUE_SDAI_USDC(networkId),
|
|
@@ -811,37 +782,34 @@ export const MorphoBlueMarkets = (networkId) => ({
|
|
|
811
782
|
[MorphoBlueVersions.MorphoBlueWstEthUSDT]: MORPHO_BLUE_WSTETH_USDT(networkId),
|
|
812
783
|
[MorphoBlueVersions.MorphoBlueWstEthUSDA_Exchange_Rate]: MORPHO_BLUE_WSTETH_USDA_EXCHANGE_RATE(networkId),
|
|
813
784
|
[MorphoBlueVersions.MorphoBlueWstEthPYUSD]: MORPHO_BLUE_WSTETH_PYUSD(networkId),
|
|
814
|
-
[MorphoBlueVersions.MorphoBlueWeEthEth_860]: MORPHO_BLUE_WEETH_ETH_860(networkId),
|
|
815
785
|
[MorphoBlueVersions.MorphoBlueWeEthEth_945]: MORPHO_BLUE_WEETH_ETH_945(networkId),
|
|
816
786
|
[MorphoBlueVersions.MorphoBlueWBTCPYUSD]: MORPHO_BLUE_WBTC_PYUSD(networkId),
|
|
817
787
|
[MorphoBlueVersions.MorphoBlueWBTCEth]: MORPHO_BLUE_WBTC_ETH(networkId),
|
|
818
788
|
[MorphoBlueVersions.MorphoBlueUSDeUSDT]: MORPHO_BLUE_USDE_USDT(networkId),
|
|
819
789
|
[MorphoBlueVersions.MorphoBlueSUSDeUSDT]: MORPHO_BLUE_SUSDE_USDT(networkId),
|
|
820
|
-
[MorphoBlueVersions.MorphoBlueSDAIEth]: MORPHO_BLUE_SDAI_ETH(networkId),
|
|
821
790
|
[MorphoBlueVersions.MorphoBlueEzEthEth_860]: MORPHO_BLUE_EZETH_ETH_860(networkId),
|
|
822
791
|
[MorphoBlueVersions.MorphoBlueEzEthEth_945]: MORPHO_BLUE_EZETH_ETH_945(networkId),
|
|
823
792
|
[MorphoBlueVersions.MorphoBlueMKRUSDC]: MORPHO_BLUE_MKR_USDC(networkId),
|
|
824
793
|
[MorphoBlueVersions.MorphoBlueTBTCUSDC]: MORPHO_BLUE_TBTC_USDC(networkId),
|
|
825
794
|
[MorphoBlueVersions.MorphoBlueCbBTCEth_915]: MORPHO_BLUE_CBBTC_ETH_915(networkId),
|
|
826
795
|
[MorphoBlueVersions.MorphoBlueCbBTCUSDC_860]: MORPHO_BLUE_CBBTC_USDC_860(networkId),
|
|
827
|
-
[MorphoBlueVersions.MorphoBlueREthEth_945]: MORPHO_BLUE_RETH_ETH_945(networkId),
|
|
828
796
|
[MorphoBlueVersions.MorphoBlueSUSDeUSDC_915]: MORPHO_BLUE_SUSDE_USDC_915(networkId),
|
|
829
797
|
[MorphoBlueVersions.MorphoBlueLBTCWBTC_945]: MORPHO_BLUE_LBTC_WBTC_945(networkId),
|
|
830
798
|
[MorphoBlueVersions.MorphoBlueUSRUSDC_915]: MORPHO_BLUE_USR_USDC_915(networkId),
|
|
799
|
+
[MorphoBlueVersions.MorphoBlueSyrupUSDCUSDC_915]: MORPHO_BLUE_SYRUPUSDC_USDC_915(networkId),
|
|
800
|
+
[MorphoBlueVersions.MorphoBlueLBTCUSDC_860]: MORPHO_BLUE_LBTC_USDC_860(networkId),
|
|
801
|
+
[MorphoBlueVersions.MorphoBlueLBTCCbBTC_945]: MORPHO_BLUE_LBTC_CBBTC_945(networkId),
|
|
831
802
|
// wstETH/WETH
|
|
832
803
|
[MorphoBlueVersions.MorphoBlueWstEthEth_945]: MORPHO_BLUE_WSTETH_ETH_945(networkId),
|
|
833
804
|
[MorphoBlueVersions.MorphoBlueWstEthEth_945_Exchange_Rate]: MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE(networkId),
|
|
834
805
|
[MorphoBlueVersions.MorphoBlueWstEthEth_965_Exchange_Rate]: MORPHO_BLUE_WSTETH_ETH_965_EXCHANGE_RATE(networkId),
|
|
835
806
|
// sUSDe/DAI
|
|
836
|
-
[MorphoBlueVersions.MorphoBlueSUSDeDAI_770]: MORPHO_BLUE_SUSDE_DAI_770(networkId),
|
|
837
807
|
[MorphoBlueVersions.MorphoBlueSUSDeDAI_860]: MORPHO_BLUE_SUSDE_DAI_860(networkId),
|
|
838
808
|
[MorphoBlueVersions.MorphoBlueSUSDeDAI_915]: MORPHO_BLUE_SUSDE_DAI_915(networkId),
|
|
839
809
|
[MorphoBlueVersions.MorphoBlueSUSDeDAI_945]: MORPHO_BLUE_SUSDE_DAI_945(networkId),
|
|
840
810
|
// USDe/DAI
|
|
841
|
-
[MorphoBlueVersions.MorphoBlueUSDeDAI_770]: MORPHO_BLUE_USDE_DAI_770(networkId),
|
|
842
811
|
[MorphoBlueVersions.MorphoBlueUSDeDAI_860]: MORPHO_BLUE_USDE_DAI_860(networkId),
|
|
843
812
|
[MorphoBlueVersions.MorphoBlueUSDeDAI_915]: MORPHO_BLUE_USDE_DAI_915(networkId),
|
|
844
|
-
[MorphoBlueVersions.MorphoBlueUSDeDAI_945]: MORPHO_BLUE_USDE_DAI_945(networkId),
|
|
845
813
|
// Base
|
|
846
814
|
[MorphoBlueVersions.MorphoBlueCbEthUSDC_860_Base]: MORPHO_BLUE_CBETH_USDC_860_BASE(networkId),
|
|
847
815
|
[MorphoBlueVersions.MorphoBlueCbEthUSDC_860_Base_1c21c59d]: MORPHO_BLUE_CBETH_USDC_860_BASE_1c21c59d(networkId),
|
|
@@ -855,6 +823,7 @@ export const MorphoBlueMarkets = (networkId) => ({
|
|
|
855
823
|
[MorphoBlueVersions.MorphoBlueCbBTCEURC_860_Base]: MORPHO_BLUE_CBBTC_EURC_860_BASE(networkId),
|
|
856
824
|
[MorphoBlueVersions.MorphoBlueWstEthEURC_860_Base]: MORPHO_BLUE_WSTETH_EURC_860_BASE(networkId),
|
|
857
825
|
[MorphoBlueVersions.MorphoBlueLBTCCbBTC_945_Base]: MORPHO_BLUE_LBTC_CBBTC_945_BASE(networkId),
|
|
826
|
+
[MorphoBlueVersions.MorphoBlueWETHEURC_860_Base]: MORPHO_BLUE_WETH_EURC_860_BASE(networkId),
|
|
858
827
|
// wsuperOETHb/WETH Base
|
|
859
828
|
[MorphoBlueVersions.MorphoBlueWsuperOETHbWETH_915_Base]: MORPHO_BLUE_WSUPEROETHB_WETH_915_BASE(networkId),
|
|
860
829
|
// cbETH/WETH Base
|
|
@@ -16,7 +16,11 @@ export const calcLeverageLiqPrice = (leverageType, assetPrice, borrowedUsd, borr
|
|
|
16
16
|
return '0';
|
|
17
17
|
};
|
|
18
18
|
export const calculateBorrowingAssetLimit = (assetBorrowedUsd, borrowLimitUsd) => new Dec(assetBorrowedUsd).div(borrowLimitUsd).times(100).toString();
|
|
19
|
-
export const STABLE_ASSETS = [
|
|
19
|
+
export const STABLE_ASSETS = [
|
|
20
|
+
'DAI', 'USDC', 'USDT', 'TUSD', 'USDP', 'GUSD', 'BUSD', 'SUSD', 'FRAX', 'LUSD', 'USDC.e', 'GHO', 'sDAI', 'USDA',
|
|
21
|
+
'USDe', 'sUSDe', 'USDS', 'sUSDS', 'USR', 'EURC', 'BOLD', 'BOLD Legacy', 'RLUSD', 'PT sUSDe July', 'PT eUSDe May',
|
|
22
|
+
'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',
|
|
23
|
+
];
|
|
20
24
|
export const isLeveragedPos = (usedAssets, dustLimit = 5) => {
|
|
21
25
|
let borrowUnstable = 0;
|
|
22
26
|
let supplyStable = 0;
|