@defisaver/positions-sdk 2.1.150 → 2.1.151-midnight-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.
@@ -1,24 +1,44 @@
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_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;
3
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH = exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH = exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH = exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH = exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH = exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH = exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH = exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH = 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.midnightCoreAddress = exports.MIDNIGHT_ETH = exports.MIDNIGHT_BASE = void 0;
4
+ exports.morphoMidnightVisibleCollaterals = exports.morphoMidnightMarketCollateralParams = exports.findMorphoMidnightMarket = exports.isTenorMidnightMarket = exports.MorphoMidnightMarkets = exports.MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH = exports.MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH = exports.MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH = exports.MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH = exports.MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH = void 0;
4
5
  const types_1 = require("../../types");
5
6
  const constants_1 = require("../../constants");
6
7
  /**
7
- * Morpho Midnight core contract on Base. Every Midnight market trades against this one, whoever curates
8
- * its order book — it is part of the market struct the id is hashed from, and it is what offer tuples
9
- * encode for `Midnight.take`.
8
+ * Morpho Midnight core contract, one per chain. Every Midnight market on a chain trades against its core,
9
+ * whoever curates the order book — it is part of the market struct the id is hashed from, and it is what
10
+ * offer tuples encode for `Midnight.take`. Listed at
11
+ * https://docs.morpho.org/get-started/resources/addresses/.
10
12
  */
11
13
  exports.MIDNIGHT_BASE = '0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A';
14
+ exports.MIDNIGHT_ETH = '0x471686c42792F93528B000beF54bC10E3aa2045f';
15
+ const midnightCoreAddress = (network) => (network === types_1.NetworkNumber.Eth ? exports.MIDNIGHT_ETH : exports.MIDNIGHT_BASE);
16
+ exports.midnightCoreAddress = midnightCoreAddress;
12
17
  const USDC_BASE = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
13
18
  const WETH_BASE = '0x4200000000000000000000000000000000000006';
14
19
  const CBBTC_BASE = '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf';
15
20
  const CBETH_BASE = '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22';
21
+ const USDC_ETH = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
22
+ const WETH_ETH = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2';
23
+ const WBTC_ETH = '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599';
24
+ const CBBTC_ETH = '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf';
25
+ const STRUSD_ETH = '0x280839980a7eD0D7717F64125fE241012E5F5815';
26
+ const WSRUSD_ETH = '0xd3fD63209FA2D55B07A0f6db36C2f43900be3094';
27
+ const USD3_ETH = '0x056B269Eb1f75477a8666ae8C7fE01b64dD55eCc';
28
+ const REUSD_ETH = '0x5086bf358635B81D8C47C66d1C8b9E567Db70c72';
29
+ const SIUSD_ETH = '0xDBDC1Ef57537E34680B898E1FEBD3D68c7389bCB';
16
30
  // Tenor's ERC-4626 collateral vaults, one per pair and shared by that pair's whole maturity ladder. Each
17
31
  // is a collateral of its markets on-chain without being an asset the app deals in — see the note above
18
32
  // the Tenor markets below, and https://www.docs.tenor.finance/technical-docs/addresses/#vaults.
19
33
  const TENOR_CBBTC_USDC_VAULT_BASE = '0xf6a70085b7f79FA76B04EbF7A2D7D87C3c5c04BC';
20
34
  const TENOR_WETH_USDC_VAULT_BASE = '0xe690a58EF52854513462745237F6A213a0d54dF1';
21
35
  const TENOR_CBETH_WETH_VAULT_BASE = '0xFa750DD0099eAdB72d401244De73ce7B89edf90F';
36
+ const TENOR_WETH_USDC_VAULT_ETH = '0x7579a75658A7A0b7d277296dFaEecF4018746091';
37
+ const TENOR_STRUSD_USDC_VAULT_ETH = '0xef6955d886fce26D87753dA45192eA50F59dc91c';
38
+ const TENOR_WSRUSD_USDC_VAULT_ETH = '0x09409fa71bCfd3f433571dbeec0C0A9C19B0d30E';
39
+ const TENOR_USD3_USDC_VAULT_ETH = '0x26C46ACb48B46cC99ccB3cf6C365BdaFa2556E80';
40
+ const TENOR_REUSD_USDC_VAULT_ETH = '0xe3891d8cA7E00Bc42157D9bb5797C88D9159AAC6';
41
+ const TENOR_SIUSD_USDC_VAULT_ETH = '0x226ecbf4755a5F81ed721E18c3fDA11f004Ea9e0';
22
42
  // Sourced from the official listing at https://markets.morpho.org/fixed/base
23
43
  // BASE — USDC/cbBTC, 86% LLTV, monthly maturity ladder
24
44
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -190,19 +210,20 @@ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = MORPHO_MIDNIGHT_CBBTC_USDC_860
190
210
  // = Tenor's `fixedMarketIdentifier`; they come back `listed: false`, meaning Tenor — not Morpho — serves
