@defisaver/positions-sdk 2.1.145 → 2.1.146

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.
@@ -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
@@ -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;
@@ -150,6 +150,30 @@ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = NetworkNumbe
150
150
  protocolName: 'morpho-midnight',
151
151
  curator: 'Morpho',
152
152
  });
153
+ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = (networkId = NetworkNumber.Base) => ({
154
+ // This public term is also listed by Tenor, but has no Tenor curator vault and
155
+ // therefore uses the same Morpho market ID as the generic market entry.
156
+ chainIds: [NetworkNumber.Base],
157
+ label: 'Morpho Midnight cbBTC/USDC',
158
+ shortLabel: 'cbBTC/USDC',
159
+ url: 'cbbtc-usdc-20270129',
160
+ value: MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base,
161
+ midnight: MIDNIGHT_BASE,
162
+ loanToken: USDC_BASE,
163
+ collaterals: [{
164
+ token: CBBTC_BASE,
165
+ lltv: 0.86,
166
+ liquidationCursor: '300000000000000000',
167
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
168
+ }],
169
+ maturity: 1801234800, // 2027-01-29T15:00:00Z
170
+ rcfThreshold: '3000000000',
171
+ enterGate: ZERO_ADDRESS,
172
+ liquidatorGate: ZERO_ADDRESS,
173
+ marketId: '0xfbbdc1b3e507fc738bca29973750ecb3f2357159191fa4d01f59cea1a895dcfd',
174
+ protocolName: 'morpho-midnight',
175
+ curator: 'Morpho',
176
+ });
153
177
  // ── Tenor-curated ────────────────────────────────────────────────────────────────────────────────
154
178
  // Tenor Midnight markets are the same structs as Morpho's (`MorphoMidnightMarketData`), on the same core
155
179
  // contract; only the order book differs. Identify them on Morpho's `/v0/midnight/markets` by `market_id`
@@ -589,6 +613,74 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = Networ
589
613
  protocolName: 'morpho-midnight',
590
614
  curator: 'Tenor',
591
615
  });
