@defisaver/positions-sdk 2.1.145 → 2.1.147-spark-ltv0-fallback-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/config/contracts.d.ts +2371 -631
- package/cjs/config/contracts.js +16 -5
- package/cjs/contracts.d.ts +106385 -88267
- package/cjs/helpers/sparkHelpers/index.d.ts +13 -0
- package/cjs/helpers/sparkHelpers/index.js +43 -1
- package/cjs/liquityV2/index.js +9 -4
- package/cjs/markets/morphoMidnight/index.d.ts +22 -0
- package/cjs/markets/morphoMidnight/index.js +115 -1
- package/cjs/types/morphoMidnight.d.ts +12 -1
- package/cjs/types/morphoMidnight.js +11 -0
- package/cjs/types/spark.d.ts +3 -0
- package/esm/config/contracts.d.ts +2371 -631
- package/esm/config/contracts.js +16 -5
- package/esm/contracts.d.ts +106385 -88267
- package/esm/helpers/sparkHelpers/index.d.ts +13 -0
- package/esm/helpers/sparkHelpers/index.js +41 -0
- package/esm/liquityV2/index.js +9 -4
- package/esm/markets/morphoMidnight/index.d.ts +22 -0
- package/esm/markets/morphoMidnight/index.js +103 -0
- package/esm/types/morphoMidnight.d.ts +12 -1
- package/esm/types/morphoMidnight.js +11 -0
- package/esm/types/spark.d.ts +3 -0
- package/package.json +1 -1
- package/src/config/contracts.ts +16 -5
- package/src/helpers/sparkHelpers/index.ts +58 -0
- package/src/liquityV2/index.ts +9 -4
- package/src/markets/morphoMidnight/index.ts +168 -0
- package/src/types/morphoMidnight.ts +11 -0
- package/src/types/spark.ts +4 -0
|
@@ -19,6 +19,19 @@ export declare const sparkGetEmodeMutableProps: ({ eModeCategory, eModeCategorie
|
|
|
19
19
|
liquidationRatio: string;
|
|
20
20
|
collateralFactor: string;
|
|
21
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* @description Per-asset effective LTV and liquidation threshold (LLTV) for the user, eMode-aware.
|
|
24
|
+
* Mirrors SparkRatioHelper._getUserAccountDataWithLtvZeroFallback: unlike Aave v3 (eMode ltv-zero
|
|
25
|
+
* bitmap), Spark's LTV-0 state lives on the RESERVE config (asset offboarding zeroes the reserve ltv),
|
|
26
|
+
* so a zeroed reserve keeps `ltv` 0 even inside the active eMode category, while its `lltv` stays the
|
|
27
|
+
* eMode liquidation threshold there (liquidations only consider LLTV). The returned `ltv` is identical
|
|
28
|
+
* to sparkGetEmodeMutableProps().collateralFactor whenever the reserve ltv is non-zero, so a ratio
|
|
29
|
+
* built on this matches the regular safety ratio whenever no collateral is LTV-0.
|
|
30
|
+
*/
|
|
31
|
+
export declare const sparkGetUserReserveLtvAndLltv: ({ eModeCategory, eModeCategoriesData, assetsData, }: SparkHelperCommon, _asset: string) => {
|
|
32
|
+
ltv: string;
|
|
33
|
+
lltv: string;
|
|
34
|
+
};
|
|
22
35
|
export declare const sparkGetAggregatedPositionData: ({ usedAssets, eModeCategory, eModeCategoriesData, assetsData, selectedMarket, network, ...rest }: SparkHelperCommon) => SparkAggregatedPositionData;
|
|
23
36
|
export declare const getApyAfterValuesEstimation: (selectedMarket: SparkMarketData, actions: [{
|
|
24
37
|
action: string;
|
|
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
23
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.getApyAfterValuesEstimation = exports.sparkGetAggregatedPositionData = exports.sparkGetEmodeMutableProps = exports.sparkGetSuppliableAsCollAssets = exports.sparkGetSuppliableAssets = exports.sparkGetCollSuppliedAssets = exports.sparkIsInIsolationMode = void 0;
|
|
26
|
+
exports.getApyAfterValuesEstimation = exports.sparkGetAggregatedPositionData = exports.sparkGetUserReserveLtvAndLltv = exports.sparkGetEmodeMutableProps = exports.sparkGetSuppliableAsCollAssets = exports.sparkGetSuppliableAssets = exports.sparkGetCollSuppliedAssets = exports.sparkIsInIsolationMode = void 0;
|
|
27
27
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
28
28
|
const tokens_1 = require("@defisaver/tokens");
|
|
29
29
|
const moneymarket_1 = require("../../moneymarket");
|
|
@@ -68,6 +68,37 @@ const sparkGetEmodeMutableProps = ({ eModeCategory, eModeCategoriesData, assetsD
|
|
|
68
68
|
return ({ liquidationRatio, collateralFactor });
|
|
69
69
|
};
|
|
70
70
|
exports.sparkGetEmodeMutableProps = sparkGetEmodeMutableProps;
|
|
71
|
+
/**
|
|
72
|
+
* @description Offset subtracted from the liquidation threshold (LLTV) when crediting LTV-0 collateral
|
|
73
|
+
* in the safety-ratio fallback. Matches SparkView.getSafetyRatioWithLtvZeroFallback ('LLTV - 5%').
|
|
74
|
+
* Values are fractions (e.g. 0.8), so 5% === 0.05.
|
|
75
|
+
*/
|
|
76
|
+
const LTV_ZERO_FALLBACK_LLTV_OFFSET = '0.05';
|
|
77
|
+
/**
|
|
78
|
+
* @description Per-asset effective LTV and liquidation threshold (LLTV) for the user, eMode-aware.
|
|
79
|
+
* Mirrors SparkRatioHelper._getUserAccountDataWithLtvZeroFallback: unlike Aave v3 (eMode ltv-zero
|
|
80
|
+
* bitmap), Spark's LTV-0 state lives on the RESERVE config (asset offboarding zeroes the reserve ltv),
|
|
81
|
+
* so a zeroed reserve keeps `ltv` 0 even inside the active eMode category, while its `lltv` stays the
|
|
82
|
+
* eMode liquidation threshold there (liquidations only consider LLTV). The returned `ltv` is identical
|
|
83
|
+
* to sparkGetEmodeMutableProps().collateralFactor whenever the reserve ltv is non-zero, so a ratio
|
|
84
|
+
* built on this matches the regular safety ratio whenever no collateral is LTV-0.
|
|
85
|
+
*/
|
|
86
|
+
const sparkGetUserReserveLtvAndLltv = ({ eModeCategory, eModeCategoriesData, assetsData, }, _asset) => {
|
|
87
|
+
const asset = (0, utils_1.getNativeAssetFromWrapped)(_asset);
|
|
88
|
+
const assetData = assetsData[asset];
|
|
89
|
+
const eModeCategoryData = eModeCategoriesData === null || eModeCategoriesData === void 0 ? void 0 : eModeCategoriesData[eModeCategory];
|
|
90
|
+
if (eModeCategory === 0
|
|
91
|
+
|| !eModeCategoryData
|
|
92
|
+
|| !eModeCategoryData.collateralAssets.includes(asset)
|
|
93
|
+
|| new decimal_js_1.default(eModeCategoryData.collateralFactor || 0).eq(0)) {
|
|
94
|
+
return { ltv: assetData.collateralFactor, lltv: assetData.liquidationRatio };
|
|
95
|
+
}
|
|
96
|
+
// In the active eMode category the fallback trigger is still the reserve-level ltv (the contract
|
|
97
|
+
// checks the reserve config's ltv), so an offboarded asset must not pick up the category-wide eMode ltv.
|
|
98
|
+
const ltv = new decimal_js_1.default(assetData.collateralFactor || 0).eq(0) ? '0' : eModeCategoryData.collateralFactor;
|
|
99
|
+
return { ltv, lltv: eModeCategoryData.liquidationRatio };
|
|
100
|
+
};
|
|
101
|
+
exports.sparkGetUserReserveLtvAndLltv = sparkGetUserReserveLtvAndLltv;
|
|
71
102
|
const sparkGetAggregatedPositionData = (_a) => {
|
|
72
103
|
var { usedAssets, eModeCategory, eModeCategoriesData, assetsData, selectedMarket, network } = _a, rest = __rest(_a, ["usedAssets", "eModeCategory", "eModeCategoriesData", "assetsData", "selectedMarket", "network"]);
|
|
73
104
|
const data = Object.assign({ usedAssets, eModeCategory, eModeCategoriesData, assetsData, selectedMarket, network }, rest);
|
|
@@ -81,6 +112,17 @@ const sparkGetAggregatedPositionData = (_a) => {
|
|
|
81
112
|
payload.leftToBorrowUsd = leftToBorrowUsd.lte('0') ? '0' : leftToBorrowUsd.toString();
|
|
82
113
|
payload.ratio = +payload.suppliedUsd ? new decimal_js_1.default(payload.borrowLimitUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
83
114
|
payload.collRatio = +payload.suppliedUsd ? new decimal_js_1.default(payload.suppliedCollateralUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
115
|
+
// Safety ratio as evaluated by the automation bots: LTV-0 collateral is credited at (LLTV - 5%)
|
|
116
|
+
// instead of 0 (SparkView.getSafetyRatioWithLtvZeroFallback). Equals `ratio` when no collateral
|
|
117
|
+
// is LTV-0. Computed off-chain here so it is available for after-value simulations too.
|
|
118
|
+
payload.borrowLimitWithLtvZeroFallbackUsd = (0, moneymarket_1.getAssetsTotal)(usedAssets, ({ isSupplied, collateral }) => isSupplied && collateral, ({ symbol, suppliedUsd }) => {
|
|
119
|
+
const { ltv, lltv } = (0, exports.sparkGetUserReserveLtvAndLltv)(data, symbol);
|
|
120
|
+
const effectiveLtv = new decimal_js_1.default(ltv).eq(0)
|
|
121
|
+
? decimal_js_1.default.max(0, new decimal_js_1.default(lltv).sub(LTV_ZERO_FALLBACK_LLTV_OFFSET))
|
|
122
|
+
: new decimal_js_1.default(ltv);
|
|
123
|
+
return new decimal_js_1.default(suppliedUsd).mul(effectiveLtv);
|
|
124
|
+
});
|
|
125
|
+
payload.safetyRatioWithLtvZeroFallback = +payload.suppliedUsd ? new decimal_js_1.default(payload.borrowLimitWithLtvZeroFallbackUsd).div(payload.borrowedUsd).mul(100).toString() : '0';
|
|
84
126
|
const { netApy, incentiveUsd, totalInterestUsd } = (0, staking_1.calculateNetApy)({ usedAssets, assetsData });
|
|
85
127
|
payload.netApy = netApy;
|
|
86
128
|
payload.incentiveUsd = incentiveUsd;
|
package/cjs/liquityV2/index.js
CHANGED
|
@@ -32,8 +32,9 @@ const getLiquityV2ViewContract = (provider, network, isLegacy) => {
|
|
|
32
32
|
const _getLiquityV2MarketData = (provider, network, selectedMarket) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
33
|
var _a;
|
|
34
34
|
const { marketAddress, debtToken, collateralToken, isLegacy, } = selectedMarket;
|
|
35
|
-
const
|
|
36
|
-
|
|
35
|
+
const data = isLegacy
|
|
36
|
+
? yield (0, contracts_1.LiquityV2LegacyViewContractViem)(provider, network).read.getMarketData([marketAddress])
|
|
37
|
+
: (yield (0, contracts_1.LiquityV2ViewContractViem)(provider, network).simulate.getMarketData([marketAddress])).result;
|
|
37
38
|
const hintHelperAddress = data.hintHelpers;
|
|
38
39
|
const troveNFTAddress = data.troveNFT;
|
|
39
40
|
const borrowerOperationsAddress = data.borrowerOperations;
|
|
@@ -285,11 +286,15 @@ const _getDebtInFrontForInterestRateLiquityV2 = (markets_2, selectedMarket_1, pr
|
|
|
285
286
|
const getDebtInFrontForInterestRateLiquityV2 = (markets_2, selectedMarket_1, provider_1, network_1, isLegacy_1, interestRate_1, ...args_1) => __awaiter(void 0, [markets_2, selectedMarket_1, provider_1, network_1, isLegacy_1, interestRate_1, ...args_1], void 0, function* (markets, selectedMarket, provider, network, isLegacy, interestRate, debtInFrontBeingMoved = '0') { return _getDebtInFrontForInterestRateLiquityV2(markets, selectedMarket, (0, viem_1.getViemProvider)(provider, network), network, isLegacy, interestRate, debtInFrontBeingMoved); });
|
|
286
287
|
exports.getDebtInFrontForInterestRateLiquityV2 = getDebtInFrontForInterestRateLiquityV2;
|
|
287
288
|
const _getLiquityV2TroveData = (provider_1, network_1, _a, ...args_1) => __awaiter(void 0, [provider_1, network_1, _a, ...args_1], void 0, function* (provider, network, { selectedMarket, assetsData, troveId, allMarketsData, }, fetchDebtInFront = true) {
|
|
288
|
-
const viewContract = getLiquityV2ViewContract(provider, network, selectedMarket.isLegacy);
|
|
289
289
|
const { minCollRatio, batchCollRatio } = allMarketsData[selectedMarket.value].marketData;
|
|
290
290
|
const { collateralToken, marketAddress, debtToken } = selectedMarket;
|
|
291
|
+
const troveInfoPromise = selectedMarket.isLegacy
|
|
292
|
+
? (0, contracts_1.LiquityV2LegacyViewContractViem)(provider, network).read.getTroveInfo([marketAddress, BigInt(troveId)])
|
|
293
|
+
: (0, contracts_1.LiquityV2ViewContractViem)(provider, network).simulate
|
|
294
|
+
.getTroveInfo([marketAddress, BigInt(troveId)])
|
|
295
|
+
.then(({ result }) => result);
|
|
291
296
|
const [_data, debtInFront] = yield Promise.all([
|
|
292
|
-
|
|
297
|
+
troveInfoPromise,
|
|
293
298
|
fetchDebtInFront ? getDebtInFrontLiquityV2(allMarketsData, selectedMarket.value, provider, network, selectedMarket.isLegacy, troveId) : Promise.resolve('0'),
|
|
294
299
|
]);
|
|
295
300
|
const data = Object.assign(Object.assign({}, _data), { TCRatio: _data.TCRatio.toString() === utils_1.MAXUINT ? '0' : _data.TCRatio.toString() });
|
|
@@ -11,6 +11,7 @@ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925: (networkId?: Netwo
|
|
|
11
11
|
export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
12
12
|
export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
13
13
|
export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
14
|
+
export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
14
15
|
export declare const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
15
16
|
export declare const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
16
17
|
export declare const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
@@ -26,6 +27,16 @@ export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924: (networkId?:
|
|
|
26
27
|
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
27
28
|
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
28
29
|
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217: (networkId?: NetworkNumber) => MorphoMidnightMarketData;
|
|
30
|
+
export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925: () => MorphoMidnightMarketData;
|
|
31
|
+
export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030: () => MorphoMidnightMarketData;
|
|
32
|
+
export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127: () => MorphoMidnightMarketData;
|
|
33
|
+
export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225: () => MorphoMidnightMarketData;
|
|
34
|
+
export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129: () => MorphoMidnightMarketData;
|
|
35
|
+
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925: () => MorphoMidnightMarketData;
|
|
36
|
+
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030: () => MorphoMidnightMarketData;
|
|
37
|
+
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127: () => MorphoMidnightMarketData;
|
|
38
|
+
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225: () => MorphoMidnightMarketData;
|
|
39
|
+
export declare const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129: () => MorphoMidnightMarketData;
|
|
29
40
|
export declare const MorphoMidnightMarkets: (networkId: NetworkNumber) => {
|
|
30
41
|
readonly morphomidnightcbbtcusdc_860_20260731_base: MorphoMidnightMarketData;
|
|
31
42
|
readonly morphomidnightcbbtcusdc_860_20260828_base: MorphoMidnightMarketData;
|
|
@@ -33,6 +44,7 @@ export declare const MorphoMidnightMarkets: (networkId: NetworkNumber) => {
|
|
|
33
44
|
readonly morphomidnightcbbtcusdc_860_20261030_base: MorphoMidnightMarketData;
|
|
34
45
|
readonly morphomidnightcbbtcusdc_860_20261127_base: MorphoMidnightMarketData;
|
|
35
46
|
readonly morphomidnightcbbtcusdc_860_20261225_base: MorphoMidnightMarketData;
|
|
47
|
+
readonly morphomidnightcbbtcusdc_860_20270129_base: MorphoMidnightMarketData;
|
|
36
48
|
readonly morphomidnighttenorcbbtcusdc_20260827_base: MorphoMidnightMarketData;
|
|
37
49
|
readonly morphomidnighttenorcbbtcusdc_20260924_base: MorphoMidnightMarketData;
|
|
38
50
|
readonly morphomidnighttenorcbbtcusdc_20261022_base: MorphoMidnightMarketData;
|
|
@@ -43,11 +55,21 @@ export declare const MorphoMidnightMarkets: (networkId: NetworkNumber) => {
|
|
|
43
55
|
readonly morphomidnighttenorwethusdc_20261022_base: MorphoMidnightMarketData;
|
|
44
56
|
readonly morphomidnighttenorwethusdc_20261119_base: MorphoMidnightMarketData;
|
|
45
57
|
readonly morphomidnighttenorwethusdc_20261217_base: MorphoMidnightMarketData;
|
|
58
|
+
readonly morphomidnighttenorwethusdc_20260925_base: MorphoMidnightMarketData;
|
|
59
|
+
readonly morphomidnighttenorwethusdc_20261030_base: MorphoMidnightMarketData;
|
|
60
|
+
readonly morphomidnighttenorwethusdc_20261127_base: MorphoMidnightMarketData;
|
|
61
|
+
readonly morphomidnighttenorwethusdc_20261225_base: MorphoMidnightMarketData;
|
|
62
|
+
readonly morphomidnighttenorwethusdc_20270129_base: MorphoMidnightMarketData;
|
|
46
63
|
readonly morphomidnighttenorcbethweth_20260827_base: MorphoMidnightMarketData;
|
|
47
64
|
readonly morphomidnighttenorcbethweth_20260924_base: MorphoMidnightMarketData;
|
|
48
65
|
readonly morphomidnighttenorcbethweth_20261022_base: MorphoMidnightMarketData;
|
|
49
66
|
readonly morphomidnighttenorcbethweth_20261119_base: MorphoMidnightMarketData;
|
|
50
67
|
readonly morphomidnighttenorcbethweth_20261217_base: MorphoMidnightMarketData;
|
|
68
|
+
readonly morphomidnighttenorcbethweth_20260925_base: MorphoMidnightMarketData;
|
|
69
|
+
readonly morphomidnighttenorcbethweth_20261030_base: MorphoMidnightMarketData;
|
|
70
|
+
readonly morphomidnighttenorcbethweth_20261127_base: MorphoMidnightMarketData;
|
|
71
|
+
readonly morphomidnighttenorcbethweth_20261225_base: MorphoMidnightMarketData;
|
|
72
|
+
readonly morphomidnighttenorcbethweth_20270129_base: MorphoMidnightMarketData;
|
|
51
73
|
};
|
|
52
74
|
export declare const isTenorMidnightMarket: (market: Pick<MorphoMidnightMarketData, "curator"> | string) => boolean;
|
|
53
75
|
export declare const findMorphoMidnightMarket: (marketId: string, network?: NetworkNumber) => MorphoMidnightMarketData | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.morphoMidnightMarketCollateralParams = exports.findMorphoMidnightMarket = exports.isTenorMidnightMarket = exports.MorphoMidnightMarkets = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = exports.MIDNIGHT_BASE = void 0;
|
|
3
|
+
exports.morphoMidnightMarketCollateralParams = exports.findMorphoMidnightMarket = exports.isTenorMidnightMarket = exports.MorphoMidnightMarkets = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = exports.MIDNIGHT_BASE = void 0;
|
|
4
4
|
const types_1 = require("../../types");
|
|
5
5
|
const constants_1 = require("../../constants");
|
|
6
6
|
/**
|
|
@@ -159,6 +159,31 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = types_1.NetworkNumb
|
|
|
159
159
|
curator: 'Morpho',
|
|
160
160
|
});
|
|
161
161
|
exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225;
|
|
162
|
+
const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = (networkId = types_1.NetworkNumber.Base) => ({
|
|
163
|
+
// This public term is also listed by Tenor, but has no Tenor curator vault and
|
|
164
|
+
// therefore uses the same Morpho market ID as the generic market entry.
|
|
165
|
+
chainIds: [types_1.NetworkNumber.Base],
|
|
166
|
+
label: 'Morpho Midnight cbBTC/USDC',
|
|
167
|
+
shortLabel: 'cbBTC/USDC',
|
|
168
|
+
url: 'cbbtc-usdc-20270129',
|
|
169
|
+
value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base,
|
|
170
|
+
midnight: exports.MIDNIGHT_BASE,
|
|
171
|
+
loanToken: USDC_BASE,
|
|
172
|
+
collaterals: [{
|
|
173
|
+
token: CBBTC_BASE,
|
|
174
|
+
lltv: 0.86,
|
|
175
|
+
liquidationCursor: '300000000000000000',
|
|
176
|
+
oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
|
|
177
|
+
}],
|
|
178
|
+
maturity: 1801234800, // 2027-01-29T15:00:00Z
|
|
179
|
+
rcfThreshold: '3000000000',
|
|
180
|
+
enterGate: constants_1.ZERO_ADDRESS,
|
|
181
|
+
liquidatorGate: constants_1.ZERO_ADDRESS,
|
|
182
|
+
marketId: '0xfbbdc1b3e507fc738bca29973750ecb3f2357159191fa4d01f59cea1a895dcfd',
|
|
183
|
+
protocolName: 'morpho-midnight',
|
|
184
|
+
curator: 'Morpho',
|
|
185
|
+
});
|
|
186
|
+
exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129;
|
|
162
187
|
// ── Tenor-curated ────────────────────────────────────────────────────────────────────────────────
|
|
163
188
|
// Tenor Midnight markets are the same structs as Morpho's (`MorphoMidnightMarketData`), on the same core
|
|
164
189
|
// contract; only the order book differs. Identify them on Morpho's `/v0/midnight/markets` by `market_id`
|
|
@@ -613,6 +638,84 @@ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = types_1.Netwo
|
|
|
613
638
|
curator: 'Tenor',
|
|
614
639
|
});
|
|
615
640
|
exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217;
|
|
641
|
+
// Tenor rolls the WETH/USDC and cbETH/WETH ladders monthly. These terms supersede the
|
|
642
|
+
// older Aug–Dec ladder in Tenor's UI, but remain distinct on-chain markets and order books.
|
|
643
|
+
const createTenorWethUsdcRollingMarket = (value, url, maturity, marketId) => ({
|
|
644
|
+
chainIds: [types_1.NetworkNumber.Base],
|
|
645
|
+
label: 'Tenor WETH/USDC',
|
|
646
|
+
shortLabel: 'Tenor WETH/USDC',
|
|
647
|
+
url,
|
|
648
|
+
value,
|
|
649
|
+
midnight: exports.MIDNIGHT_BASE,
|
|
650
|
+
loanToken: USDC_BASE,
|
|
651
|
+
collaterals: [{
|
|
652
|
+
token: WETH_BASE,
|
|
653
|
+
lltv: 0.86,
|
|
654
|
+
liquidationCursor: '300000000000000000',
|
|
655
|
+
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
656
|
+
}],
|
|
657
|
+
hiddenCollaterals: [{
|
|
658
|
+
token: TENOR_WETH_USDC_VAULT_BASE,
|
|
659
|
+
lltv: 0.98,
|
|
660
|
+
liquidationCursor: '300000000000000000',
|
|
661
|
+
oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
|
|
662
|
+
}],
|
|
663
|
+
maturity,
|
|
664
|
+
rcfThreshold: '3000000000',
|
|
665
|
+
enterGate: constants_1.ZERO_ADDRESS,
|
|
666
|
+
liquidatorGate: constants_1.ZERO_ADDRESS,
|
|
667
|
+
marketId,
|
|
668
|
+
protocolName: 'morpho-midnight',
|
|
669
|
+
curator: 'Tenor',
|
|
670
|
+
});
|
|
671
|
+
const createTenorCbEthWethRollingMarket = (value, url, maturity, marketId) => ({
|
|
672
|
+
chainIds: [types_1.NetworkNumber.Base],
|
|
673
|
+
label: 'Tenor cbETH/WETH',
|
|
674
|
+
shortLabel: 'Tenor cbETH/WETH',
|
|
675
|
+
url,
|
|
676
|
+
value,
|
|
677
|
+
midnight: exports.MIDNIGHT_BASE,
|
|
678
|
+
loanToken: WETH_BASE,
|
|
679
|
+
collaterals: [{
|
|
680
|
+
token: CBETH_BASE,
|
|
681
|
+
lltv: 0.945,
|
|
682
|
+
liquidationCursor: '300000000000000000',
|
|
683
|
+
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
684
|
+
}],
|
|
685
|
+
hiddenCollaterals: [{
|
|
686
|
+
token: TENOR_CBETH_WETH_VAULT_BASE,
|
|
687
|
+
lltv: 0.98,
|
|
688
|
+
liquidationCursor: '300000000000000000',
|
|
689
|
+
oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
|
|
690
|
+
}],
|
|
691
|
+
maturity,
|
|
692
|
+
rcfThreshold: '4000000000000000000',
|
|
693
|
+
enterGate: constants_1.ZERO_ADDRESS,
|
|
694
|
+
liquidatorGate: constants_1.ZERO_ADDRESS,
|
|
695
|
+
marketId,
|
|
696
|
+
protocolName: 'morpho-midnight',
|
|
697
|
+
curator: 'Tenor',
|
|
698
|
+
});
|
|
699
|
+
const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925 = () => createTenorWethUsdcRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base, 'tenor-weth-usdc-20260925', 1790348400, '0x436fa08b0c46b961d3021117919919d9224157f6a9efd8e371c04008feeb0597');
|
|
700
|
+
exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925;
|
|
701
|
+
const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030 = () => createTenorWethUsdcRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base, 'tenor-weth-usdc-20261030', 1793372400, '0x379ae30c5fcb8988c4aac92ddabb13e15c247dd0104157257e6ecf686b7a69dd');
|
|
702
|
+
exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030;
|
|
703
|
+
const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127 = () => createTenorWethUsdcRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base, 'tenor-weth-usdc-20261127', 1795791600, '0xb0513c347a3535d22afcbe697feb5790ab4254b4f885a6e9e77926682c6cc3f5');
|
|
704
|
+
exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127;
|
|
705
|
+
const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225 = () => createTenorWethUsdcRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base, 'tenor-weth-usdc-20261225', 1798210800, '0xdc209b64f909313bd3f54133ac5716a0a3ea03f7faa6332f75d906de16bd2893');
|
|
706
|
+
exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225;
|
|
707
|
+
const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129 = () => createTenorWethUsdcRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base, 'tenor-weth-usdc-20270129', 1801234800, '0x5f21188cf50dcd269250911a64824736d09770d56796cae432a529a679351475');
|
|
708
|
+
exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129;
|
|
709
|
+
const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925 = () => createTenorCbEthWethRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base, 'tenor-cbeth-weth-20260925', 1790348400, '0x65db922379427ec777fc55650b8f6cc31ab3a3f2f86a9798fc898c81cf936e17');
|
|
710
|
+
exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925;
|
|
711
|
+
const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030 = () => createTenorCbEthWethRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base, 'tenor-cbeth-weth-20261030', 1793372400, '0xcdea4ca06837feca3026b23a95f0bd96c3eabdc77d1211472ce0346fcc200649');
|
|
712
|
+
exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030;
|
|
713
|
+
const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127 = () => createTenorCbEthWethRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base, 'tenor-cbeth-weth-20261127', 1795791600, '0xbb9ee13ffe52f4d52311775b1bd4fa309e402fd01ddfa165023c42dd6e5c051d');
|
|
714
|
+
exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127;
|
|
715
|
+
const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = () => createTenorCbEthWethRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base, 'tenor-cbeth-weth-20261225', 1798210800, '0x80530386795c88ba8c1ea6d686ae6168525c819ce4e0ea6017cb59afe34fb6d2');
|
|
716
|
+
exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225;
|
|
717
|
+
const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = () => createTenorCbEthWethRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base, 'tenor-cbeth-weth-20270129', 1801234800, '0x3cfda244eeec7e5cda2a07ef23e2a5e3fe6ba17882417cafbf3f3c432377ff1d');
|
|
718
|
+
exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129;
|
|
616
719
|
const MorphoMidnightMarkets = (networkId) => ({
|
|
617
720
|
// BASE — Morpho-curated
|
|
618
721
|
[types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731)(networkId),
|
|
@@ -621,6 +724,7 @@ const MorphoMidnightMarkets = (networkId) => ({
|
|
|
621
724
|
[types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030)(networkId),
|
|
622
725
|
[types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127)(networkId),
|
|
623
726
|
[types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225)(networkId),
|
|
727
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129)(networkId),
|
|
624
728
|
// BASE — Tenor-curated
|
|
625
729
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827)(networkId),
|
|
626
730
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924)(networkId),
|
|
@@ -632,11 +736,21 @@ const MorphoMidnightMarkets = (networkId) => ({
|
|
|
632
736
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022)(networkId),
|
|
633
737
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119)(networkId),
|
|
634
738
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217)(networkId),
|
|
739
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925)(),
|
|
740
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030)(),
|
|
741
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127)(),
|
|
742
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225)(),
|
|
743
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129)(),
|
|
635
744
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827)(networkId),
|
|
636
745
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924)(networkId),
|
|
637
746
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022)(networkId),
|
|
638
747
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119)(networkId),
|
|
639
748
|
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217)(networkId),
|
|
749
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925)(),
|
|
750
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030)(),
|
|
751
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127)(),
|
|
752
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225)(),
|
|
753
|
+
[types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129)(),
|
|
640
754
|
});
|
|
641
755
|
exports.MorphoMidnightMarkets = MorphoMidnightMarkets;
|
|
642
756
|
// Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
|
|
@@ -6,6 +6,7 @@ export declare enum MorphoMidnightVersions {
|
|
|
6
6
|
MorphoMidnightCbBTCUSDC_860_20261030_Base = "morphomidnightcbbtcusdc_860_20261030_base",
|
|
7
7
|
MorphoMidnightCbBTCUSDC_860_20261127_Base = "morphomidnightcbbtcusdc_860_20261127_base",
|
|
8
8
|
MorphoMidnightCbBTCUSDC_860_20261225_Base = "morphomidnightcbbtcusdc_860_20261225_base",
|
|
9
|
+
MorphoMidnightCbBTCUSDC_860_20270129_Base = "morphomidnightcbbtcusdc_860_20270129_base",
|
|
9
10
|
MorphoMidnightTenorCbBTCUSDC_20260827_Base = "morphomidnighttenorcbbtcusdc_20260827_base",
|
|
10
11
|
MorphoMidnightTenorCbBTCUSDC_20260924_Base = "morphomidnighttenorcbbtcusdc_20260924_base",
|
|
11
12
|
MorphoMidnightTenorCbBTCUSDC_20261022_Base = "morphomidnighttenorcbbtcusdc_20261022_base",
|
|
@@ -16,11 +17,21 @@ export declare enum MorphoMidnightVersions {
|
|
|
16
17
|
MorphoMidnightTenorWETHUSDC_20261022_Base = "morphomidnighttenorwethusdc_20261022_base",
|
|
17
18
|
MorphoMidnightTenorWETHUSDC_20261119_Base = "morphomidnighttenorwethusdc_20261119_base",
|
|
18
19
|
MorphoMidnightTenorWETHUSDC_20261217_Base = "morphomidnighttenorwethusdc_20261217_base",
|
|
20
|
+
MorphoMidnightTenorWETHUSDC_20260925_Base = "morphomidnighttenorwethusdc_20260925_base",
|
|
21
|
+
MorphoMidnightTenorWETHUSDC_20261030_Base = "morphomidnighttenorwethusdc_20261030_base",
|
|
22
|
+
MorphoMidnightTenorWETHUSDC_20261127_Base = "morphomidnighttenorwethusdc_20261127_base",
|
|
23
|
+
MorphoMidnightTenorWETHUSDC_20261225_Base = "morphomidnighttenorwethusdc_20261225_base",
|
|
24
|
+
MorphoMidnightTenorWETHUSDC_20270129_Base = "morphomidnighttenorwethusdc_20270129_base",
|
|
19
25
|
MorphoMidnightTenorCbETHWETH_20260827_Base = "morphomidnighttenorcbethweth_20260827_base",
|
|
20
26
|
MorphoMidnightTenorCbETHWETH_20260924_Base = "morphomidnighttenorcbethweth_20260924_base",
|
|
21
27
|
MorphoMidnightTenorCbETHWETH_20261022_Base = "morphomidnighttenorcbethweth_20261022_base",
|
|
22
28
|
MorphoMidnightTenorCbETHWETH_20261119_Base = "morphomidnighttenorcbethweth_20261119_base",
|
|
23
|
-
MorphoMidnightTenorCbETHWETH_20261217_Base = "morphomidnighttenorcbethweth_20261217_base"
|
|
29
|
+
MorphoMidnightTenorCbETHWETH_20261217_Base = "morphomidnighttenorcbethweth_20261217_base",
|
|
30
|
+
MorphoMidnightTenorCbETHWETH_20260925_Base = "morphomidnighttenorcbethweth_20260925_base",
|
|
31
|
+
MorphoMidnightTenorCbETHWETH_20261030_Base = "morphomidnighttenorcbethweth_20261030_base",
|
|
32
|
+
MorphoMidnightTenorCbETHWETH_20261127_Base = "morphomidnighttenorcbethweth_20261127_base",
|
|
33
|
+
MorphoMidnightTenorCbETHWETH_20261225_Base = "morphomidnighttenorcbethweth_20261225_base",
|
|
34
|
+
MorphoMidnightTenorCbETHWETH_20270129_Base = "morphomidnighttenorcbethweth_20270129_base"
|
|
24
35
|
}
|
|
25
36
|
export type MorphoMidnightCurator = 'Morpho' | 'Tenor';
|
|
26
37
|
export interface MorphoMidnightCollateralParams {
|
|
@@ -12,6 +12,7 @@ var MorphoMidnightVersions;
|
|
|
12
12
|
MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261030_Base"] = "morphomidnightcbbtcusdc_860_20261030_base";
|
|
13
13
|
MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261127_Base"] = "morphomidnightcbbtcusdc_860_20261127_base";
|
|
14
14
|
MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261225_Base"] = "morphomidnightcbbtcusdc_860_20261225_base";
|
|
15
|
+
MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20270129_Base"] = "morphomidnightcbbtcusdc_860_20270129_base";
|
|
15
16
|
// Tenor-hosted Midnight markets (same core, different order book)
|
|
16
17
|
MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20260827_Base"] = "morphomidnighttenorcbbtcusdc_20260827_base";
|
|
17
18
|
MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20260924_Base"] = "morphomidnighttenorcbbtcusdc_20260924_base";
|
|
@@ -23,11 +24,21 @@ var MorphoMidnightVersions;
|
|
|
23
24
|
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261022_Base"] = "morphomidnighttenorwethusdc_20261022_base";
|
|
24
25
|
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261119_Base"] = "morphomidnighttenorwethusdc_20261119_base";
|
|
25
26
|
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261217_Base"] = "morphomidnighttenorwethusdc_20261217_base";
|
|
27
|
+
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260925_Base"] = "morphomidnighttenorwethusdc_20260925_base";
|
|
28
|
+
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261030_Base"] = "morphomidnighttenorwethusdc_20261030_base";
|
|
29
|
+
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261127_Base"] = "morphomidnighttenorwethusdc_20261127_base";
|
|
30
|
+
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261225_Base"] = "morphomidnighttenorwethusdc_20261225_base";
|
|
31
|
+
MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20270129_Base"] = "morphomidnighttenorwethusdc_20270129_base";
|
|
26
32
|
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260827_Base"] = "morphomidnighttenorcbethweth_20260827_base";
|
|
27
33
|
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260924_Base"] = "morphomidnighttenorcbethweth_20260924_base";
|
|
28
34
|
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261022_Base"] = "morphomidnighttenorcbethweth_20261022_base";
|
|
29
35
|
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261119_Base"] = "morphomidnighttenorcbethweth_20261119_base";
|
|
30
36
|
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261217_Base"] = "morphomidnighttenorcbethweth_20261217_base";
|
|
37
|
+
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260925_Base"] = "morphomidnighttenorcbethweth_20260925_base";
|
|
38
|
+
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261030_Base"] = "morphomidnighttenorcbethweth_20261030_base";
|
|
39
|
+
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261127_Base"] = "morphomidnighttenorcbethweth_20261127_base";
|
|
40
|
+
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261225_Base"] = "morphomidnighttenorcbethweth_20261225_base";
|
|
41
|
+
MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20270129_Base"] = "morphomidnighttenorcbethweth_20270129_base";
|
|
31
42
|
})(MorphoMidnightVersions || (exports.MorphoMidnightVersions = MorphoMidnightVersions = {}));
|
|
32
43
|
/**
|
|
33
44
|
* How much weight `borrowRate` / `debtBase` / `debtInterest` carry on a given position. They fall back to
|
package/cjs/types/spark.d.ts
CHANGED
|
@@ -85,6 +85,8 @@ export interface SparkAggregatedPositionData {
|
|
|
85
85
|
leftToBorrowUsd: string;
|
|
86
86
|
ratio: string;
|
|
87
87
|
collRatio: string;
|
|
88
|
+
borrowLimitWithLtvZeroFallbackUsd: string;
|
|
89
|
+
safetyRatioWithLtvZeroFallback: string;
|
|
88
90
|
netApy: string;
|
|
89
91
|
incentiveUsd: string;
|
|
90
92
|
totalInterestUsd: string;
|
|
@@ -104,6 +106,7 @@ export interface SparkPositionData extends MMPositionData {
|
|
|
104
106
|
ratio: string;
|
|
105
107
|
minRatio: string;
|
|
106
108
|
collRatio: string;
|
|
109
|
+
safetyRatioWithLtvZeroFallback?: string;
|
|
107
110
|
suppliedUsd: string;
|
|
108
111
|
borrowedUsd: string;
|
|
109
112
|
borrowLimitUsd: string;
|