191
211
  // the book.
192
212
  //
193
- // Every market below is verified against `MidnightView.toMarket(marketId)` on Base: core address,
194
- // maturity, rcfThreshold, loan token, gates and collaterals all match. On-chain each market carries **two**
195
- // collaterals the pair's own token at index 0, and Tenor's ERC-4626 vault at index 1 (98% LLTV; the
196
- // `metadata.vault` of the parent tenor market, listed at
197
- // https://www.docs.tenor.finance/technical-docs/addresses/#vaults). The vault is not an asset the app
198
- // deals in, so it is split out into `hiddenCollaterals` instead of `collaterals`: everything that renders
199
- // or prices a position sees a single-collateral market, and because the vault stays the *suffix* of the
200
- // set, the SDK's positional `prices[i]` / `collateral[i]` reads stay aligned with `collaterals`.
213
+ // Every market below is verified by replaying `MidnightView.toId` over the struct these fields build:
214
+ // core address, maturity, rcfThreshold, loan token, gates and the whole ordered collateral set have to
215
+ // match or the hash does not come back as the recorded `marketId`. On-chain each market carries **two**
216
+ // collaterals the pair's own token, and Tenor's ERC-4626 vault at 98% LLTV (the `metadata.vault` of the
217
+ // parent tenor market, listed at https://www.docs.tenor.finance/technical-docs/addresses/#vaults). The
218
+ // vault is not an asset the app deals in, so it carries `hidden: true`: everything that renders or prices
219
+ // a position skips it and sees a single-collateral market.
201
220
  //
202
- // It is only split out, never dropped: the market id is the hash of the full struct, so a `Market` handed
203
- // to the core has to be `[...collaterals, ...hiddenCollaterals]` or the call addresses a market of its own
204
- // making. The take path builds no structoffer tuples carry the market's full collateral set straight
205
- // from the router's offer JSON.
221
+ // It is only flagged, never dropped or reordered: the market id is the hash of the full struct, so a
222
+ // `Market` handed to the core has to carry the complete set in the chain's own order or the call
223
+ // addresses a market of its own makingwhich does not revert, because markets are permissionless. On
224
+ // Base the vault happens to come last every time; on mainnet the order varies per market, which is why
225
+ // the flag lives on the entry rather than in a second list. The take path builds no struct — offer
226
+ // tuples carry the market's full collateral set straight from the router's offer JSON.
206
227
  const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = (networkId = types_1.NetworkNumber.Base) => ({
207
228
  chainIds: [types_1.NetworkNumber.Base],
208
229
  label: 'Tenor cbBTC/USDC',
@@ -216,12 +237,12 @@ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = (networkId = types_1.Netwo
216
237
  lltv: 0.86,
217
238
  liquidationCursor: '300000000000000000',
218
239
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
219
- }],
220
- hiddenCollaterals: [{
240
+ }, {
221
241
  token: TENOR_CBBTC_USDC_VAULT_BASE,
222
242
  lltv: 0.98,
223
243
  liquidationCursor: '300000000000000000',
224
244
  oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
245
+ hidden: true,
225
246
  }],
226
247
  maturity: 1787788800, // 2026-08-27T00:00:00Z
227
248
  rcfThreshold: '3000000000',
@@ -245,12 +266,12 @@ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = (networkId = types_1.Netwo
245
266
  lltv: 0.86,
246
267
  liquidationCursor: '300000000000000000',
247
268
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
248
- }],
249
- hiddenCollaterals: [{
269
+ }, {
250
270
  token: TENOR_CBBTC_USDC_VAULT_BASE,
251
271
  lltv: 0.98,
252
272
  liquidationCursor: '300000000000000000',
253
273
  oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
274
+ hidden: true,
254
275
  }],
255
276
  maturity: 1790208000, // 2026-09-24T00:00:00Z
256
277
  rcfThreshold: '3000000000',
@@ -274,12 +295,12 @@ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = (networkId = types_1.Netwo
274
295
  lltv: 0.86,
275
296
  liquidationCursor: '300000000000000000',
276
297
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
277
- }],
278
- hiddenCollaterals: [{
298
+ }, {
279
299
  token: TENOR_CBBTC_USDC_VAULT_BASE,
280
300
  lltv: 0.98,
281
301
  liquidationCursor: '300000000000000000',
282
302
  oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
303
+ hidden: true,
283
304
  }],
284
305
  maturity: 1792627200, // 2026-10-22T00:00:00Z
285
306
  rcfThreshold: '3000000000',
@@ -303,12 +324,12 @@ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = (networkId = types_1.Netwo
303
324
  lltv: 0.86,
304
325
  liquidationCursor: '300000000000000000',
305
326
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
306
- }],
307
- hiddenCollaterals: [{
327
+ }, {
308
328
  token: TENOR_CBBTC_USDC_VAULT_BASE,
309
329
  lltv: 0.98,
310
330
  liquidationCursor: '300000000000000000',
311
331
  oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
332
+ hidden: true,
312
333
  }],
