@defisaver/positions-sdk 0.0.84 → 0.0.86
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/aaveV2/index.js +4 -4
- package/cjs/aaveV3/index.js +2 -2
- package/cjs/markets/morphoBlue/index.d.ts +10 -0
- package/cjs/markets/morphoBlue/index.js +95 -9
- package/cjs/moneymarket/moneymarketCommonService.d.ts +1 -1
- package/cjs/moneymarket/moneymarketCommonService.js +1 -1
- package/cjs/morphoAaveV2/index.js +6 -6
- package/cjs/morphoAaveV3/index.js +2 -2
- package/cjs/spark/index.js +4 -4
- package/cjs/staking/staking.d.ts +0 -1
- package/cjs/staking/staking.js +9 -19
- package/cjs/types/morphoBlue.d.ts +8 -2
- package/cjs/types/morphoBlue.js +6 -0
- package/esm/aaveV2/index.js +5 -5
- package/esm/aaveV3/index.js +3 -3
- package/esm/markets/morphoBlue/index.d.ts +10 -0
- package/esm/markets/morphoBlue/index.js +89 -8
- package/esm/moneymarket/moneymarketCommonService.d.ts +1 -1
- package/esm/moneymarket/moneymarketCommonService.js +1 -1
- package/esm/morphoAaveV2/index.js +7 -7
- package/esm/morphoAaveV3/index.js +3 -3
- package/esm/spark/index.js +5 -5
- package/esm/staking/staking.d.ts +0 -1
- package/esm/staking/staking.js +8 -17
- package/esm/types/morphoBlue.d.ts +8 -2
- package/esm/types/morphoBlue.js +6 -0
- package/package.json +1 -2
- package/src/aaveV2/index.ts +5 -5
- package/src/aaveV3/index.ts +7 -8
- package/src/markets/morphoBlue/index.ts +89 -8
- package/src/moneymarket/moneymarketCommonService.ts +1 -1
- package/src/morphoAaveV2/index.ts +7 -7
- package/src/morphoAaveV3/index.ts +4 -4
- package/src/spark/index.ts +6 -6
- package/src/staking/staking.ts +8 -20
- package/src/types/morphoBlue.ts +6 -0
package/cjs/aaveV2/index.js
CHANGED
|
@@ -33,9 +33,9 @@ const getAaveV2MarketsData = (web3, network, selectedMarket, mainnetWeb3) => __a
|
|
|
33
33
|
.map((market, i) => ({
|
|
34
34
|
symbol: selectedMarket.assets[i],
|
|
35
35
|
underlyingTokenAddress: market.underlyingTokenAddress,
|
|
36
|
-
supplyRate: new decimal_js_1.default(market.supplyRate.toString()).div(1e25).toString(),
|
|
37
|
-
borrowRate: new decimal_js_1.default(market.borrowRateVariable.toString()).div(1e25).toString(),
|
|
38
|
-
borrowRateStable: new decimal_js_1.default(market.borrowRateStable.toString()).div(1e25).toString(),
|
|
36
|
+
supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.supplyRate.toString()).div(1e25).toString()),
|
|
37
|
+
borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.borrowRateVariable.toString()).div(1e25).toString()),
|
|
38
|
+
borrowRateStable: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.borrowRateStable.toString()).div(1e25).toString()),
|
|
39
39
|
collateralFactor: new decimal_js_1.default(market.collateralFactor.toString()).div(10000).toString(),
|
|
40
40
|
liquidationRatio: new decimal_js_1.default(market.liquidationRatio.toString()).div(10000).toString(),
|
|
41
41
|
marketLiquidity: (0, tokens_1.assetAmountInEth)(new decimal_js_1.default(market.totalSupply.toString())
|
|
@@ -151,7 +151,7 @@ const getAaveV2AccountData = (web3, network, address, assetsData, market) => __a
|
|
|
151
151
|
}
|
|
152
152
|
if (!usedAssets[asset])
|
|
153
153
|
usedAssets[asset] = {};
|
|
154
|
-
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new decimal_js_1.default(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: new decimal_js_1.default(tokenInfo.stableBorrowRate).div(1e25).toString(), borrowedStable,
|
|
154
|
+
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new decimal_js_1.default(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenInfo.stableBorrowRate).div(1e25).toString()), borrowedStable,
|
|
155
155
|
borrowedVariable, borrowedUsdStable: new decimal_js_1.default(borrowedStable).mul(assetsData[asset].price).toString(), borrowedUsdVariable: new decimal_js_1.default(borrowedVariable).mul(assetsData[asset].price).toString(), borrowed: new decimal_js_1.default(borrowedStable).add(borrowedVariable).toString(), borrowedUsd: new decimal_js_1.default(new decimal_js_1.default(borrowedVariable).add(borrowedStable)).mul(assetsData[asset].price).toString(), isBorrowed,
|
|
156
156
|
interestMode });
|
|
157
157
|
});
|
package/cjs/aaveV3/index.js
CHANGED
|
@@ -161,7 +161,7 @@ function getAaveV3MarketData(web3, network, market, defaultWeb3) {
|
|
|
161
161
|
minDiscountTokenBalance,
|
|
162
162
|
minGhoBalanceForDiscount,
|
|
163
163
|
},
|
|
164
|
-
})), { symbol, isIsolated: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).gt(0), debtCeilingForIsolationMode: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).div(100).toString(), isSiloed: tokenMarket.isSiloedForBorrowing, eModeCategory: +tokenMarket.emodeCategory, isolationModeTotalDebt: new decimal_js_1.default(tokenMarket.isolationModeTotalDebt).div(100).toString(), assetId: Number(tokenMarket.assetId), underlyingTokenAddress: tokenMarket.underlyingTokenAddress, supplyRate: new decimal_js_1.default(tokenMarket.supplyRate.toString()).div(1e25).toString(), borrowRate: new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).toString(), borrowRateDiscounted: nativeAsset ? new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).mul(1 - parseFloat(discountRateOnBorrow)).toString() : '0', borrowRateStable: new decimal_js_1.default(tokenMarket.borrowRateStable.toString()).div(1e25).toString(), collateralFactor: new decimal_js_1.default(tokenMarket.collateralFactor.toString()).div(10000).toString(), liquidationRatio: new decimal_js_1.default(tokenMarket.liquidationRatio.toString()).div(10000).toString(), marketLiquidity, utilization: new decimal_js_1.default(tokenMarket.totalBorrow.toString()).times(100).div(new decimal_js_1.default(tokenMarket.totalSupply.toString())).toString(), usageAsCollateralEnabled: tokenMarket.usageAsCollateralEnabled, supplyCap: tokenMarket.supplyCap, borrowCap, totalSupply: (0, tokens_1.assetAmountInEth)(tokenMarket.totalSupply.toString(), symbol), isInactive: !tokenMarket.isActive, isFrozen: tokenMarket.isFrozen, isPaused: tokenMarket.isPaused, canBeBorrowed: tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen && tokenMarket.borrowingEnabled && isBorrowAllowed, canBeSupplied: !nativeAsset && tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen, canBeWithdrawn: tokenMarket.isActive && !tokenMarket.isPaused, canBePayBacked: tokenMarket.isActive && !tokenMarket.isPaused, disabledStableBorrowing: !tokenMarket.stableBorrowRateEnabled, totalBorrow: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrow.toString(), symbol), totalBorrowVar: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrowVar.toString(), symbol), price: new decimal_js_1.default(tokenMarket.price.toString()).div(1e8).toString(), isolationModeBorrowingEnabled: tokenMarket.isolationModeBorrowingEnabled, isFlashLoanEnabled: tokenMarket.isFlashLoanEnabled, eModeCategoryData: {
|
|
164
|
+
})), { symbol, isIsolated: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).gt(0), debtCeilingForIsolationMode: new decimal_js_1.default(tokenMarket.debtCeilingForIsolationMode).div(100).toString(), isSiloed: tokenMarket.isSiloedForBorrowing, eModeCategory: +tokenMarket.emodeCategory, isolationModeTotalDebt: new decimal_js_1.default(tokenMarket.isolationModeTotalDebt).div(100).toString(), assetId: Number(tokenMarket.assetId), underlyingTokenAddress: tokenMarket.underlyingTokenAddress, supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.supplyRate.toString()).div(1e25).toString()), borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).toString()), borrowRateDiscounted: (0, moneymarket_1.aprToApy)(nativeAsset ? new decimal_js_1.default(tokenMarket.borrowRateVariable.toString()).div(1e25).mul(1 - parseFloat(discountRateOnBorrow)).toString() : '0'), borrowRateStable: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenMarket.borrowRateStable.toString()).div(1e25).toString()), collateralFactor: new decimal_js_1.default(tokenMarket.collateralFactor.toString()).div(10000).toString(), liquidationRatio: new decimal_js_1.default(tokenMarket.liquidationRatio.toString()).div(10000).toString(), marketLiquidity, utilization: new decimal_js_1.default(tokenMarket.totalBorrow.toString()).times(100).div(new decimal_js_1.default(tokenMarket.totalSupply.toString())).toString(), usageAsCollateralEnabled: tokenMarket.usageAsCollateralEnabled, supplyCap: tokenMarket.supplyCap, borrowCap, totalSupply: (0, tokens_1.assetAmountInEth)(tokenMarket.totalSupply.toString(), symbol), isInactive: !tokenMarket.isActive, isFrozen: tokenMarket.isFrozen, isPaused: tokenMarket.isPaused, canBeBorrowed: tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen && tokenMarket.borrowingEnabled && isBorrowAllowed, canBeSupplied: !nativeAsset && tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen, canBeWithdrawn: tokenMarket.isActive && !tokenMarket.isPaused, canBePayBacked: tokenMarket.isActive && !tokenMarket.isPaused, disabledStableBorrowing: !tokenMarket.stableBorrowRateEnabled, totalBorrow: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrow.toString(), symbol), totalBorrowVar: (0, tokens_1.assetAmountInEth)(tokenMarket.totalBorrowVar.toString(), symbol), price: new decimal_js_1.default(tokenMarket.price.toString()).div(1e8).toString(), isolationModeBorrowingEnabled: tokenMarket.isolationModeBorrowingEnabled, isFlashLoanEnabled: tokenMarket.isFlashLoanEnabled, eModeCategoryData: {
|
|
165
165
|
label: tokenMarket.label,
|
|
166
166
|
liquidationBonus: new decimal_js_1.default(tokenMarket.liquidationBonus).div(10000).toString(),
|
|
167
167
|
liquidationRatio: new decimal_js_1.default(tokenMarket.liquidationThreshold).div(10000).toString(),
|
|
@@ -359,7 +359,7 @@ const getAaveV3AccountData = (web3, network, address, extractedState) => __await
|
|
|
359
359
|
if (nativeAsset && new decimal_js_1.default(borrowed).gt(0) && new decimal_js_1.default(stkAaveBalance).gt(0)) {
|
|
360
360
|
discountRateOnBorrow = (0, exports.aaveV3CalculateDiscountRate)((0, tokens_1.assetAmountInWei)(borrowed, 'GHO'), (0, tokens_1.assetAmountInWei)(stkAaveBalance, 'stkAAVE'), assetsData[asset].discountData.discountRate, assetsData[asset].discountData.minDiscountTokenBalance, assetsData[asset].discountData.minGhoBalanceForDiscount, assetsData[asset].discountData.ghoDiscountedPerDiscountToken);
|
|
361
361
|
}
|
|
362
|
-
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new decimal_js_1.default(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: new decimal_js_1.default(tokenInfo.stableBorrowRate).div(1e25).toString(), discountedBorrowRate: new decimal_js_1.default(assetsData[asset].borrowRate).mul(1 - parseFloat(discountRateOnBorrow)).toString(), borrowedStable,
|
|
362
|
+
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new decimal_js_1.default(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenInfo.stableBorrowRate).div(1e25).toString()), discountedBorrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(assetsData[asset].borrowRate).mul(1 - parseFloat(discountRateOnBorrow)).toString()), borrowedStable,
|
|
363
363
|
borrowedVariable, borrowedUsdStable: new decimal_js_1.default(borrowedStable).mul(assetsData[asset].price).toString(), borrowedUsdVariable: new decimal_js_1.default(borrowedVariable).mul(assetsData[asset].price).toString(), borrowed, borrowedUsd: new decimal_js_1.default(new decimal_js_1.default(borrowedVariable).add(borrowedStable)).mul(assetsData[asset].price).toString(), isBorrowed, eModeCategory: assetsData[asset].eModeCategory, interestMode });
|
|
364
364
|
}));
|
|
365
365
|
payload.eModeCategory = +multicallRes[0][0];
|
|
@@ -28,6 +28,11 @@ export declare const MORPHO_BLUE_USDE_DAI_860: (networkId?: NetworkNumber) => Mo
|
|
|
28
28
|
export declare const MORPHO_BLUE_USDE_DAI_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
29
29
|
export declare const MORPHO_BLUE_USDE_DAI_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
30
30
|
export declare const MORPHO_BLUE_CBETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
31
|
+
export declare const MORPHO_BLUE_WSTETH_ETH_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
32
|
+
export declare const MORPHO_BLUE_WSTETH_ETH_965_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
33
|
+
export declare const MORPHO_BLUE_WSTETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
34
|
+
export declare const MORPHO_BLUE_CBETH_ETH_965_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
35
|
+
export declare const MORPHO_BLUE_ETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
31
36
|
export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
32
37
|
readonly morphobluewstethusdc: MorphoBlueMarketData;
|
|
33
38
|
readonly morphobluesdaiusdc: MorphoBlueMarketData;
|
|
@@ -57,5 +62,10 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
57
62
|
readonly morphoblueusdedai_915: MorphoBlueMarketData;
|
|
58
63
|
readonly morphoblueusdedai_945: MorphoBlueMarketData;
|
|
59
64
|
readonly morphobluecbethusdc_860_base: MorphoBlueMarketData;
|
|
65
|
+
readonly morphobluewstetheth_945_base: MorphoBlueMarketData;
|
|
66
|
+
readonly morphobluewstetheth_965_base: MorphoBlueMarketData;
|
|
67
|
+
readonly morphobluewstethusdc_860_base: MorphoBlueMarketData;
|
|
68
|
+
readonly morphobluecbetheth_965_base: MorphoBlueMarketData;
|
|
69
|
+
readonly morphoblueethusdc_860_base: MorphoBlueMarketData;
|
|
60
70
|
};
|
|
61
71
|
export declare const findMorphoBlueMarket: (collateralToken: string, loanToken: string, lltv: number, oracle: string, irm: string, network?: NetworkNumber) => MorphoBlueMarketData | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.MORPHO_BLUE_CBETH_USDC_860_BASE = exports.MORPHO_BLUE_USDE_DAI_945 = exports.MORPHO_BLUE_USDE_DAI_915 = exports.MORPHO_BLUE_USDE_DAI_860 = exports.MORPHO_BLUE_USDE_DAI_770 = exports.MORPHO_BLUE_SUSDE_DAI_945 = exports.MORPHO_BLUE_SUSDE_DAI_915 = exports.MORPHO_BLUE_SUSDE_DAI_860 = exports.MORPHO_BLUE_SUSDE_DAI_770 = exports.MORPHO_BLUE_WSTETH_ETH_965_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945 = exports.MORPHO_BLUE_MKR_USDC = exports.MORPHO_BLUE_EZETH_ETH = exports.MORPHO_BLUE_SDAI_ETH = exports.MORPHO_BLUE_SUSDE_USDT = exports.MORPHO_BLUE_USDE_USDT = exports.MORPHO_BLUE_WEETH_ETH = exports.MORPHO_BLUE_WSTETH_PYUSD = exports.MORPHO_BLUE_WSTETH_USDA_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_USDT = exports.MORPHO_BLUE_WBTC_ETH = exports.MORPHO_BLUE_WBTC_PYUSD = exports.MORPHO_BLUE_WBTC_USDT = exports.MORPHO_BLUE_ETH_USDC = exports.MORPHO_BLUE_WBTC_USDC = exports.MORPHO_BLUE_SDAI_USDC = exports.MORPHO_BLUE_WSTETH_USDC = void 0;
|
|
3
|
+
exports.findMorphoBlueMarket = exports.MorphoBlueMarkets = exports.MORPHO_BLUE_ETH_USDC_860_BASE = exports.MORPHO_BLUE_CBETH_ETH_965_BASE = exports.MORPHO_BLUE_WSTETH_USDC_860_BASE = exports.MORPHO_BLUE_WSTETH_ETH_965_BASE = exports.MORPHO_BLUE_WSTETH_ETH_945_BASE = exports.MORPHO_BLUE_CBETH_USDC_860_BASE = exports.MORPHO_BLUE_USDE_DAI_945 = exports.MORPHO_BLUE_USDE_DAI_915 = exports.MORPHO_BLUE_USDE_DAI_860 = exports.MORPHO_BLUE_USDE_DAI_770 = exports.MORPHO_BLUE_SUSDE_DAI_945 = exports.MORPHO_BLUE_SUSDE_DAI_915 = exports.MORPHO_BLUE_SUSDE_DAI_860 = exports.MORPHO_BLUE_SUSDE_DAI_770 = exports.MORPHO_BLUE_WSTETH_ETH_965_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_ETH_945 = exports.MORPHO_BLUE_MKR_USDC = exports.MORPHO_BLUE_EZETH_ETH = exports.MORPHO_BLUE_SDAI_ETH = exports.MORPHO_BLUE_SUSDE_USDT = exports.MORPHO_BLUE_USDE_USDT = exports.MORPHO_BLUE_WEETH_ETH = exports.MORPHO_BLUE_WSTETH_PYUSD = exports.MORPHO_BLUE_WSTETH_USDA_EXCHANGE_RATE = exports.MORPHO_BLUE_WSTETH_USDT = exports.MORPHO_BLUE_WBTC_ETH = exports.MORPHO_BLUE_WBTC_PYUSD = exports.MORPHO_BLUE_WBTC_USDT = exports.MORPHO_BLUE_ETH_USDC = exports.MORPHO_BLUE_WBTC_USDC = exports.MORPHO_BLUE_SDAI_USDC = exports.MORPHO_BLUE_WSTETH_USDC = void 0;
|
|
4
4
|
const utils_1 = require("../../services/utils");
|
|
5
5
|
const types_1 = require("../../types");
|
|
6
6
|
const common_1 = require("../../types/common");
|
|
@@ -319,7 +319,7 @@ const MORPHO_BLUE_SUSDE_DAI_770 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
319
319
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
320
320
|
collateralToken: '0x9D39A5DE30e57443BfF2A8307A4256c8797A3497',
|
|
321
321
|
oracle: '0x5D916980D5Ae1737a8330Bf24dF812b2911Aae25',
|
|
322
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
322
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
323
323
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
324
324
|
lltv: 0.77,
|
|
325
325
|
marketId: '0x42dcfb38bb98767afb6e38ccf90d59d0d3f0aa216beb3a234f12850323d17536',
|
|
@@ -335,7 +335,7 @@ const MORPHO_BLUE_SUSDE_DAI_860 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
335
335
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
336
336
|
collateralToken: '0x9D39A5DE30e57443BfF2A8307A4256c8797A3497',
|
|
337
337
|
oracle: '0x5D916980D5Ae1737a8330Bf24dF812b2911Aae25',
|
|
338
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
338
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
339
339
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
340
340
|
lltv: 0.86,
|
|
341
341
|
marketId: '0x39d11026eae1c6ec02aa4c0910778664089cdd97c3fd23f68f7cd05e2e95af48',
|
|
@@ -351,7 +351,7 @@ const MORPHO_BLUE_SUSDE_DAI_915 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
351
351
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
352
352
|
collateralToken: '0x9D39A5DE30e57443BfF2A8307A4256c8797A3497',
|
|
353
353
|
oracle: '0x5D916980D5Ae1737a8330Bf24dF812b2911Aae25',
|
|
354
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
354
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
355
355
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
356
356
|
lltv: 0.915,
|
|
357
357
|
marketId: '0x1247f1c237eceae0602eab1470a5061a6dd8f734ba88c7cdc5d6109fb0026b28',
|
|
@@ -367,7 +367,7 @@ const MORPHO_BLUE_SUSDE_DAI_945 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
367
367
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
368
368
|
collateralToken: '0x9D39A5DE30e57443BfF2A8307A4256c8797A3497',
|
|
369
369
|
oracle: '0x5D916980D5Ae1737a8330Bf24dF812b2911Aae25',
|
|
370
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
370
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
371
371
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
372
372
|
lltv: 0.945,
|
|
373
373
|
marketId: '0xe475337d11be1db07f7c5a156e511f05d1844308e66e17d2ba5da0839d3b34d9',
|
|
@@ -384,7 +384,7 @@ const MORPHO_BLUE_USDE_DAI_770 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
384
384
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
385
385
|
collateralToken: '0x4c9EDD5852cd905f086C759E8383e09bff1E68B3',
|
|
386
386
|
oracle: '0xaE4750d0813B5E37A51f7629beedd72AF1f9cA35',
|
|
387
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
387
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
388
388
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
389
389
|
lltv: 0.77,
|
|
390
390
|
marketId: '0xfd8493f09eb6203615221378d89f53fcd92ff4f7d62cca87eece9a2fff59e86f',
|
|
@@ -400,7 +400,7 @@ const MORPHO_BLUE_USDE_DAI_860 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
400
400
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
401
401
|
collateralToken: '0x4c9EDD5852cd905f086C759E8383e09bff1E68B3',
|
|
402
402
|
oracle: '0xaE4750d0813B5E37A51f7629beedd72AF1f9cA35',
|
|
403
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
403
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
404
404
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
405
405
|
lltv: 0.86,
|
|
406
406
|
marketId: '0xc581c5f70bd1afa283eed57d1418c6432cbff1d862f94eaf58fdd4e46afbb67f',
|
|
@@ -416,7 +416,7 @@ const MORPHO_BLUE_USDE_DAI_915 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
416
416
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
417
417
|
collateralToken: '0x4c9EDD5852cd905f086C759E8383e09bff1E68B3',
|
|
418
418
|
oracle: '0xaE4750d0813B5E37A51f7629beedd72AF1f9cA35',
|
|
419
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
419
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
420
420
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
421
421
|
lltv: 0.915,
|
|
422
422
|
marketId: '0x8e6aeb10c401de3279ac79b4b2ea15fc94b7d9cfc098d6c2a1ff7b2b26d9d02c',
|
|
@@ -432,7 +432,7 @@ const MORPHO_BLUE_USDE_DAI_945 = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
|
432
432
|
loanToken: '0x6B175474E89094C44Da98b954EedeAC495271d0F',
|
|
433
433
|
collateralToken: '0x4c9EDD5852cd905f086C759E8383e09bff1E68B3',
|
|
434
434
|
oracle: '0xaE4750d0813B5E37A51f7629beedd72AF1f9cA35',
|
|
435
|
-
oracleType: types_1.MorphoBlueOracleType.
|
|
435
|
+
oracleType: types_1.MorphoBlueOracleType.ETHENA_RATE,
|
|
436
436
|
irm: '0x870aC11D48B15DB9a138Cf899d20F13F79Ba00BC',
|
|
437
437
|
lltv: 0.945,
|
|
438
438
|
marketId: '0xdb760246f6859780f6c1b272d47a8f64710777121118e56e0cdb4b8b744a3094',
|
|
@@ -456,6 +456,86 @@ const MORPHO_BLUE_CBETH_USDC_860_BASE = (networkId = common_1.NetworkNumber.Eth)
|
|
|
456
456
|
protocolName: 'morpho-blue',
|
|
457
457
|
});
|
|
458
458
|
exports.MORPHO_BLUE_CBETH_USDC_860_BASE = MORPHO_BLUE_CBETH_USDC_860_BASE;
|
|
459
|
+
const MORPHO_BLUE_WSTETH_ETH_945_BASE = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
460
|
+
chainIds: [common_1.NetworkNumber.Base],
|
|
461
|
+
label: 'Morpho Blue',
|
|
462
|
+
shortLabel: 'wstETH/ETH',
|
|
463
|
+
value: types_1.MorphoBlueVersions.MorphoBlueWstEthEth_945_Base,
|
|
464
|
+
url: 'wstetheth-e3c4d4d0',
|
|
465
|
+
loanToken: '0x4200000000000000000000000000000000000006',
|
|
466
|
+
collateralToken: '0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452',
|
|
467
|
+
oracle: '0xaE10cbdAa587646246c8253E4532A002EE4fa7A4',
|
|
468
|
+
oracleType: types_1.MorphoBlueOracleType.MARKET_RATE,
|
|
469
|
+
irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
|
|
470
|
+
lltv: 0.945,
|
|
471
|
+
marketId: '0xe3c4d4d0e214fdc52635d7f9b2f7b3b0081771ae2efeb3cb5aae26009f34f7a7',
|
|
472
|
+
protocolName: 'morpho-blue',
|
|
473
|
+
});
|
|
474
|
+
exports.MORPHO_BLUE_WSTETH_ETH_945_BASE = MORPHO_BLUE_WSTETH_ETH_945_BASE;
|
|
475
|
+
const MORPHO_BLUE_WSTETH_ETH_965_BASE = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
476
|
+
chainIds: [common_1.NetworkNumber.Base],
|
|
477
|
+
label: 'Morpho Blue',
|
|
478
|
+
shortLabel: 'wstETH/ETH',
|
|
479
|
+
value: types_1.MorphoBlueVersions.MorphoBlueWstEthEth_965_Base,
|
|
480
|
+
url: 'wstetheth-6aa81f51',
|
|
481
|
+
loanToken: '0x4200000000000000000000000000000000000006',
|
|
482
|
+
collateralToken: '0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452',
|
|
483
|
+
oracle: '0xaE10cbdAa587646246c8253E4532A002EE4fa7A4',
|
|
484
|
+
oracleType: types_1.MorphoBlueOracleType.MARKET_RATE,
|
|
485
|
+
irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
|
|
486
|
+
lltv: 0.965,
|
|
487
|
+
marketId: '0x6aa81f51dfc955df598e18006deae56ce907ac02b0b5358705f1a28fcea23cc0',
|
|
488
|
+
protocolName: 'morpho-blue',
|
|
489
|
+
});
|
|
490
|
+
exports.MORPHO_BLUE_WSTETH_ETH_965_BASE = MORPHO_BLUE_WSTETH_ETH_965_BASE;
|
|
491
|
+
const MORPHO_BLUE_WSTETH_USDC_860_BASE = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
492
|
+
chainIds: [common_1.NetworkNumber.Base],
|
|
493
|
+
label: 'Morpho Blue',
|
|
494
|
+
shortLabel: 'wstETH/USDC',
|
|
495
|
+
value: types_1.MorphoBlueVersions.MorphoBlueWstEthUSDC_860_Base,
|
|
496
|
+
url: 'wstethusdc-a066f389',
|
|
497
|
+
loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
498
|
+
collateralToken: '0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452',
|
|
499
|
+
oracle: '0x957e76d8f2D3ab0B4f342cd5f4b03A6f6eF2ce5F',
|
|
500
|
+
oracleType: types_1.MorphoBlueOracleType.MARKET_RATE,
|
|
501
|
+
irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
|
|
502
|
+
lltv: 0.86,
|
|
503
|
+
marketId: '0xa066f3893b780833699043f824e5bb88b8df039886f524f62b9a1ac83cb7f1f0',
|
|
504
|
+
protocolName: 'morpho-blue',
|
|
505
|
+
});
|
|
506
|
+
exports.MORPHO_BLUE_WSTETH_USDC_860_BASE = MORPHO_BLUE_WSTETH_USDC_860_BASE;
|
|
507
|
+
const MORPHO_BLUE_CBETH_ETH_965_BASE = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
508
|
+
chainIds: [common_1.NetworkNumber.Base],
|
|
509
|
+
label: 'Morpho Blue',
|
|
510
|
+
shortLabel: 'cbETH/ETH',
|
|
511
|
+
value: types_1.MorphoBlueVersions.MorphoBlueCbEthEth_965_Base,
|
|
512
|
+
url: 'cbetheth-6600aae6',
|
|
513
|
+
loanToken: '0x4200000000000000000000000000000000000006',
|
|
514
|
+
collateralToken: '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22',
|
|
515
|
+
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
516
|
+
oracleType: types_1.MorphoBlueOracleType.MARKET_RATE,
|
|
517
|
+
irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
|
|
518
|
+
lltv: 0.965,
|
|
519
|
+
marketId: '0x6600aae6c56d242fa6ba68bd527aff1a146e77813074413186828fd3f1cdca91',
|
|
520
|
+
protocolName: 'morpho-blue',
|
|
521
|
+
});
|
|
522
|
+
exports.MORPHO_BLUE_CBETH_ETH_965_BASE = MORPHO_BLUE_CBETH_ETH_965_BASE;
|
|
523
|
+
const MORPHO_BLUE_ETH_USDC_860_BASE = (networkId = common_1.NetworkNumber.Eth) => ({
|
|
524
|
+
chainIds: [common_1.NetworkNumber.Base],
|
|
525
|
+
label: 'Morpho Blue',
|
|
526
|
+
shortLabel: 'ETH/USDC',
|
|
527
|
+
value: types_1.MorphoBlueVersions.MorphoBlueEthUSDC_860_Base,
|
|
528
|
+
url: 'ethusdc-8793cf30',
|
|
529
|
+
loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
530
|
+
collateralToken: '0x4200000000000000000000000000000000000006',
|
|
531
|
+
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
532
|
+
oracleType: types_1.MorphoBlueOracleType.MARKET_RATE,
|
|
533
|
+
irm: '0x46415998764C29aB2a25CbeA6254146D50D22687',
|
|
534
|
+
lltv: 0.86,
|
|
535
|
+
marketId: '0x8793cf302b8ffd655ab97bd1c695dbd967807e8367a65cb2f4edaf1380ba1bda',
|
|
536
|
+
protocolName: 'morpho-blue',
|
|
537
|
+
});
|
|
538
|
+
exports.MORPHO_BLUE_ETH_USDC_860_BASE = MORPHO_BLUE_ETH_USDC_860_BASE;
|
|
459
539
|
const MorphoBlueMarkets = (networkId) => ({
|
|
460
540
|
[types_1.MorphoBlueVersions.MorphoBlueWstEthUSDC]: (0, exports.MORPHO_BLUE_WSTETH_USDC)(networkId),
|
|
461
541
|
[types_1.MorphoBlueVersions.MorphoBlueSDAIUSDC]: (0, exports.MORPHO_BLUE_SDAI_USDC)(networkId),
|
|
@@ -487,7 +567,13 @@ const MorphoBlueMarkets = (networkId) => ({
|
|
|
487
567
|
[types_1.MorphoBlueVersions.MorphoBlueUSDeDAI_860]: (0, exports.MORPHO_BLUE_USDE_DAI_860)(networkId),
|
|
488
568
|
[types_1.MorphoBlueVersions.MorphoBlueUSDeDAI_915]: (0, exports.MORPHO_BLUE_USDE_DAI_915)(networkId),
|
|
489
569
|
[types_1.MorphoBlueVersions.MorphoBlueUSDeDAI_945]: (0, exports.MORPHO_BLUE_USDE_DAI_945)(networkId),
|
|
570
|
+
// Base
|
|
490
571
|
[types_1.MorphoBlueVersions.MorphoBlueCbEthUSDC_860_Base]: (0, exports.MORPHO_BLUE_CBETH_USDC_860_BASE)(networkId),
|
|
572
|
+
[types_1.MorphoBlueVersions.MorphoBlueWstEthEth_945_Base]: (0, exports.MORPHO_BLUE_WSTETH_ETH_945_BASE)(networkId),
|
|
573
|
+
[types_1.MorphoBlueVersions.MorphoBlueWstEthEth_965_Base]: (0, exports.MORPHO_BLUE_WSTETH_ETH_965_BASE)(networkId),
|
|
574
|
+
[types_1.MorphoBlueVersions.MorphoBlueWstEthUSDC_860_Base]: (0, exports.MORPHO_BLUE_WSTETH_USDC_860_BASE)(networkId),
|
|
575
|
+
[types_1.MorphoBlueVersions.MorphoBlueCbEthEth_965_Base]: (0, exports.MORPHO_BLUE_CBETH_ETH_965_BASE)(networkId),
|
|
576
|
+
[types_1.MorphoBlueVersions.MorphoBlueEthUSDC_860_Base]: (0, exports.MORPHO_BLUE_ETH_USDC_860_BASE)(networkId),
|
|
491
577
|
});
|
|
492
578
|
exports.MorphoBlueMarkets = MorphoBlueMarkets;
|
|
493
579
|
const findMorphoBlueMarket = (collateralToken, loanToken, lltv, oracle, irm, network = common_1.NetworkNumber.Eth) => {
|
|
@@ -9,4 +9,4 @@ export declare const isLeveragedPos: (usedAssets: MMUsedAssets, dustLimit?: numb
|
|
|
9
9
|
leveragedType: string;
|
|
10
10
|
leveragedAsset: string;
|
|
11
11
|
};
|
|
12
|
-
export declare const aprToApy: (interest: string | number, frequency?: number) =>
|
|
12
|
+
export declare const aprToApy: (interest: string | number, frequency?: number) => string;
|
|
@@ -79,5 +79,5 @@ const isLeveragedPos = (usedAssets, dustLimit = 5) => {
|
|
|
79
79
|
};
|
|
80
80
|
};
|
|
81
81
|
exports.isLeveragedPos = isLeveragedPos;
|
|
82
|
-
const aprToApy = (interest, frequency = constants_1.BLOCKS_IN_A_YEAR) => (
|
|
82
|
+
const aprToApy = (interest, frequency = constants_1.BLOCKS_IN_A_YEAR) => new decimal_js_1.default(interest).div(100).div(frequency).plus(1).pow(frequency).minus(1).times(100).toString();
|
|
83
83
|
exports.aprToApy = aprToApy;
|
|
@@ -40,8 +40,8 @@ const getMorphoAaveV2MarketsData = (web3, network, mainnetWeb3) => __awaiter(voi
|
|
|
40
40
|
const aaveInfo = aaveTokenInfo[index];
|
|
41
41
|
const { symbol, address } = (0, tokens_1.getAssetInfoByAddress)((0, utils_1.wethToEthByAddress)(aaveInfo.underlyingTokenAddress));
|
|
42
42
|
const morphoReward = (_a = morphoRewardsData === null || morphoRewardsData === void 0 ? void 0 : morphoRewardsData.markets) === null || _a === void 0 ? void 0 : _a[aaveInfo.aTokenAddress.toLowerCase()];
|
|
43
|
-
const supplyRateP2P = new decimal_js_1.default(market.p2pSupplyRate).div(1e25).toString();
|
|
44
|
-
const borrowRateP2P = new decimal_js_1.default(market.p2pBorrowRate).div(1e25).toString();
|
|
43
|
+
const supplyRateP2P = (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.p2pSupplyRate).div(1e25).toString());
|
|
44
|
+
const borrowRateP2P = (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.p2pBorrowRate).div(1e25).toString());
|
|
45
45
|
const hasDelta = new decimal_js_1.default(borrowRateP2P).minus(supplyRateP2P).gte(0.3);
|
|
46
46
|
return {
|
|
47
47
|
symbol,
|
|
@@ -50,9 +50,9 @@ const getMorphoAaveV2MarketsData = (web3, network, mainnetWeb3) => __awaiter(voi
|
|
|
50
50
|
underlyingTokenAddress: address,
|
|
51
51
|
priceInEth: new decimal_js_1.default(aaveInfo.price).div(1e18).toString(),
|
|
52
52
|
price: new decimal_js_1.default(aaveInfo.price).div(1e18).times(ethPrice).toString(),
|
|
53
|
-
supplyRate: new decimal_js_1.default(market.poolSupplyRate).div(1e25).toString(),
|
|
53
|
+
supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.poolSupplyRate).div(1e25).toString()),
|
|
54
54
|
supplyRateP2P,
|
|
55
|
-
borrowRate: new decimal_js_1.default(market.poolBorrowRate).div(1e25).toString(),
|
|
55
|
+
borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.poolBorrowRate).div(1e25).toString()),
|
|
56
56
|
borrowRateP2P,
|
|
57
57
|
totalSupply: (0, tokens_1.assetAmountInEth)(aaveInfo.totalSupply, symbol),
|
|
58
58
|
totalBorrow: (0, tokens_1.assetAmountInEth)(aaveInfo.totalBorrow, symbol),
|
|
@@ -178,8 +178,8 @@ const getMorphoAaveV2AccountData = (web3, network, address, assetsData) => __awa
|
|
|
178
178
|
borrowedUsdVariable: borrowedUsd,
|
|
179
179
|
isSupplied: new decimal_js_1.default(supplied).gt(0),
|
|
180
180
|
isBorrowed: new decimal_js_1.default(borrowed).gt(0),
|
|
181
|
-
supplyRate: new decimal_js_1.default(market.userSupplyRate).div(1e25).toString(),
|
|
182
|
-
borrowRate: new decimal_js_1.default(market.userBorrowRate).div(1e25).toString(),
|
|
181
|
+
supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.userSupplyRate).div(1e25).toString()),
|
|
182
|
+
borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.userBorrowRate).div(1e25).toString()),
|
|
183
183
|
limit: '0',
|
|
184
184
|
collateral: true,
|
|
185
185
|
eModeCategory: 0,
|
|
@@ -147,9 +147,9 @@ const getMorphoAaveV3MarketsData = (web3, network, selectedMarket, mainnetWeb3)
|
|
|
147
147
|
aTokenAddress: marketData.aTokenAddress,
|
|
148
148
|
underlyingTokenAddress: address,
|
|
149
149
|
price: new decimal_js_1.default(marketData.price.toString()).div(1e8).toString(),
|
|
150
|
-
supplyRate: new decimal_js_1.default(marketData.supplyRate.toString()).div(1e25).toString(),
|
|
150
|
+
supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(marketData.supplyRate.toString()).div(1e25).toString()),
|
|
151
151
|
supplyRateP2P: marketData.p2pSupplyAPY,
|
|
152
|
-
borrowRate: new decimal_js_1.default(marketData.borrowRateVariable.toString()).div(1e25).toString(),
|
|
152
|
+
borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(marketData.borrowRateVariable.toString()).div(1e25).toString()),
|
|
153
153
|
borrowRateP2P: marketData.p2pBorrowAPY,
|
|
154
154
|
totalSupply: (0, tokens_1.assetAmountInEth)(marketData.totalSupply.toString(), symbol),
|
|
155
155
|
totalBorrow: (0, tokens_1.assetAmountInEth)(marketData.totalBorrow.toString(), symbol),
|
package/cjs/spark/index.js
CHANGED
|
@@ -89,9 +89,9 @@ const getSparkMarketsData = (web3, network, selectedMarket, mainnetWeb3) => __aw
|
|
|
89
89
|
isolationModeTotalDebt: new decimal_js_1.default(market.isolationModeTotalDebt).div(100).toString(),
|
|
90
90
|
assetId: Number(market.assetId),
|
|
91
91
|
underlyingTokenAddress: market.underlyingTokenAddress,
|
|
92
|
-
supplyRate: new decimal_js_1.default(market.supplyRate.toString()).div(1e25).toString(),
|
|
93
|
-
borrowRate: new decimal_js_1.default(market.borrowRateVariable.toString()).div(1e25).toString(),
|
|
94
|
-
borrowRateStable: new decimal_js_1.default(market.borrowRateStable.toString()).div(1e25).toString(),
|
|
92
|
+
supplyRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.supplyRate.toString()).div(1e25).toString()),
|
|
93
|
+
borrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.borrowRateVariable.toString()).div(1e25).toString()),
|
|
94
|
+
borrowRateStable: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(market.borrowRateStable.toString()).div(1e25).toString()),
|
|
95
95
|
collateralFactor: new decimal_js_1.default(market.collateralFactor.toString()).div(10000).toString(),
|
|
96
96
|
liquidationRatio: new decimal_js_1.default(market.liquidationRatio.toString()).div(10000).toString(),
|
|
97
97
|
marketLiquidity,
|
|
@@ -311,7 +311,7 @@ const getSparkAccountData = (web3, network, address, extractedState) => __awaite
|
|
|
311
311
|
}
|
|
312
312
|
if (!usedAssets[asset])
|
|
313
313
|
usedAssets[asset] = {};
|
|
314
|
-
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new decimal_js_1.default(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: new decimal_js_1.default(tokenInfo.stableBorrowRate).div(1e25).toString(), borrowedStable,
|
|
314
|
+
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new decimal_js_1.default(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: (0, moneymarket_1.aprToApy)(new decimal_js_1.default(tokenInfo.stableBorrowRate).div(1e25).toString()), borrowedStable,
|
|
315
315
|
borrowedVariable, borrowedUsdStable: new decimal_js_1.default(borrowedStable).mul(assetsData[asset].price).toString(), borrowedUsdVariable: new decimal_js_1.default(borrowedVariable).mul(assetsData[asset].price).toString(), borrowed: new decimal_js_1.default(borrowedStable).add(borrowedVariable).toString(), borrowedUsd: new decimal_js_1.default(new decimal_js_1.default(borrowedVariable).add(borrowedStable)).mul(assetsData[asset].price).toString(), isBorrowed, eModeCategory: assetsData[asset].eModeCategory, interestMode });
|
|
316
316
|
});
|
|
317
317
|
payload.eModeCategory = +multicallRes[0][0];
|
package/cjs/staking/staking.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export declare const getStETHApr: (web3: Web3, fromBlock?: number, blockNumber?:
|
|
|
4
4
|
export declare const getCbETHApr: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
|
|
5
5
|
export declare const getREthApr: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
|
|
6
6
|
export declare const getDsrApy: (web3: Web3, blockNumber?: 'latest' | number) => Promise<string>;
|
|
7
|
-
export declare const getSUSDeApy: () => Promise<any>;
|
|
8
7
|
export declare const STAKING_ASSETS: string[];
|
|
9
8
|
export declare const getStakingApy: (asset: string, web3: Web3, blockNumber?: 'latest' | number, fromBlock?: number | undefined) => Promise<any> | "0" | undefined;
|
|
10
9
|
export declare const calculateInterestEarned: (principal: string, interest: string, type: string, apy?: boolean) => number;
|
package/cjs/staking/staking.js
CHANGED
|
@@ -12,9 +12,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.getStETHByWstETHMultiple = exports.getStETHByWstETH = exports.getWstETHByStETH = exports.calculateNetApy = exports.calculateInterestEarned = exports.getStakingApy = exports.STAKING_ASSETS = exports.
|
|
15
|
+
exports.getStETHByWstETHMultiple = exports.getStETHByWstETH = exports.getWstETHByStETH = exports.calculateNetApy = exports.calculateInterestEarned = exports.getStakingApy = exports.STAKING_ASSETS = exports.getDsrApy = exports.getREthApr = exports.getCbETHApr = exports.getStETHApr = void 0;
|
|
16
16
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
17
|
-
const v3_sdk_1 = require("@stakewise/v3-sdk");
|
|
18
17
|
const contracts_1 = require("../contracts");
|
|
19
18
|
const common_1 = require("../types/common");
|
|
20
19
|
const constants_1 = require("../constants");
|
|
@@ -87,23 +86,12 @@ const getDsrApy = (web3, blockNumber = 'latest') => __awaiter(void 0, void 0, vo
|
|
|
87
86
|
.toString();
|
|
88
87
|
});
|
|
89
88
|
exports.getDsrApy = getDsrApy;
|
|
90
|
-
const
|
|
91
|
-
const res = yield fetch(
|
|
89
|
+
const getApyFromDfsApi = (asset) => __awaiter(void 0, void 0, void 0, function* () {
|
|
90
|
+
const res = yield fetch(`https://app.defisaver.com/api/staking/apy?asset=${asset}`);
|
|
92
91
|
const data = yield res.json();
|
|
93
92
|
return data.apy;
|
|
94
93
|
});
|
|
95
|
-
exports.
|
|
96
|
-
const getWeEthApr = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
97
|
-
const res = yield fetch('https://app.defisaver.com/api/staking/apy?asset=weETH');
|
|
98
|
-
const data = yield res.json();
|
|
99
|
-
return data.apy;
|
|
100
|
-
});
|
|
101
|
-
const getOsETHApy = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
102
|
-
const sdk = new v3_sdk_1.StakeWiseSDK({ network: v3_sdk_1.Network.Mainnet });
|
|
103
|
-
const apy = yield sdk.osToken.getAPY();
|
|
104
|
-
return apy;
|
|
105
|
-
});
|
|
106
|
-
exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH'];
|
|
94
|
+
exports.STAKING_ASSETS = ['cbETH', 'wstETH', 'cbETH', 'rETH', 'sDAI', 'weETH', 'sUSDe', 'osETH', 'ezETH'];
|
|
107
95
|
const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefined) => {
|
|
108
96
|
try {
|
|
109
97
|
if (asset === 'stETH' || asset === 'wstETH')
|
|
@@ -115,11 +103,13 @@ const getStakingApy = (asset, web3, blockNumber = 'latest', fromBlock = undefine
|
|
|
115
103
|
if (asset === 'sDAI')
|
|
116
104
|
return (0, exports.getDsrApy)(web3);
|
|
117
105
|
if (asset === 'sUSDe')
|
|
118
|
-
return (
|
|
106
|
+
return getApyFromDfsApi('sUSDe');
|
|
119
107
|
if (asset === 'weETH')
|
|
120
|
-
return
|
|
108
|
+
return getApyFromDfsApi('weETH');
|
|
109
|
+
if (asset === 'ezETH')
|
|
110
|
+
return getApyFromDfsApi('ezETH');
|
|
121
111
|
if (asset === 'osETH')
|
|
122
|
-
return
|
|
112
|
+
return getApyFromDfsApi('osETH');
|
|
123
113
|
}
|
|
124
114
|
catch (e) {
|
|
125
115
|
console.error(`Failed to fetch APY for ${asset}`);
|
|
@@ -27,11 +27,17 @@ export declare enum MorphoBlueVersions {
|
|
|
27
27
|
MorphoBlueUSDeDAI_860 = "morphoblueusdedai_860",
|
|
28
28
|
MorphoBlueUSDeDAI_915 = "morphoblueusdedai_915",
|
|
29
29
|
MorphoBlueUSDeDAI_945 = "morphoblueusdedai_945",
|
|
30
|
-
MorphoBlueCbEthUSDC_860_Base = "morphobluecbethusdc_860_base"
|
|
30
|
+
MorphoBlueCbEthUSDC_860_Base = "morphobluecbethusdc_860_base",
|
|
31
|
+
MorphoBlueWstEthEth_945_Base = "morphobluewstetheth_945_base",
|
|
32
|
+
MorphoBlueWstEthEth_965_Base = "morphobluewstetheth_965_base",
|
|
33
|
+
MorphoBlueWstEthUSDC_860_Base = "morphobluewstethusdc_860_base",
|
|
34
|
+
MorphoBlueCbEthEth_965_Base = "morphobluecbetheth_965_base",
|
|
35
|
+
MorphoBlueEthUSDC_860_Base = "morphoblueethusdc_860_base"
|
|
31
36
|
}
|
|
32
37
|
export declare enum MorphoBlueOracleType {
|
|
33
38
|
MARKET_RATE = "Market rate",
|
|
34
|
-
LIDO_RATE = "Lido rate"
|
|
39
|
+
LIDO_RATE = "Lido rate",
|
|
40
|
+
ETHENA_RATE = "Ethena rate"
|
|
35
41
|
}
|
|
36
42
|
export interface MorphoBlueMarketData {
|
|
37
43
|
chainIds: NetworkNumber[];
|
package/cjs/types/morphoBlue.js
CHANGED
|
@@ -36,9 +36,15 @@ var MorphoBlueVersions;
|
|
|
36
36
|
MorphoBlueVersions["MorphoBlueUSDeDAI_945"] = "morphoblueusdedai_945";
|
|
37
37
|
// BASE
|
|
38
38
|
MorphoBlueVersions["MorphoBlueCbEthUSDC_860_Base"] = "morphobluecbethusdc_860_base";
|
|
39
|
+
MorphoBlueVersions["MorphoBlueWstEthEth_945_Base"] = "morphobluewstetheth_945_base";
|
|
40
|
+
MorphoBlueVersions["MorphoBlueWstEthEth_965_Base"] = "morphobluewstetheth_965_base";
|
|
41
|
+
MorphoBlueVersions["MorphoBlueWstEthUSDC_860_Base"] = "morphobluewstethusdc_860_base";
|
|
42
|
+
MorphoBlueVersions["MorphoBlueCbEthEth_965_Base"] = "morphobluecbetheth_965_base";
|
|
43
|
+
MorphoBlueVersions["MorphoBlueEthUSDC_860_Base"] = "morphoblueethusdc_860_base";
|
|
39
44
|
})(MorphoBlueVersions || (exports.MorphoBlueVersions = MorphoBlueVersions = {}));
|
|
40
45
|
var MorphoBlueOracleType;
|
|
41
46
|
(function (MorphoBlueOracleType) {
|
|
42
47
|
MorphoBlueOracleType["MARKET_RATE"] = "Market rate";
|
|
43
48
|
MorphoBlueOracleType["LIDO_RATE"] = "Lido rate";
|
|
49
|
+
MorphoBlueOracleType["ETHENA_RATE"] = "Ethena rate";
|
|
44
50
|
})(MorphoBlueOracleType || (exports.MorphoBlueOracleType = MorphoBlueOracleType = {}));
|
package/esm/aaveV2/index.js
CHANGED
|
@@ -12,7 +12,7 @@ import { assetAmountInEth, getAssetInfo } from '@defisaver/tokens';
|
|
|
12
12
|
import { calculateNetApy, getStETHApr } from '../staking';
|
|
13
13
|
import { ethToWeth, wethToEth, wethToEthByAddress } from '../services/utils';
|
|
14
14
|
import { AaveLoanInfoV2Contract, createContractWrapper } from '../contracts';
|
|
15
|
-
import { calculateBorrowingAssetLimit } from '../moneymarket';
|
|
15
|
+
import { aprToApy, calculateBorrowingAssetLimit } from '../moneymarket';
|
|
16
16
|
import { EMPTY_AAVE_DATA } from '../aaveV3';
|
|
17
17
|
import { AAVE_V2 } from '../markets/aave';
|
|
18
18
|
import { aaveAnyGetAggregatedPositionData } from '../helpers/aaveHelpers';
|
|
@@ -27,9 +27,9 @@ export const getAaveV2MarketsData = (web3, network, selectedMarket, mainnetWeb3)
|
|
|
27
27
|
.map((market, i) => ({
|
|
28
28
|
symbol: selectedMarket.assets[i],
|
|
29
29
|
underlyingTokenAddress: market.underlyingTokenAddress,
|
|
30
|
-
supplyRate: new Dec(market.supplyRate.toString()).div(1e25).toString(),
|
|
31
|
-
borrowRate: new Dec(market.borrowRateVariable.toString()).div(1e25).toString(),
|
|
32
|
-
borrowRateStable: new Dec(market.borrowRateStable.toString()).div(1e25).toString(),
|
|
30
|
+
supplyRate: aprToApy(new Dec(market.supplyRate.toString()).div(1e25).toString()),
|
|
31
|
+
borrowRate: aprToApy(new Dec(market.borrowRateVariable.toString()).div(1e25).toString()),
|
|
32
|
+
borrowRateStable: aprToApy(new Dec(market.borrowRateStable.toString()).div(1e25).toString()),
|
|
33
33
|
collateralFactor: new Dec(market.collateralFactor.toString()).div(10000).toString(),
|
|
34
34
|
liquidationRatio: new Dec(market.liquidationRatio.toString()).div(10000).toString(),
|
|
35
35
|
marketLiquidity: assetAmountInEth(new Dec(market.totalSupply.toString())
|
|
@@ -143,7 +143,7 @@ export const getAaveV2AccountData = (web3, network, address, assetsData, market)
|
|
|
143
143
|
}
|
|
144
144
|
if (!usedAssets[asset])
|
|
145
145
|
usedAssets[asset] = {};
|
|
146
|
-
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new Dec(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: new Dec(tokenInfo.stableBorrowRate).div(1e25).toString(), borrowedStable,
|
|
146
|
+
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new Dec(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: aprToApy(new Dec(tokenInfo.stableBorrowRate).div(1e25).toString()), borrowedStable,
|
|
147
147
|
borrowedVariable, borrowedUsdStable: new Dec(borrowedStable).mul(assetsData[asset].price).toString(), borrowedUsdVariable: new Dec(borrowedVariable).mul(assetsData[asset].price).toString(), borrowed: new Dec(borrowedStable).add(borrowedVariable).toString(), borrowedUsd: new Dec(new Dec(borrowedVariable).add(borrowedStable)).mul(assetsData[asset].price).toString(), isBorrowed,
|
|
148
148
|
interestMode });
|
|
149
149
|
});
|
package/esm/aaveV3/index.js
CHANGED
|
@@ -15,7 +15,7 @@ import { NetworkNumber, } from '../types/common';
|
|
|
15
15
|
import { getStakingApy, STAKING_ASSETS } from '../staking';
|
|
16
16
|
import { multicall } from '../multicall';
|
|
17
17
|
import { getAssetsBalances } from '../assets';
|
|
18
|
-
import { calculateBorrowingAssetLimit } from '../moneymarket';
|
|
18
|
+
import { aprToApy, calculateBorrowingAssetLimit } from '../moneymarket';
|
|
19
19
|
import { aaveAnyGetAggregatedPositionData, aaveV3IsInIsolationMode, aaveV3IsInSiloedMode, } from '../helpers/aaveHelpers';
|
|
20
20
|
import { AAVE_V3 } from '../markets/aave';
|
|
21
21
|
export const test = (web3, network) => {
|
|
@@ -152,7 +152,7 @@ export function getAaveV3MarketData(web3, network, market, defaultWeb3) {
|
|
|
152
152
|
minDiscountTokenBalance,
|
|
153
153
|
minGhoBalanceForDiscount,
|
|
154
154
|
},
|
|
155
|
-
})), { symbol, isIsolated: new Dec(tokenMarket.debtCeilingForIsolationMode).gt(0), debtCeilingForIsolationMode: new Dec(tokenMarket.debtCeilingForIsolationMode).div(100).toString(), isSiloed: tokenMarket.isSiloedForBorrowing, eModeCategory: +tokenMarket.emodeCategory, isolationModeTotalDebt: new Dec(tokenMarket.isolationModeTotalDebt).div(100).toString(), assetId: Number(tokenMarket.assetId), underlyingTokenAddress: tokenMarket.underlyingTokenAddress, supplyRate: new Dec(tokenMarket.supplyRate.toString()).div(1e25).toString(), borrowRate: new Dec(tokenMarket.borrowRateVariable.toString()).div(1e25).toString(), borrowRateDiscounted: nativeAsset ? new Dec(tokenMarket.borrowRateVariable.toString()).div(1e25).mul(1 - parseFloat(discountRateOnBorrow)).toString() : '0', borrowRateStable: new Dec(tokenMarket.borrowRateStable.toString()).div(1e25).toString(), collateralFactor: new Dec(tokenMarket.collateralFactor.toString()).div(10000).toString(), liquidationRatio: new Dec(tokenMarket.liquidationRatio.toString()).div(10000).toString(), marketLiquidity, utilization: new Dec(tokenMarket.totalBorrow.toString()).times(100).div(new Dec(tokenMarket.totalSupply.toString())).toString(), usageAsCollateralEnabled: tokenMarket.usageAsCollateralEnabled, supplyCap: tokenMarket.supplyCap, borrowCap, totalSupply: assetAmountInEth(tokenMarket.totalSupply.toString(), symbol), isInactive: !tokenMarket.isActive, isFrozen: tokenMarket.isFrozen, isPaused: tokenMarket.isPaused, canBeBorrowed: tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen && tokenMarket.borrowingEnabled && isBorrowAllowed, canBeSupplied: !nativeAsset && tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen, canBeWithdrawn: tokenMarket.isActive && !tokenMarket.isPaused, canBePayBacked: tokenMarket.isActive && !tokenMarket.isPaused, disabledStableBorrowing: !tokenMarket.stableBorrowRateEnabled, totalBorrow: assetAmountInEth(tokenMarket.totalBorrow.toString(), symbol), totalBorrowVar: assetAmountInEth(tokenMarket.totalBorrowVar.toString(), symbol), price: new Dec(tokenMarket.price.toString()).div(1e8).toString(), isolationModeBorrowingEnabled: tokenMarket.isolationModeBorrowingEnabled, isFlashLoanEnabled: tokenMarket.isFlashLoanEnabled, eModeCategoryData: {
|
|
155
|
+
})), { symbol, isIsolated: new Dec(tokenMarket.debtCeilingForIsolationMode).gt(0), debtCeilingForIsolationMode: new Dec(tokenMarket.debtCeilingForIsolationMode).div(100).toString(), isSiloed: tokenMarket.isSiloedForBorrowing, eModeCategory: +tokenMarket.emodeCategory, isolationModeTotalDebt: new Dec(tokenMarket.isolationModeTotalDebt).div(100).toString(), assetId: Number(tokenMarket.assetId), underlyingTokenAddress: tokenMarket.underlyingTokenAddress, supplyRate: aprToApy(new Dec(tokenMarket.supplyRate.toString()).div(1e25).toString()), borrowRate: aprToApy(new Dec(tokenMarket.borrowRateVariable.toString()).div(1e25).toString()), borrowRateDiscounted: aprToApy(nativeAsset ? new Dec(tokenMarket.borrowRateVariable.toString()).div(1e25).mul(1 - parseFloat(discountRateOnBorrow)).toString() : '0'), borrowRateStable: aprToApy(new Dec(tokenMarket.borrowRateStable.toString()).div(1e25).toString()), collateralFactor: new Dec(tokenMarket.collateralFactor.toString()).div(10000).toString(), liquidationRatio: new Dec(tokenMarket.liquidationRatio.toString()).div(10000).toString(), marketLiquidity, utilization: new Dec(tokenMarket.totalBorrow.toString()).times(100).div(new Dec(tokenMarket.totalSupply.toString())).toString(), usageAsCollateralEnabled: tokenMarket.usageAsCollateralEnabled, supplyCap: tokenMarket.supplyCap, borrowCap, totalSupply: assetAmountInEth(tokenMarket.totalSupply.toString(), symbol), isInactive: !tokenMarket.isActive, isFrozen: tokenMarket.isFrozen, isPaused: tokenMarket.isPaused, canBeBorrowed: tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen && tokenMarket.borrowingEnabled && isBorrowAllowed, canBeSupplied: !nativeAsset && tokenMarket.isActive && !tokenMarket.isPaused && !tokenMarket.isFrozen, canBeWithdrawn: tokenMarket.isActive && !tokenMarket.isPaused, canBePayBacked: tokenMarket.isActive && !tokenMarket.isPaused, disabledStableBorrowing: !tokenMarket.stableBorrowRateEnabled, totalBorrow: assetAmountInEth(tokenMarket.totalBorrow.toString(), symbol), totalBorrowVar: assetAmountInEth(tokenMarket.totalBorrowVar.toString(), symbol), price: new Dec(tokenMarket.price.toString()).div(1e8).toString(), isolationModeBorrowingEnabled: tokenMarket.isolationModeBorrowingEnabled, isFlashLoanEnabled: tokenMarket.isFlashLoanEnabled, eModeCategoryData: {
|
|
156
156
|
label: tokenMarket.label,
|
|
157
157
|
liquidationBonus: new Dec(tokenMarket.liquidationBonus).div(10000).toString(),
|
|
158
158
|
liquidationRatio: new Dec(tokenMarket.liquidationThreshold).div(10000).toString(),
|
|
@@ -348,7 +348,7 @@ export const getAaveV3AccountData = (web3, network, address, extractedState) =>
|
|
|
348
348
|
if (nativeAsset && new Dec(borrowed).gt(0) && new Dec(stkAaveBalance).gt(0)) {
|
|
349
349
|
discountRateOnBorrow = aaveV3CalculateDiscountRate(assetAmountInWei(borrowed, 'GHO'), assetAmountInWei(stkAaveBalance, 'stkAAVE'), assetsData[asset].discountData.discountRate, assetsData[asset].discountData.minDiscountTokenBalance, assetsData[asset].discountData.minGhoBalanceForDiscount, assetsData[asset].discountData.ghoDiscountedPerDiscountToken);
|
|
350
350
|
}
|
|
351
|
-
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new Dec(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: new Dec(tokenInfo.stableBorrowRate).div(1e25).toString(), discountedBorrowRate: new Dec(assetsData[asset].borrowRate).mul(1 - parseFloat(discountRateOnBorrow)).toString(), borrowedStable,
|
|
351
|
+
usedAssets[asset] = Object.assign(Object.assign({}, usedAssets[asset]), { symbol: asset, supplied, suppliedUsd: new Dec(supplied).mul(assetsData[asset].price).toString(), isSupplied, collateral: enabledAsCollateral, stableBorrowRate: aprToApy(new Dec(tokenInfo.stableBorrowRate).div(1e25).toString()), discountedBorrowRate: aprToApy(new Dec(assetsData[asset].borrowRate).mul(1 - parseFloat(discountRateOnBorrow)).toString()), borrowedStable,
|
|
352
352
|
borrowedVariable, borrowedUsdStable: new Dec(borrowedStable).mul(assetsData[asset].price).toString(), borrowedUsdVariable: new Dec(borrowedVariable).mul(assetsData[asset].price).toString(), borrowed, borrowedUsd: new Dec(new Dec(borrowedVariable).add(borrowedStable)).mul(assetsData[asset].price).toString(), isBorrowed, eModeCategory: assetsData[asset].eModeCategory, interestMode });
|
|
353
353
|
}));
|
|
354
354
|
payload.eModeCategory = +multicallRes[0][0];
|
|
@@ -28,6 +28,11 @@ export declare const MORPHO_BLUE_USDE_DAI_860: (networkId?: NetworkNumber) => Mo
|
|
|
28
28
|
export declare const MORPHO_BLUE_USDE_DAI_915: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
29
29
|
export declare const MORPHO_BLUE_USDE_DAI_945: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
30
30
|
export declare const MORPHO_BLUE_CBETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
31
|
+
export declare const MORPHO_BLUE_WSTETH_ETH_945_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
32
|
+
export declare const MORPHO_BLUE_WSTETH_ETH_965_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
33
|
+
export declare const MORPHO_BLUE_WSTETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
34
|
+
export declare const MORPHO_BLUE_CBETH_ETH_965_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
35
|
+
export declare const MORPHO_BLUE_ETH_USDC_860_BASE: (networkId?: NetworkNumber) => MorphoBlueMarketData;
|
|
31
36
|
export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
32
37
|
readonly morphobluewstethusdc: MorphoBlueMarketData;
|
|
33
38
|
readonly morphobluesdaiusdc: MorphoBlueMarketData;
|
|
@@ -57,5 +62,10 @@ export declare const MorphoBlueMarkets: (networkId: NetworkNumber) => {
|
|
|
57
62
|
readonly morphoblueusdedai_915: MorphoBlueMarketData;
|
|
58
63
|
readonly morphoblueusdedai_945: MorphoBlueMarketData;
|
|
59
64
|
readonly morphobluecbethusdc_860_base: MorphoBlueMarketData;
|
|
65
|
+
readonly morphobluewstetheth_945_base: MorphoBlueMarketData;
|
|
66
|
+
readonly morphobluewstetheth_965_base: MorphoBlueMarketData;
|
|
67
|
+
readonly morphobluewstethusdc_860_base: MorphoBlueMarketData;
|
|
68
|
+
readonly morphobluecbetheth_965_base: MorphoBlueMarketData;
|
|
69
|
+
readonly morphoblueethusdc_860_base: MorphoBlueMarketData;
|
|
60
70
|
};
|
|
61
71
|
export declare const findMorphoBlueMarket: (collateralToken: string, loanToken: string, lltv: number, oracle: string, irm: string, network?: NetworkNumber) => MorphoBlueMarketData | null;
|