616
+ // Tenor rolls the WETH/USDC and cbETH/WETH ladders monthly. These terms supersede the
617
+ // older Aug–Dec ladder in Tenor's UI, but remain distinct on-chain markets and order books.
618
+ const createTenorWethUsdcRollingMarket = (value, url, maturity, marketId) => ({
619
+ chainIds: [NetworkNumber.Base],
620
+ label: 'Tenor WETH/USDC',
621
+ shortLabel: 'Tenor WETH/USDC',
622
+ url,
623
+ value,
624
+ midnight: MIDNIGHT_BASE,
625
+ loanToken: USDC_BASE,
626
+ collaterals: [{
627
+ token: WETH_BASE,
628
+ lltv: 0.86,
629
+ liquidationCursor: '300000000000000000',
630
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
631
+ }],
632
+ hiddenCollaterals: [{
633
+ token: TENOR_WETH_USDC_VAULT_BASE,
634
+ lltv: 0.98,
635
+ liquidationCursor: '300000000000000000',
636
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
637
+ }],
638
+ maturity,
639
+ rcfThreshold: '3000000000',
640
+ enterGate: ZERO_ADDRESS,
641
+ liquidatorGate: ZERO_ADDRESS,
642
+ marketId,
643
+ protocolName: 'morpho-midnight',
644
+ curator: 'Tenor',
645
+ });
646
+ const createTenorCbEthWethRollingMarket = (value, url, maturity, marketId) => ({
647
+ chainIds: [NetworkNumber.Base],
648
+ label: 'Tenor cbETH/WETH',
649
+ shortLabel: 'Tenor cbETH/WETH',
650
+ url,
651
+ value,
652
+ midnight: MIDNIGHT_BASE,
653
+ loanToken: WETH_BASE,
654
+ collaterals: [{
655
+ token: CBETH_BASE,
656
+ lltv: 0.945,
657
+ liquidationCursor: '300000000000000000',
658
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
659
+ }],
660
+ hiddenCollaterals: [{
661
+ token: TENOR_CBETH_WETH_VAULT_BASE,
662
+ lltv: 0.98,
663
+ liquidationCursor: '300000000000000000',
664
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
665
+ }],
666
+ maturity,
667
+ rcfThreshold: '4000000000000000000',
668
+ enterGate: ZERO_ADDRESS,
669
+ liquidatorGate: ZERO_ADDRESS,
670
+ marketId,
671
+ protocolName: 'morpho-midnight',
672
+ curator: 'Tenor',
673
+ });
674
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925 = () => createTenorWethUsdcRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base, 'tenor-weth-usdc-20260925', 1790348400, '0x436fa08b0c46b961d3021117919919d9224157f6a9efd8e371c04008feeb0597');
675
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030 = () => createTenorWethUsdcRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base, 'tenor-weth-usdc-20261030', 1793372400, '0x379ae30c5fcb8988c4aac92ddabb13e15c247dd0104157257e6ecf686b7a69dd');
676
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127 = () => createTenorWethUsdcRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base, 'tenor-weth-usdc-20261127', 1795791600, '0xb0513c347a3535d22afcbe697feb5790ab4254b4f885a6e9e77926682c6cc3f5');
677
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225 = () => createTenorWethUsdcRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base, 'tenor-weth-usdc-20261225', 1798210800, '0xdc209b64f909313bd3f54133ac5716a0a3ea03f7faa6332f75d906de16bd2893');
678
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129 = () => createTenorWethUsdcRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base, 'tenor-weth-usdc-20270129', 1801234800, '0x5f21188cf50dcd269250911a64824736d09770d56796cae432a529a679351475');
679
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base, 'tenor-cbeth-weth-20260925', 1790348400, '0x65db922379427ec777fc55650b8f6cc31ab3a3f2f86a9798fc898c81cf936e17');
680
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base, 'tenor-cbeth-weth-20261030', 1793372400, '0xcdea4ca06837feca3026b23a95f0bd96c3eabdc77d1211472ce0346fcc200649');
681
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base, 'tenor-cbeth-weth-20261127', 1795791600, '0xbb9ee13ffe52f4d52311775b1bd4fa309e402fd01ddfa165023c42dd6e5c051d');
682
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base, 'tenor-cbeth-weth-20261225', 1798210800, '0x80530386795c88ba8c1ea6d686ae6168525c819ce4e0ea6017cb59afe34fb6d2');
683
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base, 'tenor-cbeth-weth-20270129', 1801234800, '0x3cfda244eeec7e5cda2a07ef23e2a5e3fe6ba17882417cafbf3f3c432377ff1d');
592
684
  export const MorphoMidnightMarkets = (networkId) => ({
593
685
  // BASE — Morpho-curated
594
686
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731(networkId),
@@ -597,6 +689,7 @@ export const MorphoMidnightMarkets = (networkId) => ({
597
689
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030(networkId),
598
690
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127(networkId),
599
691
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225(networkId),
692
+ [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129(networkId),
600
693
  // BASE — Tenor-curated
601
694
  [MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base]: MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827(networkId),
602
695
  [MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base]: MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924(networkId),
@@ -608,11 +701,21 @@ export const MorphoMidnightMarkets = (networkId) => ({
608
701
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022(networkId),
609
702
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119(networkId),
610
703
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217(networkId),
704
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925(),
705
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030(),
706
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127(),
707
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225(),
708
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129(),
611
709
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827(networkId),
612
710
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924(networkId),
613
711
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022(networkId),
614
712
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119(networkId),
615
713
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217(networkId),
714
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925(),
715
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030(),
716
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127(),
717
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225(),
718
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129(),
616
719
  });
617
720
  // Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
618
721
  const TENOR_MARKET_IDS = new Set(Object.values(MorphoMidnightMarkets(NetworkNumber.Base))
@@ -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 {
@@ -9,6 +9,7 @@ export var MorphoMidnightVersions;
9
9
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261030_Base"] = "morphomidnightcbbtcusdc_860_20261030_base";
10
10
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261127_Base"] = "morphomidnightcbbtcusdc_860_20261127_base";
11
11
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261225_Base"] = "morphomidnightcbbtcusdc_860_20261225_base";
12
+ MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20270129_Base"] = "morphomidnightcbbtcusdc_860_20270129_base";
12
13
  // Tenor-hosted Midnight markets (same core, different order book)
13
14
  MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20260827_Base"] = "morphomidnighttenorcbbtcusdc_20260827_base";
14
15
  MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20260924_Base"] = "morphomidnighttenorcbbtcusdc_20260924_base";
@@ -20,11 +21,21 @@ export var MorphoMidnightVersions;
20
21
  MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261022_Base"] = "morphomidnighttenorwethusdc_20261022_base";
21
22
  MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261119_Base"] = "morphomidnighttenorwethusdc_20261119_base";
22
23
  MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261217_Base"] = "morphomidnighttenorwethusdc_20261217_base";
24
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260925_Base"] = "morphomidnighttenorwethusdc_20260925_base";
25
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261030_Base"] = "morphomidnighttenorwethusdc_20261030_base";
26
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261127_Base"] = "morphomidnighttenorwethusdc_20261127_base";
27
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261225_Base"] = "morphomidnighttenorwethusdc_20261225_base";
28
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20270129_Base"] = "morphomidnighttenorwethusdc_20270129_base";
23
29
  MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260827_Base"] = "morphomidnighttenorcbethweth_20260827_base";
24
30
  MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260924_Base"] = "morphomidnighttenorcbethweth_20260924_base";
25
31
  MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261022_Base"] = "morphomidnighttenorcbethweth_20261022_base";
26
32
  MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261119_Base"] = "morphomidnighttenorcbethweth_20261119_base";
27
33
  MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261217_Base"] = "morphomidnighttenorcbethweth_20261217_base";
34
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260925_Base"] = "morphomidnighttenorcbethweth_20260925_base";
35
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261030_Base"] = "morphomidnighttenorcbethweth_20261030_base";
36
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261127_Base"] = "morphomidnighttenorcbethweth_20261127_base";
37
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261225_Base"] = "morphomidnighttenorcbethweth_20261225_base";
38
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20270129_Base"] = "morphomidnighttenorcbethweth_20270129_base";
28
39
  })(MorphoMidnightVersions || (MorphoMidnightVersions = {}));
29
40
  /**
30
41
  * How much weight `borrowRate` / `debtBase` / `debtInterest` carry on a given position. They fall back to
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@defisaver/positions-sdk",
3
- "version": "2.1.145",
3
+ "version": "2.1.146",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -165,6 +165,31 @@ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = NetworkNumbe
165
165
  curator: 'Morpho',
166
166
  });
167
167
 
168
+ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = (networkId = NetworkNumber.Base): MorphoMidnightMarketData => ({
169
+ // This public term is also listed by Tenor, but has no Tenor curator vault and
170
+ // therefore uses the same Morpho market ID as the generic market entry.
171
+ chainIds: [NetworkNumber.Base],
172
+ label: 'Morpho Midnight cbBTC/USDC',
173
+ shortLabel: 'cbBTC/USDC',
174
+ url: 'cbbtc-usdc-20270129',
175
+ value: MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base,
176
+ midnight: MIDNIGHT_BASE,
177
+ loanToken: USDC_BASE,
178
+ collaterals: [{
179
+ token: CBBTC_BASE,
180
+ lltv: 0.86,
181
+ liquidationCursor: '300000000000000000',
182
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
183
+ }],
184
+ maturity: 1801234800, // 2027-01-29T15:00:00Z
185
+ rcfThreshold: '3000000000',
186
+ enterGate: ZERO_ADDRESS,
187
+ liquidatorGate: ZERO_ADDRESS,
188
+ marketId: '0xfbbdc1b3e507fc738bca29973750ecb3f2357159191fa4d01f59cea1a895dcfd',
189
+ protocolName: 'morpho-midnight',
190
+ curator: 'Morpho',
191
+ });
192
+
168
193
  // ── Tenor-curated ────────────────────────────────────────────────────────────────────────────────
169
194
 
170
195
  // Tenor Midnight markets are the same structs as Morpho's (`MorphoMidnightMarketData`), on the same core
@@ -621,6 +646,138 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = Networ
621
646
  curator: 'Tenor',
622
647
  });
623
648
 
649
+ // Tenor rolls the WETH/USDC and cbETH/WETH ladders monthly. These terms supersede the
650
+ // older Aug–Dec ladder in Tenor's UI, but remain distinct on-chain markets and order books.
651
+ const createTenorWethUsdcRollingMarket = (
652
+ value: MorphoMidnightVersions,
653
+ url: string,
654
+ maturity: number,
655
+ marketId: string,
656
+ ): MorphoMidnightMarketData => ({
657
+ chainIds: [NetworkNumber.Base],
658
+ label: 'Tenor WETH/USDC',
659
+ shortLabel: 'Tenor WETH/USDC',
660
+ url,
661
+ value,
662
+ midnight: MIDNIGHT_BASE,
663
+ loanToken: USDC_BASE,
664
+ collaterals: [{
665
+ token: WETH_BASE,
666
+ lltv: 0.86,
667
+ liquidationCursor: '300000000000000000',
668
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
669
+ }],
670
+ hiddenCollaterals: [{
671
+ token: TENOR_WETH_USDC_VAULT_BASE,
672
+ lltv: 0.98,
673
+ liquidationCursor: '300000000000000000',
674
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
675
+ }],
676
+ maturity,
677
+ rcfThreshold: '3000000000',
678
+ enterGate: ZERO_ADDRESS,
679
+ liquidatorGate: ZERO_ADDRESS,
680
+ marketId,
681
+ protocolName: 'morpho-midnight',
682
+ curator: 'Tenor',
683
+ });
684
+
685
+ const createTenorCbEthWethRollingMarket = (
686
+ value: MorphoMidnightVersions,
687
+ url: string,
688
+ maturity: number,
689
+ marketId: string,
690
+ ): MorphoMidnightMarketData => ({
691
+ chainIds: [NetworkNumber.Base],
692
+ label: 'Tenor cbETH/WETH',
693
+ shortLabel: 'Tenor cbETH/WETH',
694
+ url,
695
+ value,
696
+ midnight: MIDNIGHT_BASE,
697
+ loanToken: WETH_BASE,
698
+ collaterals: [{
699
+ token: CBETH_BASE,
700
+ lltv: 0.945,
701
+ liquidationCursor: '300000000000000000',
702
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
703
+ }],
704
+ hiddenCollaterals: [{
705
+ token: TENOR_CBETH_WETH_VAULT_BASE,
706
+ lltv: 0.98,
707
+ liquidationCursor: '300000000000000000',
708
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
709
+ }],
710
+ maturity,
711
+ rcfThreshold: '4000000000000000000',
712
+ enterGate: ZERO_ADDRESS,
713
+ liquidatorGate: ZERO_ADDRESS,
714
+ marketId,
715
+ protocolName: 'morpho-midnight',
716
+ curator: 'Tenor',
717
+ });
718
+
719
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925 = () => createTenorWethUsdcRollingMarket(
720
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base,
721
+ 'tenor-weth-usdc-20260925',
722
+ 1790348400,
723
+ '0x436fa08b0c46b961d3021117919919d9224157f6a9efd8e371c04008feeb0597',
724
+ );
725
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030 = () => createTenorWethUsdcRollingMarket(
726
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base,
727
+ 'tenor-weth-usdc-20261030',
728
+ 1793372400,
729
+ '0x379ae30c5fcb8988c4aac92ddabb13e15c247dd0104157257e6ecf686b7a69dd',
730
+ );
731
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127 = () => createTenorWethUsdcRollingMarket(
732
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base,
733
+ 'tenor-weth-usdc-20261127',
734
+ 1795791600,
735
+ '0xb0513c347a3535d22afcbe697feb5790ab4254b4f885a6e9e77926682c6cc3f5',
736
+ );
737
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225 = () => createTenorWethUsdcRollingMarket(
738
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base,
739
+ 'tenor-weth-usdc-20261225',
740
+ 1798210800,
741
+ '0xdc209b64f909313bd3f54133ac5716a0a3ea03f7faa6332f75d906de16bd2893',
742
+ );
743
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129 = () => createTenorWethUsdcRollingMarket(
744
+ MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base,
745
+ 'tenor-weth-usdc-20270129',
746
+ 1801234800,
747
+ '0x5f21188cf50dcd269250911a64824736d09770d56796cae432a529a679351475',
748
+ );
749
+
750
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925 = () => createTenorCbEthWethRollingMarket(
751
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base,
752
+ 'tenor-cbeth-weth-20260925',
753
+ 1790348400,
754
+ '0x65db922379427ec777fc55650b8f6cc31ab3a3f2f86a9798fc898c81cf936e17',
755
+ );
756
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030 = () => createTenorCbEthWethRollingMarket(
757
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base,
758
+ 'tenor-cbeth-weth-20261030',
759
+ 1793372400,
760
+ '0xcdea4ca06837feca3026b23a95f0bd96c3eabdc77d1211472ce0346fcc200649',
761
+ );
762
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127 = () => createTenorCbEthWethRollingMarket(
763
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base,
764
+ 'tenor-cbeth-weth-20261127',
765
+ 1795791600,
766
+ '0xbb9ee13ffe52f4d52311775b1bd4fa309e402fd01ddfa165023c42dd6e5c051d',
767
+ );
768
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = () => createTenorCbEthWethRollingMarket(
769
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base,
770
+ 'tenor-cbeth-weth-20261225',
771
+ 1798210800,
772
+ '0x80530386795c88ba8c1ea6d686ae6168525c819ce4e0ea6017cb59afe34fb6d2',
773
+ );
774
+ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = () => createTenorCbEthWethRollingMarket(
775
+ MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base,
776
+ 'tenor-cbeth-weth-20270129',
777
+ 1801234800,
778
+ '0x3cfda244eeec7e5cda2a07ef23e2a5e3fe6ba17882417cafbf3f3c432377ff1d',
779
+ );
780
+
624
781
  export const MorphoMidnightMarkets = (networkId: NetworkNumber) => ({
625
782
  // BASE — Morpho-curated
626
783
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731(networkId),
@@ -629,6 +786,7 @@ export const MorphoMidnightMarkets = (networkId: NetworkNumber) => ({
629
786
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030(networkId),
630
787
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127(networkId),
631
788
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225(networkId),
789
+ [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129(networkId),
632
790
  // BASE — Tenor-curated
633
791
  [MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base]: MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827(networkId),
634
792
  [MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base]: MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924(networkId),
@@ -640,11 +798,21 @@ export const MorphoMidnightMarkets = (networkId: NetworkNumber) => ({
640
798
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022(networkId),
641
799
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119(networkId),
642
800
  [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217(networkId),
801
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925(),
802
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030(),
803
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127(),
804
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225(),
805
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20270129_Base]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20270129(),
643
806
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827(networkId),
644
807
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924(networkId),
645
808
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022(networkId),
646
809
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119(networkId),
647
810
  [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217(networkId),
811
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260925_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260925(),
812
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261030_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030(),
813
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127(),
814
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225(),
815
+ [MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129(),
648
816
  }) as const;
649
817
 
650
818
  // Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
@@ -12,6 +12,7 @@ export enum MorphoMidnightVersions {
12
12
  MorphoMidnightCbBTCUSDC_860_20261030_Base = 'morphomidnightcbbtcusdc_860_20261030_base',
13
13
  MorphoMidnightCbBTCUSDC_860_20261127_Base = 'morphomidnightcbbtcusdc_860_20261127_base',
14
14
  MorphoMidnightCbBTCUSDC_860_20261225_Base = 'morphomidnightcbbtcusdc_860_20261225_base',
15
+ MorphoMidnightCbBTCUSDC_860_20270129_Base = 'morphomidnightcbbtcusdc_860_20270129_base',
15
16
  // Tenor-hosted Midnight markets (same core, different order book)
16
17
  MorphoMidnightTenorCbBTCUSDC_20260827_Base = 'morphomidnighttenorcbbtcusdc_20260827_base',
17
18
  MorphoMidnightTenorCbBTCUSDC_20260924_Base = 'morphomidnighttenorcbbtcusdc_20260924_base',
@@ -23,11 +24,21 @@ export enum MorphoMidnightVersions {
23
24
  MorphoMidnightTenorWETHUSDC_20261022_Base = 'morphomidnighttenorwethusdc_20261022_base',
24
25
  MorphoMidnightTenorWETHUSDC_20261119_Base = 'morphomidnighttenorwethusdc_20261119_base',
25
26
  MorphoMidnightTenorWETHUSDC_20261217_Base = 'morphomidnighttenorwethusdc_20261217_base',
27
+ MorphoMidnightTenorWETHUSDC_20260925_Base = 'morphomidnighttenorwethusdc_20260925_base',
28
+ MorphoMidnightTenorWETHUSDC_20261030_Base = 'morphomidnighttenorwethusdc_20261030_base',
29
+ MorphoMidnightTenorWETHUSDC_20261127_Base = 'morphomidnighttenorwethusdc_20261127_base',
30
+ MorphoMidnightTenorWETHUSDC_20261225_Base = 'morphomidnighttenorwethusdc_20261225_base',
31
+ MorphoMidnightTenorWETHUSDC_20270129_Base = 'morphomidnighttenorwethusdc_20270129_base',
26
32
  MorphoMidnightTenorCbETHWETH_20260827_Base = 'morphomidnighttenorcbethweth_20260827_base',
27
33
  MorphoMidnightTenorCbETHWETH_20260924_Base = 'morphomidnighttenorcbethweth_20260924_base',
28
34
  MorphoMidnightTenorCbETHWETH_20261022_Base = 'morphomidnighttenorcbethweth_20261022_base',
29
35
  MorphoMidnightTenorCbETHWETH_20261119_Base = 'morphomidnighttenorcbethweth_20261119_base',
30
36
  MorphoMidnightTenorCbETHWETH_20261217_Base = 'morphomidnighttenorcbethweth_20261217_base',
37
+ MorphoMidnightTenorCbETHWETH_20260925_Base = 'morphomidnighttenorcbethweth_20260925_base',
38
+ MorphoMidnightTenorCbETHWETH_20261030_Base = 'morphomidnighttenorcbethweth_20261030_base',
39
+ MorphoMidnightTenorCbETHWETH_20261127_Base = 'morphomidnighttenorcbethweth_20261127_base',
40
+ MorphoMidnightTenorCbETHWETH_20261225_Base = 'morphomidnighttenorcbethweth_20261225_base',
41
+ MorphoMidnightTenorCbETHWETH_20270129_Base = 'morphomidnighttenorcbethweth_20270129_base',
31
42
  }
32
43
 
33
44
  export type MorphoMidnightCurator = 'Morpho' | 'Tenor';