313
334
  maturity: 1795046400, // 2026-11-19T00:00:00Z
314
335
  rcfThreshold: '3000000000',
@@ -332,12 +353,12 @@ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = (networkId = types_1.Netwo
332
353
  lltv: 0.86,
333
354
  liquidationCursor: '300000000000000000',
334
355
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
335
- }],
336
- hiddenCollaterals: [{
356
+ }, {
337
357
  token: TENOR_CBBTC_USDC_VAULT_BASE,
338
358
  lltv: 0.98,
339
359
  liquidationCursor: '300000000000000000',
340
360
  oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
361
+ hidden: true,
341
362
  }],
342
363
  maturity: 1797465600, // 2026-12-17T00:00:00Z
343
364
  rcfThreshold: '3000000000',
@@ -361,12 +382,12 @@ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = (networkId = types_1.Networ
361
382
  lltv: 0.86,
362
383
  liquidationCursor: '300000000000000000',
363
384
  oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
364
- }],
365
- hiddenCollaterals: [{
385
+ }, {
366
386
  token: TENOR_WETH_USDC_VAULT_BASE,
367
387
  lltv: 0.98,
368
388
  liquidationCursor: '300000000000000000',
369
389
  oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
390
+ hidden: true,
370
391
  }],
371
392
  maturity: 1787788800,
372
393
  rcfThreshold: '3000000000',
@@ -390,12 +411,12 @@ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = (networkId = types_1.Networ
390
411
  lltv: 0.86,
391
412
  liquidationCursor: '300000000000000000',
392
413
  oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
393
- }],
394
- hiddenCollaterals: [{
414
+ }, {
395
415
  token: TENOR_WETH_USDC_VAULT_BASE,
396
416
  lltv: 0.98,
397
417
  liquidationCursor: '300000000000000000',
398
418
  oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
419
+ hidden: true,
399
420
  }],
400
421
  maturity: 1790208000,
401
422
  rcfThreshold: '3000000000',
@@ -419,12 +440,12 @@ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = (networkId = types_1.Networ
419
440
  lltv: 0.86,
420
441
  liquidationCursor: '300000000000000000',
421
442
  oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
422
- }],
423
- hiddenCollaterals: [{
443
+ }, {
424
444
  token: TENOR_WETH_USDC_VAULT_BASE,
425
445
  lltv: 0.98,
426
446
  liquidationCursor: '300000000000000000',
427
447
  oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
448
+ hidden: true,
428
449
  }],
429
450
  maturity: 1792627200,
430
451
  rcfThreshold: '3000000000',
@@ -448,12 +469,12 @@ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = (networkId = types_1.Networ
448
469
  lltv: 0.86,
449
470
  liquidationCursor: '300000000000000000',
450
471
  oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
451
- }],
452
- hiddenCollaterals: [{
472
+ }, {
453
473
  token: TENOR_WETH_USDC_VAULT_BASE,
454
474
  lltv: 0.98,
455
475
  liquidationCursor: '300000000000000000',
456
476
  oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
477
+ hidden: true,
457
478
  }],
458
479
  maturity: 1795046400,
459
480
  rcfThreshold: '3000000000',
@@ -477,12 +498,12 @@ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = (networkId = types_1.Networ
477
498
  lltv: 0.86,
478
499
  liquidationCursor: '300000000000000000',
479
500
  oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
480
- }],
481
- hiddenCollaterals: [{
501
+ }, {
482
502
  token: TENOR_WETH_USDC_VAULT_BASE,
483
503
  lltv: 0.98,
484
504
  liquidationCursor: '300000000000000000',
485
505
  oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
506
+ hidden: true,
486
507
  }],
487
508
  maturity: 1797465600,
488
509
  rcfThreshold: '3000000000',
@@ -506,12 +527,12 @@ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = (networkId = types_1.Netwo
506
527
  lltv: 0.945,
507
528
  liquidationCursor: '300000000000000000',
508
529
  oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
509
- }],
510
- hiddenCollaterals: [{
530
+ }, {
511
531
  token: TENOR_CBETH_WETH_VAULT_BASE,
512
532
  lltv: 0.98,
513
533
  liquidationCursor: '300000000000000000',
514
534
  oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
535
+ hidden: true,
515
536
  }],
516
537
  maturity: 1787788800,
517
538
  rcfThreshold: '4000000000000000000',
@@ -535,12 +556,12 @@ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = (networkId = types_1.Netwo
535
556
  lltv: 0.945,
536
557
  liquidationCursor: '300000000000000000',
537
558
  oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
538
- }],
539
- hiddenCollaterals: [{
559
+ }, {
540
560
  token: TENOR_CBETH_WETH_VAULT_BASE,
541
561
  lltv: 0.98,
542
562
  liquidationCursor: '300000000000000000',
543
563
  oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
564
+ hidden: true,
544
565
  }],
