@defisaver/positions-sdk 2.1.151-midnight-dev → 2.1.151-midnight-2-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.
@@ -56,12 +56,34 @@ var MorphoMidnightVersions;
56
56
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20270226_Eth"] = "morphomidnightcbbtcusdc_860_20270226_eth";
57
57
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20270326_Eth"] = "morphomidnightcbbtcusdc_860_20270326_eth";
58
58
  // Tenor-hosted Midnight markets (same core, different order book)
59
- MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260925_Eth"] = "morphomidnighttenorwethusdc_20260925_eth";
60
- MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20260925_Eth"] = "morphomidnighttenorstrusdusdc_20260925_eth";
61
- MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20260925_Eth"] = "morphomidnighttenorwsrusdusdc_20260925_eth";
62
- MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20260925_Eth"] = "morphomidnighttenorusd3usdc_20260925_eth";
63
59
  MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20260925_Eth"] = "morphomidnighttenorreusdusdc_20260925_eth";
60
+ MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20261030_Eth"] = "morphomidnighttenorreusdusdc_20261030_eth";
61
+ MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20261127_Eth"] = "morphomidnighttenorreusdusdc_20261127_eth";
62
+ MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20261225_Eth"] = "morphomidnighttenorreusdusdc_20261225_eth";
64
63
  MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20260925_Eth"] = "morphomidnighttenorsiusdusdc_20260925_eth";
64
+ MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20261030_Eth"] = "morphomidnighttenorsiusdusdc_20261030_eth";
65
+ MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20261127_Eth"] = "morphomidnighttenorsiusdusdc_20261127_eth";
66
+ MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20261225_Eth"] = "morphomidnighttenorsiusdusdc_20261225_eth";
67
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20260925_Eth"] = "morphomidnighttenorstrusdusdc_20260925_eth";
68
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20261030_Eth"] = "morphomidnighttenorstrusdusdc_20261030_eth";
69
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20261127_Eth"] = "morphomidnighttenorstrusdusdc_20261127_eth";
70
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20261225_Eth"] = "morphomidnighttenorstrusdusdc_20261225_eth";
71
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20260925_Eth"] = "morphomidnighttenorusd3usdc_20260925_eth";
72
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20261030_Eth"] = "morphomidnighttenorusd3usdc_20261030_eth";
73
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20261127_Eth"] = "morphomidnighttenorusd3usdc_20261127_eth";
74
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20261225_Eth"] = "morphomidnighttenorusd3usdc_20261225_eth";
75
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260925_Eth"] = "morphomidnighttenorwethusdc_20260925_eth";
76
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261030_Eth"] = "morphomidnighttenorwethusdc_20261030_eth";
77
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261127_Eth"] = "morphomidnighttenorwethusdc_20261127_eth";
78
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261225_Eth"] = "morphomidnighttenorwethusdc_20261225_eth";
79
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20260925_Eth"] = "morphomidnighttenorwsrusdusdc_20260925_eth";
80
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20261030_Eth"] = "morphomidnighttenorwsrusdusdc_20261030_eth";
81
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20261127_Eth"] = "morphomidnighttenorwsrusdusdc_20261127_eth";
82
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20261225_Eth"] = "morphomidnighttenorwsrusdusdc_20261225_eth";
83
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20260925_Eth"] = "morphomidnighttenorwstethweth_20260925_eth";
84
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20261030_Eth"] = "morphomidnighttenorwstethweth_20261030_eth";
85
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20261127_Eth"] = "morphomidnighttenorwstethweth_20261127_eth";
86
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20261225_Eth"] = "morphomidnighttenorwstethweth_20261225_eth";
65
87
  })(MorphoMidnightVersions || (exports.MorphoMidnightVersions = MorphoMidnightVersions = {}));