545
566
  maturity: 1790208000,
546
567
  rcfThreshold: '4000000000000000000',
@@ -564,12 +585,12 @@ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = (networkId = types_1.Netwo
564
585
  lltv: 0.945,
565
586
  liquidationCursor: '300000000000000000',
566
587
  oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
567
- }],
568
- hiddenCollaterals: [{
588
+ }, {
569
589
  token: TENOR_CBETH_WETH_VAULT_BASE,
570
590
  lltv: 0.98,
571
591
  liquidationCursor: '300000000000000000',
572
592
  oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
593
+ hidden: true,
573
594
  }],
574
595
  maturity: 1792627200,
575
596
  rcfThreshold: '4000000000000000000',
@@ -593,12 +614,12 @@ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = (networkId = types_1.Netwo
593
614
  lltv: 0.945,
594
615
  liquidationCursor: '300000000000000000',
595
616
  oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
596
- }],
597
- hiddenCollaterals: [{
617
+ }, {
598
618
  token: TENOR_CBETH_WETH_VAULT_BASE,
599
619
  lltv: 0.98,
600
620
  liquidationCursor: '300000000000000000',
601
621
  oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
622
+ hidden: true,
602
623
  }],
603
624
  maturity: 1795046400,
604
625
  rcfThreshold: '4000000000000000000',
@@ -622,12 +643,12 @@ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = types_1.Netwo
622
643
  lltv: 0.945,
623
644
  liquidationCursor: '300000000000000000',
624
645
  oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
625
- }],
626
- hiddenCollaterals: [{
646
+ }, {
627
647
  token: TENOR_CBETH_WETH_VAULT_BASE,
628
648
  lltv: 0.98,
629
649
  liquidationCursor: '300000000000000000',
630
650
  oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
651
+ hidden: true,
631
652
  }],
632
653
  maturity: 1797465600,
633
654
  rcfThreshold: '4000000000000000000',
@@ -653,12 +674,12 @@ const createTenorWethUsdcRollingMarket = (value, url, maturity, marketId) => ({
653
674
  lltv: 0.86,
654
675
  liquidationCursor: '300000000000000000',
655
676
  oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
656
- }],
657
- hiddenCollaterals: [{
677
+ }, {
658
678
  token: TENOR_WETH_USDC_VAULT_BASE,
659
679
  lltv: 0.98,
660
680
  liquidationCursor: '300000000000000000',
661
681
  oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
682
+ hidden: true,
662
683
  }],
663
684
  maturity,
664
685
  rcfThreshold: '3000000000',
@@ -681,12 +702,12 @@ const createTenorCbEthWethRollingMarket = (value, url, maturity, marketId) => ({
681
702
  lltv: 0.945,
682
703
  liquidationCursor: '300000000000000000',
683
704
  oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
684
- }],
685
- hiddenCollaterals: [{
705
+ }, {
686
706
  token: TENOR_CBETH_WETH_VAULT_BASE,
687
707
  lltv: 0.98,
688
708
  liquidationCursor: '300000000000000000',
689
709
  oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
710
+ hidden: true,
690
711
  }],
691
712
  maturity,
692
713
  rcfThreshold: '4000000000000000000',
@@ -716,6 +737,280 @@ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = () => createTenorCbEthWeth
716
737
  exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225;
717
738
  const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = () => createTenorCbEthWethRollingMarket(types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base, 'tenor-cbeth-weth-20270129', 1801234800, '0x3cfda244eeec7e5cda2a07ef23e2a5e3fe6ba17882417cafbf3f3c432377ff1d');
718
739
  exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129;
740
+ // ── ETHEREUM ─────────────────────────────────────────────────────────────────────────────────────
741
+ const createWBTCUsdcEthMarket = (value, url, maturity, marketId) => ({
742
+ chainIds: [types_1.NetworkNumber.Eth],
743
+ label: 'Morpho Midnight WBTC/USDC',
744
+ shortLabel: 'WBTC/USDC',
745
+ url,
746
+ value,
747
+ midnight: exports.MIDNIGHT_ETH,
748
+ loanToken: USDC_ETH,
749
+ collaterals: [{
750
+ token: WBTC_ETH,
751
+ lltv: 0.86,
752
+ liquidationCursor: '300000000000000000',
753
+ oracle: '0xDddd770BADd886dF3864029e4B377B5F6a2B6b83',
754
+ }, {
755
+ token: USDC_ETH,
756
+ lltv: 0.98,
757
+ liquidationCursor: '300000000000000000',
758
+ oracle: '0x8d1A84515B54C58bAc3b18315B6b1f17dA5cf6ca',
759
+ hidden: true,
760
+ }],
761
+ maturity,
762
+ rcfThreshold: '300000000000',
763
+ enterGate: constants_1.ZERO_ADDRESS,
764
+ liquidatorGate: constants_1.ZERO_ADDRESS,
765
+ marketId,
766
+ protocolName: 'morpho-midnight',
767
+ curator: 'Morpho',
768
+ });
769
+ const createCbBTCUsdcEthMarket = (value, url, maturity, marketId) => ({
770
+ chainIds: [types_1.NetworkNumber.Eth],
771
+ label: 'Morpho Midnight cbBTC/USDC',
772
+ shortLabel: 'cbBTC/USDC',
773
+ url,
774
+ value,
775
+ midnight: exports.MIDNIGHT_ETH,
776
+ loanToken: USDC_ETH,
777
+ collaterals: [{
778
+ token: USDC_ETH,
779
+ lltv: 0.98,
780
+ liquidationCursor: '300000000000000000',
781
+ oracle: '0x8d1A84515B54C58bAc3b18315B6b1f17dA5cf6ca',
782
+ hidden: true,
783
+ }, {
784
+ token: CBBTC_ETH,
785
+ lltv: 0.86,
786
+ liquidationCursor: '300000000000000000',
787
+ oracle: '0xA6D6950c9F177F1De7f7757FB33539e3Ec60182a',
788
+ }],
789
+ maturity,
790
+ rcfThreshold: '300000000000',
791
+ enterGate: constants_1.ZERO_ADDRESS,
792
+ liquidatorGate: constants_1.ZERO_ADDRESS,
793
+ marketId,
794
+ protocolName: 'morpho-midnight',
795
+ curator: 'Morpho',
796
+ });
797
+ const MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH = () => createWBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20260925_Eth, 'wbtc-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
798
+ '0x6dae37424723dd8cef0da2db84fd2819f7dfa4e3a98e602ccc3c65ee1fac61c2');
799
+ exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH = MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH;
800
+ const MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH = () => createWBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261030_Eth, 'wbtc-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
801
+ '0xe5e6fbd5d81875dbfb0c94866cb0d300e1c7b9aacc0a458e63dccbcc0ce278c8');
802
+ exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH = MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH;
803
+ const MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH = () => createWBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261127_Eth, 'wbtc-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
804
+ '0xe0efc89dc1f747ba502f6a4100b6b1db9ebd0d57569fd5a54771d3a026b6a27b');
805
+ exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH = MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH;
806
+ const MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH = () => createWBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261225_Eth, 'wbtc-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
807
+ '0x3323abf2d2a3ec804f46552db920d900bb9c7ffd3f48143ab879a918fd6c0977');
808
+ exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH = MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH;
809
+ const MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH = () => createWBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270129_Eth, 'wbtc-usdc-20270129', 1801234800, // 2027-01-29T15:00:00Z
810
+ '0xf8052f557ce70d39cf9da1bd6e37e44a49f51757afb5dc881f675490ca6b3e9f');
811
+ exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH = MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH;
812
+ const MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH = () => createWBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270226_Eth, 'wbtc-usdc-20270226', 1803654000, // 2027-02-26T15:00:00Z
813
+ '0x7e399db474781e92b22b5a647d811959f65997b1e2bb68deaade674d8afbbdbd');
814
+ exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH = MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH;
815
+ const MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH = () => createWBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270326_Eth, 'wbtc-usdc-20270326', 1806073200, // 2027-03-26T15:00:00Z
816
+ '0x54a722a6dbaa237cfe088afd295417091bfb792fe3fac96999af41635977b2b0');
817
+ exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH = MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH;
818
+ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH = () => createCbBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Eth, 'cbbtc-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
819
+ '0x2a9ae59053a64e409e819d3b76750948e06065b3164278915eb80cb1b7474b65');
820
+ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH = MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH;
821
+ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH = () => createCbBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Eth, 'cbbtc-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
822
+ '0xeea94e3f7185bb8cfcdf41aca2c9776788e86d6c14de345b911b04f75cd49959');
823
+ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH;
824
+ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH = () => createCbBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Eth, 'cbbtc-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
825
+ '0xa6454499939a47927d3d27d65dce18486cc2aabbf75f8f5f8482e93567f4a183');
826
+ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH;
827
+ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH = () => createCbBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Eth, 'cbbtc-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
828
+ '0xcf447db8cff164867b02edbf7ee7af06d241d4f3a44b34d6e3a3ea872ddea5d6');
829
+ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH;
830
+ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH = () => createCbBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Eth, 'cbbtc-usdc-20270129', 1801234800, // 2027-01-29T15:00:00Z
831
+ '0x9ea83106928cf45829a89c02cea7c73cb3a066d2429d7ca2fcdc0015dc191df1');
832
+ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH = MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH;
833
+ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH = () => createCbBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270226_Eth, 'cbbtc-usdc-20270226', 1803654000, // 2027-02-26T15:00:00Z
834
+ '0xf9c1a9849863863a87600beb24394985a04ad3256b0c750baee0841f35f7f0e2');
835
+ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH = MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH;
836
+ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH = () => createCbBTCUsdcEthMarket(types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270326_Eth, 'cbbtc-usdc-20270326', 1806073200, // 2027-03-26T15:00:00Z
837
+ '0xb00767d2cc7d5d9e27501a14e7912a089e34da675a2eb9e030072233db2c4c3b');
838
+ exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH = MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH;
839
+ // ETHEREUM — Tenor-curated
840
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH = () => ({
841
+ chainIds: [types_1.NetworkNumber.Eth],
842
+ label: 'Tenor WETH/USDC',
843
+ shortLabel: 'Tenor WETH/USDC',
844
+ url: 'tenor-weth-usdc-20260925',
845
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Eth,
846
+ midnight: exports.MIDNIGHT_ETH,
847
+ loanToken: USDC_ETH,
848
+ collaterals: [{
849
+ token: TENOR_WETH_USDC_VAULT_ETH,
850
+ lltv: 0.98,
851
+ liquidationCursor: '300000000000000000',
852
+ oracle: '0x5c4fd2864C21F0b81730B4EC74030130aA2193Ca',
853
+ hidden: true,
854
+ }, {
855
+ token: WETH_ETH,
856
+ lltv: 0.86,
857
+ liquidationCursor: '300000000000000000',
858
+ oracle: '0x0F948CBa8231Db7898ef36A4212581Ad7b1B4580',
859
+ }],
860
+ maturity: 1790348400, // 2026-09-25T15:00:00Z
861
+ rcfThreshold: '300000000000',
862
+ enterGate: constants_1.ZERO_ADDRESS,
863
+ liquidatorGate: constants_1.ZERO_ADDRESS,
864
+ marketId: '0x6a463fa464b97f7ba86516be7de82761bfa411522701ede713a269c2c385c70a',
865
+ protocolName: 'morpho-midnight',
866
+ curator: 'Tenor',
867
+ });
868
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH;
869
+ const MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH = () => ({
870
+ chainIds: [types_1.NetworkNumber.Eth],
871
+ label: 'Tenor strUSD/USDC',
872
+ shortLabel: 'Tenor strUSD/USDC',
873
+ url: 'tenor-strusd-usdc-20260925',
874
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20260925_Eth,
875
+ midnight: exports.MIDNIGHT_ETH,
876
+ loanToken: USDC_ETH,
877
+ collaterals: [{
878
+ token: STRUSD_ETH,
879
+ lltv: 0.86,
880
+ liquidationCursor: '300000000000000000',
881
+ oracle: '0x1506c98cE61aC63c8438B710C054a51c5dD9A6A4',
882
+ }, {
883
+ token: TENOR_STRUSD_USDC_VAULT_ETH,
884
+ lltv: 0.98,
885
+ liquidationCursor: '300000000000000000',
886
+ oracle: '0x361904890a43d4af2D1b8cF642A6C5e661Da5641',
887
+ hidden: true,
888
+ }],
889
+ maturity: 1790348400, // 2026-09-25T15:00:00Z
890
+ rcfThreshold: '300000000000',
891
+ enterGate: constants_1.ZERO_ADDRESS,
892
+ liquidatorGate: constants_1.ZERO_ADDRESS,
893
+ marketId: '0xa46399e45fe90b7d3c0488c4c73e9b361f758c4481734832a43d764ccdde0c64',
894
+ protocolName: 'morpho-midnight',
895
+ curator: 'Tenor',
896
+ });
897
+ exports.MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH = MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH;
898
+ const MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH = () => ({
899
+ chainIds: [types_1.NetworkNumber.Eth],
900
+ label: 'Tenor wsrUSD/USDC',
901
+ shortLabel: 'Tenor wsrUSD/USDC',
902
+ url: 'tenor-wsrusd-usdc-20260925',
903
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20260925_Eth,
904
+ midnight: exports.MIDNIGHT_ETH,
905
+ loanToken: USDC_ETH,
906
+ collaterals: [{
907
+ token: TENOR_WSRUSD_USDC_VAULT_ETH,
908
+ lltv: 0.98,
909
+ liquidationCursor: '300000000000000000',
910
+ oracle: '0x7C997e4dddF1D4B7C0D5f290B92d0909ba227c14',
911
+ hidden: true,
912
+ }, {
913
+ token: WSRUSD_ETH,
914
+ lltv: 0.945,
915
+ liquidationCursor: '300000000000000000',
916
+ oracle: '0x938D2eDb20425cF80F008E7ec314Eb456940Da15',
917
+ }],
918
+ maturity: 1790348400, // 2026-09-25T15:00:00Z
919
+ rcfThreshold: '700000000000',
920
+ enterGate: constants_1.ZERO_ADDRESS,
921
+ liquidatorGate: constants_1.ZERO_ADDRESS,
922
+ marketId: '0xc028a0b50ba0c606fbf83e5620018f23019b1fb5d1d15b4a5a0d17cc72edcfeb',
923
+ protocolName: 'morpho-midnight',
924
+ curator: 'Tenor',
925
+ });
926
+ exports.MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH = MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH;
927
+ const MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH = () => ({
928
+ chainIds: [types_1.NetworkNumber.Eth],
929
+ label: 'Tenor USD3/USDC',
930
+ shortLabel: 'Tenor USD3/USDC',
931
+ url: 'tenor-usd3-usdc-20260925',
932
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20260925_Eth,
933
+ midnight: exports.MIDNIGHT_ETH,
934
+ loanToken: USDC_ETH,
935
+ collaterals: [{
936
+ token: USD3_ETH,
937
+ lltv: 0.915,
938
+ liquidationCursor: '300000000000000000',
939
+ oracle: '0x68b4c2B2b2e245AB54a3bD55DfD5A9d84f029C06',
940
+ }, {
941
+ token: TENOR_USD3_USDC_VAULT_ETH,
942
+ lltv: 0.98,
943
+ liquidationCursor: '300000000000000000',
944
+ oracle: '0x2C198EC459e0a035078565dEdc3c206604b57d4D',
945
+ hidden: true,
946
+ }],
947
+ maturity: 1790348400, // 2026-09-25T15:00:00Z
948
+ rcfThreshold: '500000000000',
949
+ enterGate: constants_1.ZERO_ADDRESS,
950
+ liquidatorGate: constants_1.ZERO_ADDRESS,
951
+ marketId: '0x1edea0a3875af341ea885fc7eac7e02bfce90c534a1602dbd40fefccfe4c24d4',
952
+ protocolName: 'morpho-midnight',
953
+ curator: 'Tenor',
954
+ });
955
+ exports.MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH = MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH;
956
+ const MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH = () => ({
957
+ chainIds: [types_1.NetworkNumber.Eth],
958
+ label: 'Tenor reUSD/USDC',
959
+ shortLabel: 'Tenor reUSD/USDC',
960
+ url: 'tenor-reusd-usdc-20260925',
961
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20260925_Eth,
962
+ midnight: exports.MIDNIGHT_ETH,
963
+ loanToken: USDC_ETH,
964
+ collaterals: [{
965
+ token: REUSD_ETH,
966
+ lltv: 0.915,
967
+ liquidationCursor: '300000000000000000',
968
+ oracle: '0xA66a4F03Fd8031973f8C7718904ce32385f54E70',
969
+ }, {
970
+ token: TENOR_REUSD_USDC_VAULT_ETH,
971
+ lltv: 0.98,
972
+ liquidationCursor: '300000000000000000',
973
+ oracle: '0xE5f7f5A74E6f4dA2F68b1aa017F204a1883eC0df',
974
+ hidden: true,
975
+ }],
976
+ maturity: 1790348400, // 2026-09-25T15:00:00Z
977
+ rcfThreshold: '500000000000',
978
+ enterGate: constants_1.ZERO_ADDRESS,
979
+ liquidatorGate: constants_1.ZERO_ADDRESS,
980
+ marketId: '0xdba251b941d135577e1b423301b2eb6a76dfe11479c843185d20bee9208e7393',
981
+ protocolName: 'morpho-midnight',
982
+ curator: 'Tenor',
983
+ });
984
+ exports.MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH = MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH;
985
+ const MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH = () => ({
986
+ chainIds: [types_1.NetworkNumber.Eth],
987
+ label: 'Tenor siUSD/USDC',
988
+ shortLabel: 'Tenor siUSD/USDC',
989
+ url: 'tenor-siusd-usdc-20260925',
990
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20260925_Eth,
991
+ midnight: exports.MIDNIGHT_ETH,
992
+ loanToken: USDC_ETH,
993
+ collaterals: [{
994
+ token: TENOR_SIUSD_USDC_VAULT_ETH,
995
+ lltv: 0.98,
996
+ liquidationCursor: '300000000000000000',
997
+ oracle: '0xE872d1d33b13B52aE7cD9A0CDD4102468350e5fa',
998
+ hidden: true,
999
+ }, {
1000
+ token: SIUSD_ETH,
1001
+ lltv: 0.915,
1002
+ liquidationCursor: '300000000000000000',
1003
+ oracle: '0xd2cC46b9B2D761502eF933320ecf0268EC0dfa6d',
1004
+ }],
1005
+ maturity: 1790348400, // 2026-09-25T15:00:00Z
1006
+ rcfThreshold: '500000000000',
1007
+ enterGate: constants_1.ZERO_ADDRESS,
1008
+ liquidatorGate: constants_1.ZERO_ADDRESS,
1009
+ marketId: '0x48d95ace842493ce2c1c474c0cb60ac208e9d8a714258e278af9c8ae01a88fa5',
1010
+ protocolName: 'morpho-midnight',
1011
+ curator: 'Tenor',
1012
+ });
1013
+ exports.MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH = MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH;
719
1014
  const MorphoMidnightMarkets = (networkId) => ({
720
1015
  // BASE — Morpho-curated
721
1016
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731)(networkId),
@@ -751,9 +1046,35 @@ const MorphoMidnightMarkets = (networkId) => ({
751
1046
  [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127)(),
752
1047
  [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225)(),
753
1048
  [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129)(),
1049
+ // ETHEREUM — Morpho-curated
1050
+ [types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20260925_Eth]: (0, exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH)(),
1051
+ [types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261030_Eth]: (0, exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH)(),
1052
+ [types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261127_Eth]: (0, exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH)(),
1053
+ [types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261225_Eth]: (0, exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH)(),
1054
+ [types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270129_Eth]: (0, exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH)(),
1055
+ [types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270226_Eth]: (0, exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH)(),
1056
+ [types_1.MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270326_Eth]: (0, exports.MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH)(),
1057
+ [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Eth]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH)(),
1058
+ [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Eth]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH)(),
1059
+ [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Eth]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH)(),
1060
+ [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Eth]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH)(),
1061
+ [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Eth]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH)(),
1062
+ [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270226_Eth]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH)(),
1063
+ [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270326_Eth]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH)(),
1064
+ // ETHEREUM — Tenor-curated
1065
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260925_Eth]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260925_ETH)(),
1066
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20260925_Eth]: (0, exports.MORPHO_MIDNIGHT_TENOR_USD3_USDC_915_20260925_ETH)(),
1067
+ // ── Pending `@defisaver/tokens` ────────────────────────────────────────────────────────────────
1068
+ // Collateralised by stablecoins the app does not carry yet, so `getAssetInfoByAddress` hands back the
1069
+ // `?` proto and the market renders an unnamed collateral at a NaN price. The definitions below are
1070
+ // verified against the chain and complete — this map is the only place they are withheld from, so
1071
+ // uncommenting these four lines is the whole re-enable once the assets ship.
1072
+ // [MorphoMidnightVersions.MorphoMidnightTenorStrUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_STRUSD_USDC_860_20260925_ETH(),
1073
+ // [MorphoMidnightVersions.MorphoMidnightTenorWsrUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_WSRUSD_USDC_945_20260925_ETH(),
1074
+ // [MorphoMidnightVersions.MorphoMidnightTenorReUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_REUSD_USDC_915_20260925_ETH(),
1075
+ // [MorphoMidnightVersions.MorphoMidnightTenorSiUSDUSDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_SIUSD_USDC_915_20260925_ETH(),
754
1076
  });