66
88
  /**
67
89
  * How much weight `borrowRate` / `debtBase` / `debtInterest` carry on a given position. They fall back to
@@ -54,12 +54,34 @@ export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH: () => MorphoMi
54
54
  export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH: () => MorphoMidnightMarketData;
55
55
  export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH: () => MorphoMidnightMarketData;
56
56
  export declare const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH: () => MorphoMidnightMarketData;
57
- export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
58
- export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
59
- export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH: () => MorphoMidnightMarketData;
60
- export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH: () => MorphoMidnightMarketData;
61
57
  export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH: () => MorphoMidnightMarketData;
58
+ export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261030_ETH: () => MorphoMidnightMarketData;
59
+ export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261127_ETH: () => MorphoMidnightMarketData;
60
+ export declare const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261225_ETH: () => MorphoMidnightMarketData;
62
61
  export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH: () => MorphoMidnightMarketData;
62
+ export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261030_ETH: () => MorphoMidnightMarketData;
63
+ export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261127_ETH: () => MorphoMidnightMarketData;
64
+ export declare const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261225_ETH: () => MorphoMidnightMarketData;
65
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
66
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261030_ETH: () => MorphoMidnightMarketData;
67
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261127_ETH: () => MorphoMidnightMarketData;
68
+ export declare const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261225_ETH: () => MorphoMidnightMarketData;
69
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH: () => MorphoMidnightMarketData;
70
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261030_ETH: () => MorphoMidnightMarketData;
71
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261127_ETH: () => MorphoMidnightMarketData;
72
+ export declare const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261225_ETH: () => MorphoMidnightMarketData;
73
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH: () => MorphoMidnightMarketData;
74
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030_ETH: () => MorphoMidnightMarketData;
75
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127_ETH: () => MorphoMidnightMarketData;
76
+ export declare const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225_ETH: () => MorphoMidnightMarketData;
77
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH: () => MorphoMidnightMarketData;
78
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261030_ETH: () => MorphoMidnightMarketData;
79
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261127_ETH: () => MorphoMidnightMarketData;
80
+ export declare const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261225_ETH: () => MorphoMidnightMarketData;
81
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20260925_ETH: () => MorphoMidnightMarketData;
82
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261030_ETH: () => MorphoMidnightMarketData;
83
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261127_ETH: () => MorphoMidnightMarketData;
84
+ export declare const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261225_ETH: () => MorphoMidnightMarketData;
63
85
  export declare const MorphoMidnightMarkets: (networkId: NetworkNumber) => {
64
86
  readonly morphomidnightcbbtcusdc_860_20260731_base: MorphoMidnightMarketData;
65
87
  readonly morphomidnightcbbtcusdc_860_20260828_base: MorphoMidnightMarketData;
@@ -107,8 +129,34 @@ export declare const MorphoMidnightMarkets: (networkId: NetworkNumber) => {
107
129
  readonly morphomidnightcbbtcusdc_860_20270129_eth: MorphoMidnightMarketData;
108
130
  readonly morphomidnightcbbtcusdc_860_20270226_eth: MorphoMidnightMarketData;
109
131
  readonly morphomidnightcbbtcusdc_860_20270326_eth: MorphoMidnightMarketData;
110
- readonly morphomidnighttenorwethusdc_20260925_eth: MorphoMidnightMarketData;
132
+ readonly morphomidnighttenorreusdusdc_20260925_eth: MorphoMidnightMarketData;
133
+ readonly morphomidnighttenorreusdusdc_20261030_eth: MorphoMidnightMarketData;
134
+ readonly morphomidnighttenorreusdusdc_20261127_eth: MorphoMidnightMarketData;
135
+ readonly morphomidnighttenorreusdusdc_20261225_eth: MorphoMidnightMarketData;
136
+ readonly morphomidnighttenorsiusdusdc_20260925_eth: MorphoMidnightMarketData;
137
+ readonly morphomidnighttenorsiusdusdc_20261030_eth: MorphoMidnightMarketData;
138
+ readonly morphomidnighttenorsiusdusdc_20261127_eth: MorphoMidnightMarketData;
139
+ readonly morphomidnighttenorsiusdusdc_20261225_eth: MorphoMidnightMarketData;
140
+ readonly morphomidnighttenorstrusdusdc_20260925_eth: MorphoMidnightMarketData;
141
+ readonly morphomidnighttenorstrusdusdc_20261030_eth: MorphoMidnightMarketData;
142
+ readonly morphomidnighttenorstrusdusdc_20261127_eth: MorphoMidnightMarketData;
143
+ readonly morphomidnighttenorstrusdusdc_20261225_eth: MorphoMidnightMarketData;
111
144
  readonly morphomidnighttenorusd3usdc_20260925_eth: MorphoMidnightMarketData;
145
+ readonly morphomidnighttenorusd3usdc_20261030_eth: MorphoMidnightMarketData;
146
+ readonly morphomidnighttenorusd3usdc_20261127_eth: MorphoMidnightMarketData;
147
+ readonly morphomidnighttenorusd3usdc_20261225_eth: MorphoMidnightMarketData;
148
+ readonly morphomidnighttenorwethusdc_20260925_eth: MorphoMidnightMarketData;
149
+ readonly morphomidnighttenorwethusdc_20261030_eth: MorphoMidnightMarketData;
150
+ readonly morphomidnighttenorwethusdc_20261127_eth: MorphoMidnightMarketData;
151
+ readonly morphomidnighttenorwethusdc_20261225_eth: MorphoMidnightMarketData;
152
+ readonly morphomidnighttenorwsrusdusdc_20260925_eth: MorphoMidnightMarketData;
153
+ readonly morphomidnighttenorwsrusdusdc_20261030_eth: MorphoMidnightMarketData;
154
+ readonly morphomidnighttenorwsrusdusdc_20261127_eth: MorphoMidnightMarketData;
155
+ readonly morphomidnighttenorwsrusdusdc_20261225_eth: MorphoMidnightMarketData;
156
+ readonly morphomidnighttenorwstethweth_20260925_eth: MorphoMidnightMarketData;
157
+ readonly morphomidnighttenorwstethweth_20261030_eth: MorphoMidnightMarketData;
158
+ readonly morphomidnighttenorwstethweth_20261127_eth: MorphoMidnightMarketData;
159
+ readonly morphomidnighttenorwstethweth_20261225_eth: MorphoMidnightMarketData;
112
160
  };
113
161
  export declare const isTenorMidnightMarket: (market: Pick<MorphoMidnightMarketData, "curator"> | string) => boolean;
114
162
  export declare const findMorphoMidnightMarket: (marketId: string, network?: NetworkNumber) => MorphoMidnightMarketData | undefined;
@@ -22,6 +22,7 @@ const WSRUSD_ETH = '0xd3fD63209FA2D55B07A0f6db36C2f43900be3094';
22
22
  const USD3_ETH = '0x056B269Eb1f75477a8666ae8C7fE01b64dD55eCc';
23
23
  const REUSD_ETH = '0x5086bf358635B81D8C47C66d1C8b9E567Db70c72';
24
24
  const SIUSD_ETH = '0xDBDC1Ef57537E34680B898E1FEBD3D68c7389bCB';
25
+ const WSTETH_ETH = '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0';
25
26
  // Tenor's ERC-4626 collateral vaults, one per pair and shared by that pair's whole maturity ladder. Each
26
27
  // is a collateral of its markets on-chain without being an asset the app deals in — see the note above
27
28
  // the Tenor markets below, and https://www.docs.tenor.finance/technical-docs/addresses/#vaults.
@@ -34,6 +35,7 @@ const TENOR_WSRUSD_USDC_VAULT_ETH = '0x09409fa71bCfd3f433571dbeec0C0A9C19B0d30E'
34
35
  const TENOR_USD3_USDC_VAULT_ETH = '0x26C46ACb48B46cC99ccB3cf6C365BdaFa2556E80';
35
36
  const TENOR_REUSD_USDC_VAULT_ETH = '0xe3891d8cA7E00Bc42157D9bb5797C88D9159AAC6';
36
37
  const TENOR_SIUSD_USDC_VAULT_ETH = '0x226ecbf4755a5F81ed721E18c3fDA11f004Ea9e0';
38
+ const TENOR_WSTETH_WETH_VAULT_ETH = '0xe1Bdb88eE5DBaCE653ecD2123E8396BB5BA8adc5';
37
39
  // Sourced from the official listing at https://markets.morpho.org/fixed/base
38
40
  // BASE — USDC/cbBTC, 86% LLTV, monthly maturity ladder
39
41
  export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = (networkId = NetworkNumber.Base) => ({
@@ -785,97 +787,121 @@ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH = () => createCbBTCUsdc
785
787
  '0xf9c1a9849863863a87600beb24394985a04ad3256b0c750baee0841f35f7f0e2');
786
788
  export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH = () => createCbBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270326_Eth, 'cbbtc-usdc-20270326', 1806073200, // 2027-03-26T15:00:00Z
787
789
  '0xb00767d2cc7d5d9e27501a14e7912a089e34da675a2eb9e030072233db2c4c3b');
788
- // ETHEREUM — Tenor-curated
789
- export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH = () => ({
790
+ // ETHEREUM — Tenor-curated, one rolling ladder per pair
791
+ const createTenorReUSDUsdcEthMarket = (value, url, maturity, marketId) => ({
790
792
  chainIds: [NetworkNumber.Eth],
791
- label: 'Tenor WETH/USDC',
792
- shortLabel: 'Tenor WETH/USDC',
793
- url: 'tenor-weth-usdc-20260925',
794
- value: MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Eth,
793
+ label: 'Tenor reUSD/USDC',
794
+ shortLabel: 'Tenor reUSD/USDC',
795
+ url,
796
+ value,
795
797
  midnight: MIDNIGHT_ETH,
796
798
  loanToken: USDC_ETH,
797
799
  collaterals: [{
798
- token: TENOR_WETH_USDC_VAULT_ETH,
799
- lltv: 0.98,
800
+ token: REUSD_ETH,
801
+ lltv: 0.915,
800
802
  liquidationCursor: '300000000000000000',
801
- oracle: '0x5c4fd2864C21F0b81730B4EC74030130aA2193Ca',
802
- hidden: true,
803
+ oracle: '0xA66a4F03Fd8031973f8C7718904ce32385f54E70',
803
804
  }, {
804
- token: WETH_ETH,
805
- lltv: 0.86,
805
+ token: TENOR_REUSD_USDC_VAULT_ETH,
806
+ lltv: 0.98,
806
807
  liquidationCursor: '300000000000000000',
807
- oracle: '0x0F948CBa8231Db7898ef36A4212581Ad7b1B4580',
808
+ oracle: '0xE5f7f5A74E6f4dA2F68b1aa017F204a1883eC0df',
809
+ hidden: true,
808
810
  }],
809
- maturity: 1790348400, // 2026-09-25T15:00:00Z
810
- rcfThreshold: '300000000000',
811
+ maturity,
812
+ rcfThreshold: '500000000000',
811
813
  enterGate: ZERO_ADDRESS,
812
814
  liquidatorGate: ZERO_ADDRESS,
813
- marketId: '0x6a463fa464b97f7ba86516be7de82761bfa411522701ede713a269c2c385c70a',
815
+ marketId,
814
816
  protocolName: 'morpho-midnight',
815
817
  curator: 'Tenor',
816
818
  });
817
- export const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH = () => ({
819
+ export const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH = () => createTenorReUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20260925_Eth, 'tenor-reusd-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
820
+ '0xdba251b941d135577e1b423301b2eb6a76dfe11479c843185d20bee9208e7393');
821
+ export const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261030_ETH = () => createTenorReUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20261030_Eth, 'tenor-reusd-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
822
+ '0x0fdbbc14a6275905b3fc7372e7ce2828eafced9f2c3e442990682055839092c3');
823
+ export const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261127_ETH = () => createTenorReUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20261127_Eth, 'tenor-reusd-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
824
+ '0x1cf59f7382f72aee174e251ffaed5b8ada9e052da326fc3f32626bb52e126db6');
825
+ export const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261225_ETH = () => createTenorReUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20261225_Eth, 'tenor-reusd-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
826
+ '0xc78981202d07dae20266843ca668a20057beaafe3291b326529558227a03c9ad');
827
+ const createTenorSiUSDUsdcEthMarket = (value, url, maturity, marketId) => ({
818
828
  chainIds: [NetworkNumber.Eth],
819
- label: 'Tenor strUSD/USDC',
820
- shortLabel: 'Tenor strUSD/USDC',
821
- url: 'tenor-strusd-usdc-20260925',
822
- value: MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20260925_Eth,
829
+ label: 'Tenor siUSD/USDC',
830
+ shortLabel: 'Tenor siUSD/USDC',
831
+ url,
832
+ value,
823
833
  midnight: MIDNIGHT_ETH,
824
834
  loanToken: USDC_ETH,
825
835
  collaterals: [{
826
- token: STRUSD_ETH,
827
- lltv: 0.86,
828
- liquidationCursor: '300000000000000000',
829
- oracle: '0x1506c98cE61aC63c8438B710C054a51c5dD9A6A4',
830
- }, {
831
- token: TENOR_STRUSD_USDC_VAULT_ETH,
836
+ token: TENOR_SIUSD_USDC_VAULT_ETH,
832
837
  lltv: 0.98,
833
838
  liquidationCursor: '300000000000000000',
834
- oracle: '0x361904890a43d4af2D1b8cF642A6C5e661Da5641',
839
+ oracle: '0xE872d1d33b13B52aE7cD9A0CDD4102468350e5fa',
835
840
  hidden: true,
841
+ }, {
842
+ token: SIUSD_ETH,
843
+ lltv: 0.915,
844
+ liquidationCursor: '300000000000000000',
845
+ oracle: '0xd2cC46b9B2D761502eF933320ecf0268EC0dfa6d',
836
846
  }],
837
- maturity: 1790348400, // 2026-09-25T15:00:00Z
838
- rcfThreshold: '300000000000',
847
+ maturity,
848
+ rcfThreshold: '500000000000',
839
849
  enterGate: ZERO_ADDRESS,
840
850
  liquidatorGate: ZERO_ADDRESS,
841
- marketId: '0xa46399e45fe90b7d3c0488c4c73e9b361f758c4481734832a43d764ccdde0c64',
851
+ marketId,
842
852
  protocolName: 'morpho-midnight',
843
853
  curator: 'Tenor',
844
854
  });
845
- export const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH = () => ({
855
+ export const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH = () => createTenorSiUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20260925_Eth, 'tenor-siusd-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
856
+ '0x48d95ace842493ce2c1c474c0cb60ac208e9d8a714258e278af9c8ae01a88fa5');
857
+ export const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261030_ETH = () => createTenorSiUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20261030_Eth, 'tenor-siusd-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
858
+ '0x64985d39a1bae43d2741e7900cd42a2456dbacaee10e73f937abb1c9885d79da');
859
+ export const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261127_ETH = () => createTenorSiUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20261127_Eth, 'tenor-siusd-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
860
+ '0xed33721166c3f28bc834ce34135cf19b407056275eedf5faf662ccc7a821b7eb');
861
+ export const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261225_ETH = () => createTenorSiUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20261225_Eth, 'tenor-siusd-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
862
+ '0xe47e71bd0faf8383881b81b7d781ab93bf7bd4d4dc44c9c40add360841e5b26d');
863
+ const createTenorStrUSDUsdcEthMarket = (value, url, maturity, marketId) => ({
846
864
  chainIds: [NetworkNumber.Eth],
847
- label: 'Tenor wsrUSD/USDC',
848
- shortLabel: 'Tenor wsrUSD/USDC',
849
- url: 'tenor-wsrusd-usdc-20260925',
850
- value: MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20260925_Eth,
865
+ label: 'Tenor strUSD/USDC',
866
+ shortLabel: 'Tenor strUSD/USDC',
867
+ url,
868
+ value,
851
869
  midnight: MIDNIGHT_ETH,
852
870
  loanToken: USDC_ETH,
853
871
  collaterals: [{
854
- token: TENOR_WSRUSD_USDC_VAULT_ETH,
855
- lltv: 0.98,
872
+ token: STRUSD_ETH,
873
+ lltv: 0.86,
856
874
  liquidationCursor: '300000000000000000',
857
- oracle: '0x7C997e4dddF1D4B7C0D5f290B92d0909ba227c14',
858
- hidden: true,
875
+ oracle: '0x1506c98cE61aC63c8438B710C054a51c5dD9A6A4',
859
876
  }, {
860
- token: WSRUSD_ETH,
861
- lltv: 0.945,
877
+ token: TENOR_STRUSD_USDC_VAULT_ETH,
878
+ lltv: 0.98,
862
879
  liquidationCursor: '300000000000000000',
863
- oracle: '0x938D2eDb20425cF80F008E7ec314Eb456940Da15',
880
+ oracle: '0x361904890a43d4af2D1b8cF642A6C5e661Da5641',
881
+ hidden: true,
864
882
  }],
865
- maturity: 1790348400, // 2026-09-25T15:00:00Z
866
- rcfThreshold: '700000000000',
883
+ maturity,
884
+ rcfThreshold: '300000000000',
867
885
  enterGate: ZERO_ADDRESS,
868
886
  liquidatorGate: ZERO_ADDRESS,
869
- marketId: '0xc028a0b50ba0c606fbf83e5620018f23019b1fb5d1d15b4a5a0d17cc72edcfeb',
887
+ marketId,
870
888
  protocolName: 'morpho-midnight',
871
889
  curator: 'Tenor',
872
890
  });
873
- export const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH = () => ({
891
+ export const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH = () => createTenorStrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20260925_Eth, 'tenor-strusd-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
892
+ '0xa46399e45fe90b7d3c0488c4c73e9b361f758c4481734832a43d764ccdde0c64');
893
+ export const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261030_ETH = () => createTenorStrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20261030_Eth, 'tenor-strusd-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
894
+ '0xe473f755d4bd358a676d9385036d8a9e28b64aac250d0959d56d935bed80d675');
895
+ export const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261127_ETH = () => createTenorStrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20261127_Eth, 'tenor-strusd-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
896
+ '0x41d4f364feb13ead0b892b252eeb3636969de96a5be843400c86835aa98b1d67');
897
+ export const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261225_ETH = () => createTenorStrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20261225_Eth, 'tenor-strusd-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
898
+ '0x91e872193d98f3452424b5dd05e15ac291ed38236af5ff9ff02371bb8efbedb7');
899
+ const createTenorUSD3UsdcEthMarket = (value, url, maturity, marketId) => ({
874
900
  chainIds: [NetworkNumber.Eth],
875
901
  label: 'Tenor USD3/USDC',
876
902
  shortLabel: 'Tenor USD3/USDC',
877
- url: 'tenor-usd3-usdc-20260925',
878
- value: MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20260925_Eth,
903
+ url,
904
+ value,
879
905
  midnight: MIDNIGHT_ETH,
880
906
  loanToken: USDC_ETH,
881
907
  collaterals: [{
@@ -890,71 +916,138 @@ export const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH = () => ({
890
916
  oracle: '0x2C198EC459e0a035078565dEdc3c206604b57d4D',
891
917
  hidden: true,
892
918
  }],
893
- maturity: 1790348400, // 2026-09-25T15:00:00Z
919
+ maturity,
894
920
  rcfThreshold: '500000000000',
895
921
  enterGate: ZERO_ADDRESS,
896
922
  liquidatorGate: ZERO_ADDRESS,
897
- marketId: '0x1edea0a3875af341ea885fc7eac7e02bfce90c534a1602dbd40fefccfe4c24d4',
923
+ marketId,
898
924
  protocolName: 'morpho-midnight',
899
925
  curator: 'Tenor',
900
926
  });
901
- export const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH = () => ({
927
+ export const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH = () => createTenorUSD3UsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20260925_Eth, 'tenor-usd3-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
928
+ '0x1edea0a3875af341ea885fc7eac7e02bfce90c534a1602dbd40fefccfe4c24d4');
929
+ export const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261030_ETH = () => createTenorUSD3UsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20261030_Eth, 'tenor-usd3-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
930
+ '0x11c6795118a68a7bf5d8995240614454291a698ac387aa6c0e23db46ec5112ed');
931
+ export const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261127_ETH = () => createTenorUSD3UsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20261127_Eth, 'tenor-usd3-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
932
+ '0x72ee2771278a1d78e7970a60dc1723c95e16a4384893b044cdbd707347f1abf6');
933
+ export const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261225_ETH = () => createTenorUSD3UsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20261225_Eth, 'tenor-usd3-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
934
+ '0x2a6b8c5d4fc953e0f747590267d7b4018f35246ba0fdbf8adbc269a2491bdde1');
935
+ const createTenorWETHUsdcEthMarket = (value, url, maturity, marketId) => ({
902
936
  chainIds: [NetworkNumber.Eth],
903
- label: 'Tenor reUSD/USDC',
904
- shortLabel: 'Tenor reUSD/USDC',
905
- url: 'tenor-reusd-usdc-20260925',
906
- value: MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20260925_Eth,
937
+ label: 'Tenor WETH/USDC',
938
+ shortLabel: 'Tenor WETH/USDC',
939
+ url,
940
+ value,
907
941
  midnight: MIDNIGHT_ETH,
908
942
  loanToken: USDC_ETH,
909
943
  collaterals: [{
910
- token: REUSD_ETH,
911
- lltv: 0.915,
912
- liquidationCursor: '300000000000000000',
913
- oracle: '0xA66a4F03Fd8031973f8C7718904ce32385f54E70',
914
- }, {
915
- token: TENOR_REUSD_USDC_VAULT_ETH,
944
+ token: TENOR_WETH_USDC_VAULT_ETH,
916
945
  lltv: 0.98,
917
946
  liquidationCursor: '300000000000000000',
918
- oracle: '0xE5f7f5A74E6f4dA2F68b1aa017F204a1883eC0df',
947
+ oracle: '0x5c4fd2864C21F0b81730B4EC74030130aA2193Ca',
919
948
  hidden: true,
949
+ }, {
950
+ token: WETH_ETH,
951
+ lltv: 0.86,
952
+ liquidationCursor: '300000000000000000',
953
+ oracle: '0x0F948CBa8231Db7898ef36A4212581Ad7b1B4580',
920
954
  }],
921
- maturity: 1790348400, // 2026-09-25T15:00:00Z
922
- rcfThreshold: '500000000000',
955
+ maturity,
956
+ rcfThreshold: '300000000000',
923
957
  enterGate: ZERO_ADDRESS,
924
958
  liquidatorGate: ZERO_ADDRESS,
925
- marketId: '0xdba251b941d135577e1b423301b2eb6a76dfe11479c843185d20bee9208e7393',
959
+ marketId,
926
960
  protocolName: 'morpho-midnight',
927
961
  curator: 'Tenor',
928
962
  });
929
- export const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH = () => ({
963
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH = () => createTenorWETHUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Eth, 'tenor-weth-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
964
+ '0x6a463fa464b97f7ba86516be7de82761bfa411522701ede713a269c2c385c70a');
965
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030_ETH = () => createTenorWETHUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Eth, 'tenor-weth-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
966
+ '0xbd6a19559ca14acff13ac124ac0302c0ce6c41ff6a34841242752601e8b0e42c');
967
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127_ETH = () => createTenorWETHUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Eth, 'tenor-weth-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
968
+ '0x348fb368e0f88eb63e739c6753bb0fbf306fb269a8dc0585542a6e4be5c63d6c');
969
+ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225_ETH = () => createTenorWETHUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Eth, 'tenor-weth-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
970
+ '0xbe554be39e1df0ac1e8287d78ec8de26f0ea6197c6797bdeaed5350f45ae5b9f');
971
+ const createTenorWsrUSDUsdcEthMarket = (value, url, maturity, marketId) => ({
930
972
  chainIds: [NetworkNumber.Eth],
931
- label: 'Tenor siUSD/USDC',
932
- shortLabel: 'Tenor siUSD/USDC',
933
- url: 'tenor-siusd-usdc-20260925',
934
- value: MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20260925_Eth,
973
+ label: 'Tenor wsrUSD/USDC',
974
+ shortLabel: 'Tenor wsrUSD/USDC',
975
+ url,
976
+ value,
935
977
  midnight: MIDNIGHT_ETH,
936
978
  loanToken: USDC_ETH,
937
979
  collaterals: [{
938
- token: TENOR_SIUSD_USDC_VAULT_ETH,
980
+ token: TENOR_WSRUSD_USDC_VAULT_ETH,
939
981
  lltv: 0.98,
940
982
  liquidationCursor: '300000000000000000',
941
- oracle: '0xE872d1d33b13B52aE7cD9A0CDD4102468350e5fa',
983
+ oracle: '0x7C997e4dddF1D4B7C0D5f290B92d0909ba227c14',
942
984
  hidden: true,
943
985
  }, {
944
- token: SIUSD_ETH,
945
- lltv: 0.915,
986
+ token: WSRUSD_ETH,
987
+ lltv: 0.945,
946
988
  liquidationCursor: '300000000000000000',
947
- oracle: '0xd2cC46b9B2D761502eF933320ecf0268EC0dfa6d',
989
+ oracle: '0x938D2eDb20425cF80F008E7ec314Eb456940Da15',
948
990
  }],
949
- maturity: 1790348400, // 2026-09-25T15:00:00Z
950
- rcfThreshold: '500000000000',
991
+ maturity,
992
+ rcfThreshold: '700000000000',
951
993
  enterGate: ZERO_ADDRESS,
952
994
  liquidatorGate: ZERO_ADDRESS,
953
- marketId: '0x48d95ace842493ce2c1c474c0cb60ac208e9d8a714258e278af9c8ae01a88fa5',
995
+ marketId,
954
996
  protocolName: 'morpho-midnight',
955
997
  curator: 'Tenor',
956
998
  });
957
- export const MorphoMidnightMarkets = (networkId) => ({
999
+ export const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH = () => createTenorWsrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20260925_Eth, 'tenor-wsrusd-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
1000
+ '0xc028a0b50ba0c606fbf83e5620018f23019b1fb5d1d15b4a5a0d17cc72edcfeb');
1001
+ export const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261030_ETH = () => createTenorWsrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20261030_Eth, 'tenor-wsrusd-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
1002
+ '0xc6079abce78d158671adedd6778c55edb786f4e4bc7097a59e7fb56e9ddda1b9');
1003
+ export const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261127_ETH = () => createTenorWsrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20261127_Eth, 'tenor-wsrusd-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
1004
+ '0x8d4dafdceb706a31e06fba2946e5e12ac9656f98ba430eeb695b553333d78640');
1005
+ export const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261225_ETH = () => createTenorWsrUSDUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20261225_Eth, 'tenor-wsrusd-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
1006
+ '0x02763ffcac291ea4b16ed0b3e3e524ee9aa07248a6e4ea6613e3724b54cce116');
1007
+ const createTenorWstETHWethEthMarket = (value, url, maturity, marketId) => ({
1008
+ chainIds: [NetworkNumber.Eth],
1009
+ label: 'Tenor wstETH/WETH',
1010
+ shortLabel: 'Tenor wstETH/WETH',
1011
+ url,
1012
+ value,
1013
+ midnight: MIDNIGHT_ETH,
1014
+ loanToken: WETH_ETH,
1015
+ collaterals: [{
1016
+ token: WSTETH_ETH,
1017
+ lltv: 0.965,
1018
+ liquidationCursor: '300000000000000000',
1019
+ oracle: '0xbD60A6770b27E084E8617335ddE769241B0e71D8',
1020
+ }, {
1021
+ token: TENOR_WSTETH_WETH_VAULT_ETH,
1022
+ lltv: 0.98,
1023
+ liquidationCursor: '300000000000000000',
1024
+ oracle: '0x4eA702113EFAE91B906fC9eC1415dd7a9B860c89',
1025
+ hidden: true,
1026
+ }],
1027
+ maturity,
1028
+ rcfThreshold: '600000000000000000000',
1029
+ enterGate: ZERO_ADDRESS,
1030
+ liquidatorGate: ZERO_ADDRESS,
1031
+ marketId,
1032
+ protocolName: 'morpho-midnight',
1033
+ curator: 'Tenor',
1034
+ });
1035
+ export const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20260925_ETH = () => createTenorWstETHWethEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20260925_Eth, 'tenor-wsteth-weth-20260925', 1790348400, // 2026-09-25T15:00:00Z
1036
+ '0x9ac6a639ace1c291b68b212eb1a95fd080332793f7bfc7dbed58b92bc518ca70');
1037
+ export const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261030_ETH = () => createTenorWstETHWethEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20261030_Eth, 'tenor-wsteth-weth-20261030', 1793372400, // 2026-10-30T15:00:00Z
1038
+ '0xf032c0184869e9b856b20cdcc298a1ebbec2cd4ee86e6189ff94852fa368a1b3');
1039
+ export const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261127_ETH = () => createTenorWstETHWethEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20261127_Eth, 'tenor-wsteth-weth-20261127', 1795791600, // 2026-11-27T15:00:00Z
1040
+ '0x0cc2301b2247d109d5a05d7a95012077cbdf9908f9f72f315de601c1f7b438f9');
1041
+ export const MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261225_ETH = () => createTenorWstETHWethEthMarket(MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20261225_Eth, 'tenor-wsteth-weth-20261225', 1798210800, // 2026-12-25T15:00:00Z
1042
+ '0x646f7959780a1555f7696aad335a197fe45710f73f0bcf70f26712923249af4b');
1043
+ /**
1044
+ * Collaterals we deliberately do not list. Their markets are defined and verified above — they are real
1045
+ * markets — but withheld from the map below, so nothing in the app offers, prices or routes to them.
1046
+ */
1047
+ const EXCLUDED_COLLATERALS = [STRUSD_ETH, WSRUSD_ETH, REUSD_ETH, SIUSD_ETH, USD3_ETH];
1048
+ const isExcludedMarket = (market) => market.collaterals.some((collateral) => !collateral.hidden
1049
+ && EXCLUDED_COLLATERALS.some((token) => token.toLowerCase() === collateral.token.toLowerCase()));
1050
+ const allMorphoMidnightMarkets = (networkId) => ({
958
1051
  // BASE — Morpho-curated
959
1052
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731(networkId),
960
1053
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260828_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828(networkId),
@@ -1005,18 +1098,41 @@ export const MorphoMidnightMarkets = (networkId) => ({
1005
1098
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270226_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH(),
1006
1099
  [MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270326_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH(),
1007
1100
  // ETHEREUM — Tenor-curated
1008
- [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH(),
1101
+ [MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH(),
1102
+ [MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20261030_Eth]: MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261030_ETH(),
1103
+ [MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20261127_Eth]: MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261127_ETH(),
1104
+ [MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20261225_Eth]: MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20261225_ETH(),
1105
+ [MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH(),
1106
+ [MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20261030_Eth]: MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261030_ETH(),
1107
+ [MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20261127_Eth]: MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261127_ETH(),
1108
+ [MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20261225_Eth]: MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20261225_ETH(),
1109
+ [MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH(),
1110
+ [MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20261030_Eth]: MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261030_ETH(),
1111
+ [MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20261127_Eth]: MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261127_ETH(),
1112
+ [MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20261225_Eth]: MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20261225_ETH(),
1009
1113
  [MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH(),
1010
- // ── Pending `@defisaver/tokens` ────────────────────────────────────────────────────────────────
1011
- // Collateralised by stablecoins the app does not carry yet, so `getAssetInfoByAddress` hands back the
1012
- // `?` proto and the market renders an unnamed collateral at a NaN price. The definitions below are
1013
- // verified against the chain and complete — this map is the only place they are withheld from, so
1014
- // uncommenting these four lines is the whole re-enable once the assets ship.
1015
- // [MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH(),
1016
- // [MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH(),
1017
- // [MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH(),
1018
- // [MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH(),
1114
+ [MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20261030_Eth]: MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261030_ETH(),
1115
+ [MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20261127_Eth]: MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261127_ETH(),
1116
+ [MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20261225_Eth]: MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20261225_ETH(),
1117
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH(),
1118
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261030_Eth]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261030_ETH(),
1119
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261127_Eth]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261127_ETH(),
1120
+ [MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261225_Eth]: MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261225_ETH(),
1121
+ [MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH(),
1122
+ [MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20261030_Eth]: MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261030_ETH(),
1123
+ [MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20261127_Eth]: MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261127_ETH(),
1124
+ [MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20261225_Eth]: MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20261225_ETH(),
1125
+ [MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20260925_ETH(),
1126
+ [MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20261030_Eth]: MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261030_ETH(),
1127
+ [MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20261127_Eth]: MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261127_ETH(),
1128
+ [MorphoMidnightVersions.MorphoMidnightTenorWstETHWETH_20261225_Eth]: MORPHO_MIDNIGHT_TENOR_WSTETH_WETH_965_20261225_ETH(),
1019
1129
  });
1130
+ export const MorphoMidnightMarkets = (networkId) => {
1131
+ const all = allMorphoMidnightMarkets(networkId);
1132
+ if (!EXCLUDED_COLLATERALS.length)
1133
+ return all;
1134
+ return Object.fromEntries(Object.entries(all).filter(([, market]) => !isExcludedMarket(market)));
1135
+ };
1020
1136
  const TENOR_MARKET_IDS = new Set(Object.values(MorphoMidnightMarkets(NetworkNumber.Base))
1021
1137
  .filter((market) => market.curator === 'Tenor')
1022
1138
  .map((market) => market.marketId.toLowerCase()));
@@ -46,12 +46,34 @@ export declare enum MorphoMidnightVersions {
46
46
  MorphoMidnightCbBTCUSDC_860_20270129_Eth = "morphomidnightcbbtcusdc_860_20270129_eth",
47
47
  MorphoMidnightCbBTCUSDC_860_20270226_Eth = "morphomidnightcbbtcusdc_860_20270226_eth",
48
48
  MorphoMidnightCbBTCUSDC_860_20270326_Eth = "morphomidnightcbbtcusdc_860_20270326_eth",
49
- MorphoMidnightTenorWETHUSDC_20260925_Eth = "morphomidnighttenorwethusdc_20260925_eth",
49
+ MorphoMidnightTenorReUSDUSDC_20260925_Eth = "morphomidnighttenorreusdusdc_20260925_eth",
50
+ MorphoMidnightTenorReUSDUSDC_20261030_Eth = "morphomidnighttenorreusdusdc_20261030_eth",
51
+ MorphoMidnightTenorReUSDUSDC_20261127_Eth = "morphomidnighttenorreusdusdc_20261127_eth",
52
+ MorphoMidnightTenorReUSDUSDC_20261225_Eth = "morphomidnighttenorreusdusdc_20261225_eth",
53
+ MorphoMidnightTenorSiUSDUSDC_20260925_Eth = "morphomidnighttenorsiusdusdc_20260925_eth",
54
+ MorphoMidnightTenorSiUSDUSDC_20261030_Eth = "morphomidnighttenorsiusdusdc_20261030_eth",
55
+ MorphoMidnightTenorSiUSDUSDC_20261127_Eth = "morphomidnighttenorsiusdusdc_20261127_eth",
56
+ MorphoMidnightTenorSiUSDUSDC_20261225_Eth = "morphomidnighttenorsiusdusdc_20261225_eth",
50
57
  MorphoMidnightTenorStrUSDUSDC_20260925_Eth = "morphomidnighttenorstrusdusdc_20260925_eth",
51
- MorphoMidnightTenorWsrUSDUSDC_20260925_Eth = "morphomidnighttenorwsrusdusdc_20260925_eth",
58
+ MorphoMidnightTenorStrUSDUSDC_20261030_Eth = "morphomidnighttenorstrusdusdc_20261030_eth",
59
+ MorphoMidnightTenorStrUSDUSDC_20261127_Eth = "morphomidnighttenorstrusdusdc_20261127_eth",
60
+ MorphoMidnightTenorStrUSDUSDC_20261225_Eth = "morphomidnighttenorstrusdusdc_20261225_eth",
52
61
  MorphoMidnightTenorUSD3USDC_20260925_Eth = "morphomidnighttenorusd3usdc_20260925_eth",
53
- MorphoMidnightTenorReUSDUSDC_20260925_Eth = "morphomidnighttenorreusdusdc_20260925_eth",
54
- MorphoMidnightTenorSiUSDUSDC_20260925_Eth = "morphomidnighttenorsiusdusdc_20260925_eth"
62
+ MorphoMidnightTenorUSD3USDC_20261030_Eth = "morphomidnighttenorusd3usdc_20261030_eth",
63
+ MorphoMidnightTenorUSD3USDC_20261127_Eth = "morphomidnighttenorusd3usdc_20261127_eth",
64
+ MorphoMidnightTenorUSD3USDC_20261225_Eth = "morphomidnighttenorusd3usdc_20261225_eth",
65
+ MorphoMidnightTenorWETHUSDC_20260925_Eth = "morphomidnighttenorwethusdc_20260925_eth",
66
+ MorphoMidnightTenorWETHUSDC_20261030_Eth = "morphomidnighttenorwethusdc_20261030_eth",
67
+ MorphoMidnightTenorWETHUSDC_20261127_Eth = "morphomidnighttenorwethusdc_20261127_eth",
68
+ MorphoMidnightTenorWETHUSDC_20261225_Eth = "morphomidnighttenorwethusdc_20261225_eth",
69
+ MorphoMidnightTenorWsrUSDUSDC_20260925_Eth = "morphomidnighttenorwsrusdusdc_20260925_eth",
70
+ MorphoMidnightTenorWsrUSDUSDC_20261030_Eth = "morphomidnighttenorwsrusdusdc_20261030_eth",
71
+ MorphoMidnightTenorWsrUSDUSDC_20261127_Eth = "morphomidnighttenorwsrusdusdc_20261127_eth",
72
+ MorphoMidnightTenorWsrUSDUSDC_20261225_Eth = "morphomidnighttenorwsrusdusdc_20261225_eth",
73
+ MorphoMidnightTenorWstETHWETH_20260925_Eth = "morphomidnighttenorwstethweth_20260925_eth",
74
+ MorphoMidnightTenorWstETHWETH_20261030_Eth = "morphomidnighttenorwstethweth_20261030_eth",
75
+ MorphoMidnightTenorWstETHWETH_20261127_Eth = "morphomidnighttenorwstethweth_20261127_eth",
76
+ MorphoMidnightTenorWstETHWETH_20261225_Eth = "morphomidnighttenorwstethweth_20261225_eth"
55
77
  }
56
78
  export type MorphoMidnightCurator = 'Morpho' | 'Tenor';
57
79
  export interface MorphoMidnightCollateralParams {
@@ -53,12 +53,34 @@ export var MorphoMidnightVersions;
53
53
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20270226_Eth"] = "morphomidnightcbbtcusdc_860_20270226_eth";
54
54
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20270326_Eth"] = "morphomidnightcbbtcusdc_860_20270326_eth";
55
55
  // Tenor-hosted Midnight markets (same core, different order book)
56
- MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260925_Eth"] = "morphomidnighttenorwethusdc_20260925_eth";
57
- MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20260925_Eth"] = "morphomidnighttenorstrusdusdc_20260925_eth";
58
- MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20260925_Eth"] = "morphomidnighttenorwsrusdusdc_20260925_eth";
59
- MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20260925_Eth"] = "morphomidnighttenorusd3usdc_20260925_eth";
60
56
  MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20260925_Eth"] = "morphomidnighttenorreusdusdc_20260925_eth";
57
+ MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20261030_Eth"] = "morphomidnighttenorreusdusdc_20261030_eth";
58
+ MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20261127_Eth"] = "morphomidnighttenorreusdusdc_20261127_eth";
59
+ MorphoMidnightVersions["MorphoMidnightTenorReUSDUSDC_20261225_Eth"] = "morphomidnighttenorreusdusdc_20261225_eth";
61
60
  MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20260925_Eth"] = "morphomidnighttenorsiusdusdc_20260925_eth";
61
+ MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20261030_Eth"] = "morphomidnighttenorsiusdusdc_20261030_eth";
62
+ MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20261127_Eth"] = "morphomidnighttenorsiusdusdc_20261127_eth";
63
+ MorphoMidnightVersions["MorphoMidnightTenorSiUSDUSDC_20261225_Eth"] = "morphomidnighttenorsiusdusdc_20261225_eth";
64
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20260925_Eth"] = "morphomidnighttenorstrusdusdc_20260925_eth";
65
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20261030_Eth"] = "morphomidnighttenorstrusdusdc_20261030_eth";
66
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20261127_Eth"] = "morphomidnighttenorstrusdusdc_20261127_eth";
67
+ MorphoMidnightVersions["MorphoMidnightTenorStrUSDUSDC_20261225_Eth"] = "morphomidnighttenorstrusdusdc_20261225_eth";
68
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20260925_Eth"] = "morphomidnighttenorusd3usdc_20260925_eth";
69
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20261030_Eth"] = "morphomidnighttenorusd3usdc_20261030_eth";
70
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20261127_Eth"] = "morphomidnighttenorusd3usdc_20261127_eth";
71
+ MorphoMidnightVersions["MorphoMidnightTenorUSD3USDC_20261225_Eth"] = "morphomidnighttenorusd3usdc_20261225_eth";
72
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260925_Eth"] = "morphomidnighttenorwethusdc_20260925_eth";
73
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261030_Eth"] = "morphomidnighttenorwethusdc_20261030_eth";
74
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261127_Eth"] = "morphomidnighttenorwethusdc_20261127_eth";
75
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261225_Eth"] = "morphomidnighttenorwethusdc_20261225_eth";
76
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20260925_Eth"] = "morphomidnighttenorwsrusdusdc_20260925_eth";
77
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20261030_Eth"] = "morphomidnighttenorwsrusdusdc_20261030_eth";
78
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20261127_Eth"] = "morphomidnighttenorwsrusdusdc_20261127_eth";
79
+ MorphoMidnightVersions["MorphoMidnightTenorWsrUSDUSDC_20261225_Eth"] = "morphomidnighttenorwsrusdusdc_20261225_eth";
80
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20260925_Eth"] = "morphomidnighttenorwstethweth_20260925_eth";
81
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20261030_Eth"] = "morphomidnighttenorwstethweth_20261030_eth";
82
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20261127_Eth"] = "morphomidnighttenorwstethweth_20261127_eth";
83
+ MorphoMidnightVersions["MorphoMidnightTenorWstETHWETH_20261225_Eth"] = "morphomidnighttenorwstethweth_20261225_eth";
62
84
  })(MorphoMidnightVersions || (MorphoMidnightVersions = {}));
63
85
  /**
64
86
  * 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.151-midnight-dev",
3
+ "version": "2.1.151-midnight-2-dev",
4
4
  "description": "",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",