755
1077
  exports.MorphoMidnightMarkets = MorphoMidnightMarkets;
756
- // Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
757
1078
  const TENOR_MARKET_IDS = new Set(Object.values((0, exports.MorphoMidnightMarkets)(types_1.NetworkNumber.Base))
758
1079
  .filter((market) => market.curator === 'Tenor')
759
1080
  .map((market) => market.marketId.toLowerCase()));
@@ -761,13 +1082,13 @@ const isTenorMidnightMarket = (market) => (typeof market === 'string'
761
1082
  ? TENOR_MARKET_IDS.has(market.toLowerCase())
762
1083
  : market.curator === 'Tenor');
763
1084
  exports.isTenorMidnightMarket = isTenorMidnightMarket;
764
- const findMorphoMidnightMarket = (marketId, network = types_1.NetworkNumber.Base) => Object.values((0, exports.MorphoMidnightMarkets)(network)).find((market) => market.marketId.toLowerCase() === marketId.toLowerCase());
1085
+ const findMorphoMidnightMarket = (marketId, network) => (Object.values((0, exports.MorphoMidnightMarkets)(network !== null && network !== void 0 ? network : types_1.NetworkNumber.Base))
1086
+ .find((market) => market.marketId.toLowerCase() === marketId.toLowerCase()
1087
+ && (network === undefined || market.chainIds.includes(network))));
765
1088
  exports.findMorphoMidnightMarket = findMorphoMidnightMarket;
766
- /**
767
- * The market's collateral set as the chain knows it: the listed collaterals followed by the curator's
768
- * hidden ones. This — not `collaterals` — is what a `Market` struct takes, since the market id is the hash
769
- * of that struct. Anything assembling one for a contract call goes through here so it can't quietly build
770
- * a market of its own instead.
771
- */
772
- const morphoMidnightMarketCollateralParams = (market) => [...market.collaterals, ...(market.hiddenCollaterals || [])];
1089
+ const morphoMidnightMarketCollateralParams = (market) => market.collaterals.map(({ token, lltv, liquidationCursor, oracle, }) => ({
1090
+ token, lltv, liquidationCursor, oracle,
1091
+ }));
773
1092
  exports.morphoMidnightMarketCollateralParams = morphoMidnightMarketCollateralParams;
1093
+ const morphoMidnightVisibleCollaterals = (market) => market.collaterals.filter((collateral) => !collateral.hidden);
1094
+ exports.morphoMidnightVisibleCollaterals = morphoMidnightVisibleCollaterals;