@defisaver/positions-sdk 2.1.151-midnight-2-dev → 2.1.151
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/claiming/compV3.js +1 -0
- package/cjs/config/contracts.d.ts +0 -4
- package/cjs/config/contracts.js +0 -4
- package/cjs/helpers/morphoMidnightHelpers/tenor.d.ts +2 -6
- package/cjs/helpers/morphoMidnightHelpers/tenor.js +1 -5
- package/cjs/markets/aaveV4/index.d.ts +2 -0
- package/cjs/markets/aaveV4/index.js +13 -1
- package/cjs/markets/index.d.ts +1 -1
- package/cjs/markets/index.js +1 -2
- package/cjs/markets/morphoMidnight/index.d.ts +10 -92
- package/cjs/markets/morphoMidnight/index.js +60 -519
- package/cjs/morphoMidnight/index.js +1 -11
- package/cjs/types/aaveV4.d.ts +1 -0
- package/cjs/types/aaveV4.js +1 -0
- package/cjs/types/morphoMidnight.d.ts +4 -57
- package/cjs/types/morphoMidnight.js +0 -45
- package/esm/claiming/compV3.js +1 -0
- package/esm/config/contracts.d.ts +0 -4
- package/esm/config/contracts.js +0 -4
- package/esm/helpers/morphoMidnightHelpers/tenor.d.ts +2 -6
- package/esm/helpers/morphoMidnightHelpers/tenor.js +2 -6
- package/esm/markets/aaveV4/index.d.ts +2 -0
- package/esm/markets/aaveV4/index.js +11 -0
- package/esm/markets/index.d.ts +1 -1
- package/esm/markets/index.js +1 -1
- package/esm/markets/morphoMidnight/index.d.ts +10 -92
- package/esm/markets/morphoMidnight/index.js +59 -473
- package/esm/morphoMidnight/index.js +1 -11
- package/esm/types/aaveV4.d.ts +1 -0
- package/esm/types/aaveV4.js +1 -0
- package/esm/types/morphoMidnight.d.ts +4 -57
- package/esm/types/morphoMidnight.js +0 -45
- package/package.json +2 -2
- package/src/claiming/compV3.ts +1 -0
- package/src/config/contracts.ts +0 -4
- package/src/helpers/morphoMidnightHelpers/tenor.ts +2 -6
- package/src/markets/aaveV4/index.ts +12 -0
- package/src/markets/index.ts +0 -1
- package/src/markets/morphoMidnight/index.ts +61 -724
- package/src/morphoMidnight/index.ts +1 -8
- package/src/types/aaveV4.ts +1 -0
- package/src/types/morphoMidnight.ts +3 -59
|
@@ -1,41 +1,21 @@
|
|
|
1
1
|
import { MorphoMidnightVersions, NetworkNumber, } from '../../types';
|
|
2
2
|
import { ZERO_ADDRESS } from '../../constants';
|
|
3
3
|
/**
|
|
4
|
-
* Morpho Midnight core contract
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* https://docs.morpho.org/get-started/resources/addresses/.
|
|
4
|
+
* Morpho Midnight core contract on Base. Every Midnight market trades against this one, whoever curates
|
|
5
|
+
* its order book — it is part of the market struct the id is hashed from, and it is what offer tuples
|
|
6
|
+
* encode for `Midnight.take`.
|
|
8
7
|
*/
|
|
9
8
|
export const MIDNIGHT_BASE = '0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A';
|
|
10
|
-
export const MIDNIGHT_ETH = '0x471686c42792F93528B000beF54bC10E3aa2045f';
|
|
11
|
-
export const midnightCoreAddress = (network) => (network === NetworkNumber.Eth ? MIDNIGHT_ETH : MIDNIGHT_BASE);
|
|
12
9
|
const USDC_BASE = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
|
|
13
10
|
const WETH_BASE = '0x4200000000000000000000000000000000000006';
|
|
14
11
|
const CBBTC_BASE = '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf';
|
|
15
12
|
const CBETH_BASE = '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22';
|
|
16
|
-
const USDC_ETH = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
|
|
17
|
-
const WETH_ETH = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2';
|
|
18
|
-
const WBTC_ETH = '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599';
|
|
19
|
-
const CBBTC_ETH = '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf';
|
|
20
|
-
const STRUSD_ETH = '0x280839980a7eD0D7717F64125fE241012E5F5815';
|
|
21
|
-
const WSRUSD_ETH = '0xd3fD63209FA2D55B07A0f6db36C2f43900be3094';
|
|
22
|
-
const USD3_ETH = '0x056B269Eb1f75477a8666ae8C7fE01b64dD55eCc';
|
|
23
|
-
const REUSD_ETH = '0x5086bf358635B81D8C47C66d1C8b9E567Db70c72';
|
|
24
|
-
const SIUSD_ETH = '0xDBDC1Ef57537E34680B898E1FEBD3D68c7389bCB';
|
|
25
|
-
const WSTETH_ETH = '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0';
|
|
26
13
|
// Tenor's ERC-4626 collateral vaults, one per pair and shared by that pair's whole maturity ladder. Each
|
|
27
14
|
// is a collateral of its markets on-chain without being an asset the app deals in — see the note above
|
|
28
15
|
// the Tenor markets below, and https://www.docs.tenor.finance/technical-docs/addresses/#vaults.
|
|
29
16
|
const TENOR_CBBTC_USDC_VAULT_BASE = '0xf6a70085b7f79FA76B04EbF7A2D7D87C3c5c04BC';
|
|
30
17
|
const TENOR_WETH_USDC_VAULT_BASE = '0xe690a58EF52854513462745237F6A213a0d54dF1';
|
|
31
18
|
const TENOR_CBETH_WETH_VAULT_BASE = '0xFa750DD0099eAdB72d401244De73ce7B89edf90F';
|
|
32
|
-
const TENOR_WETH_USDC_VAULT_ETH = '0x7579a75658A7A0b7d277296dFaEecF4018746091';
|
|
33
|
-
const TENOR_STRUSD_USDC_VAULT_ETH = '0xef6955d886fce26D87753dA45192eA50F59dc91c';
|
|
34
|
-
const TENOR_WSRUSD_USDC_VAULT_ETH = '0x09409fa71bCfd3f433571dbeec0C0A9C19B0d30E';
|
|
35
|
-
const TENOR_USD3_USDC_VAULT_ETH = '0x26C46ACb48B46cC99ccB3cf6C365BdaFa2556E80';
|
|
36
|
-
const TENOR_REUSD_USDC_VAULT_ETH = '0xe3891d8cA7E00Bc42157D9bb5797C88D9159AAC6';
|
|
37
|
-
const TENOR_SIUSD_USDC_VAULT_ETH = '0x226ecbf4755a5F81ed721E18c3fDA11f004Ea9e0';
|
|
38
|
-
const TENOR_WSTETH_WETH_VAULT_ETH = '0xe1Bdb88eE5DBaCE653ecD2123E8396BB5BA8adc5';
|
|
39
19
|
// Sourced from the official listing at https://markets.morpho.org/fixed/base
|
|
40
20
|
// BASE — USDC/cbBTC, 86% LLTV, monthly maturity ladder
|
|
41
21
|
export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = (networkId = NetworkNumber.Base) => ({
|
|
@@ -200,20 +180,19 @@ export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129 = (networkId = NetworkNumbe
|
|
|
200
180
|
// = Tenor's `fixedMarketIdentifier`; they come back `listed: false`, meaning Tenor — not Morpho — serves
|
|
201
181
|
// the book.
|
|
202
182
|
//
|
|
203
|
-
// Every market below is verified
|
|
204
|
-
//
|
|
205
|
-
//
|
|
206
|
-
//
|
|
207
|
-
//
|
|
208
|
-
//
|
|
209
|
-
// a position
|
|
183
|
+
// Every market below is verified against `MidnightView.toMarket(marketId)` on Base: core address,
|
|
184
|
+
// maturity, rcfThreshold, loan token, gates and collaterals all match. On-chain each market carries **two**
|
|
185
|
+
// collaterals — the pair's own token at index 0, and Tenor's ERC-4626 vault at index 1 (98% LLTV; the
|
|
186
|
+
// `metadata.vault` of the parent tenor market, listed at
|
|
187
|
+
// https://www.docs.tenor.finance/technical-docs/addresses/#vaults). The vault is not an asset the app
|
|
188
|
+
// deals in, so it is split out into `hiddenCollaterals` instead of `collaterals`: everything that renders
|
|
189
|
+
// or prices a position sees a single-collateral market, and because the vault stays the *suffix* of the
|
|
190
|
+
// set, the SDK's positional `prices[i]` / `collateral[i]` reads stay aligned with `collaterals`.
|
|
210
191
|
//
|
|
211
|
-
// It is only
|
|
212
|
-
//
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
// the flag lives on the entry rather than in a second list. The take path builds no struct — offer
|
|
216
|
-
// tuples carry the market's full collateral set straight from the router's offer JSON.
|
|
192
|
+
// It is only split out, never dropped: the market id is the hash of the full struct, so a `Market` handed
|
|
193
|
+
// to the core has to be `[...collaterals, ...hiddenCollaterals]` or the call addresses a market of its own
|
|
194
|
+
// making. The take path builds no struct — offer tuples carry the market's full collateral set straight
|
|
195
|
+
// from the router's offer JSON.
|
|
217
196
|
export const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = (networkId = NetworkNumber.Base) => ({
|
|
218
197
|
chainIds: [NetworkNumber.Base],
|
|
219
198
|
label: 'Tenor cbBTC/USDC',
|
|
@@ -227,12 +206,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = (networkId = Networ
|
|
|
227
206
|
lltv: 0.86,
|
|
228
207
|
liquidationCursor: '300000000000000000',
|
|
229
208
|
oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
|
|
230
|
-
},
|
|
209
|
+
}],
|
|
210
|
+
hiddenCollaterals: [{
|
|
231
211
|
token: TENOR_CBBTC_USDC_VAULT_BASE,
|
|
232
212
|
lltv: 0.98,
|
|
233
213
|
liquidationCursor: '300000000000000000',
|
|
234
214
|
oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
|
|
235
|
-
hidden: true,
|
|
236
215
|
}],
|
|
237
216
|
maturity: 1787788800, // 2026-08-27T00:00:00Z
|
|
238
217
|
rcfThreshold: '3000000000',
|
|
@@ -255,12 +234,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = (networkId = Networ
|
|
|
255
234
|
lltv: 0.86,
|
|
256
235
|
liquidationCursor: '300000000000000000',
|
|
257
236
|
oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
|
|
258
|
-
},
|
|
237
|
+
}],
|
|
238
|
+
hiddenCollaterals: [{
|
|
259
239
|
token: TENOR_CBBTC_USDC_VAULT_BASE,
|
|
260
240
|
lltv: 0.98,
|
|
261
241
|
liquidationCursor: '300000000000000000',
|
|
262
242
|
oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
|
|
263
|
-
hidden: true,
|
|
264
243
|
}],
|
|
265
244
|
maturity: 1790208000, // 2026-09-24T00:00:00Z
|
|
266
245
|
rcfThreshold: '3000000000',
|
|
@@ -283,12 +262,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = (networkId = Networ
|
|
|
283
262
|
lltv: 0.86,
|
|
284
263
|
liquidationCursor: '300000000000000000',
|
|
285
264
|
oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
|
|
286
|
-
},
|
|
265
|
+
}],
|
|
266
|
+
hiddenCollaterals: [{
|
|
287
267
|
token: TENOR_CBBTC_USDC_VAULT_BASE,
|
|
288
268
|
lltv: 0.98,
|
|
289
269
|
liquidationCursor: '300000000000000000',
|
|
290
270
|
oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
|
|
291
|
-
hidden: true,
|
|
292
271
|
}],
|
|
293
272
|
maturity: 1792627200, // 2026-10-22T00:00:00Z
|
|
294
273
|
rcfThreshold: '3000000000',
|
|
@@ -311,12 +290,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = (networkId = Networ
|
|
|
311
290
|
lltv: 0.86,
|
|
312
291
|
liquidationCursor: '300000000000000000',
|
|
313
292
|
oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
|
|
314
|
-
},
|
|
293
|
+
}],
|
|
294
|
+
hiddenCollaterals: [{
|
|
315
295
|
token: TENOR_CBBTC_USDC_VAULT_BASE,
|
|
316
296
|
lltv: 0.98,
|
|
317
297
|
liquidationCursor: '300000000000000000',
|
|
318
298
|
oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
|
|
319
|
-
hidden: true,
|
|
320
299
|
}],
|
|
321
300
|
maturity: 1795046400, // 2026-11-19T00:00:00Z
|
|
322
301
|
rcfThreshold: '3000000000',
|
|
@@ -339,12 +318,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = (networkId = Networ
|
|
|
339
318
|
lltv: 0.86,
|
|
340
319
|
liquidationCursor: '300000000000000000',
|
|
341
320
|
oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
|
|
342
|
-
},
|
|
321
|
+
}],
|
|
322
|
+
hiddenCollaterals: [{
|
|
343
323
|
token: TENOR_CBBTC_USDC_VAULT_BASE,
|
|
344
324
|
lltv: 0.98,
|
|
345
325
|
liquidationCursor: '300000000000000000',
|
|
346
326
|
oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
|
|
347
|
-
hidden: true,
|
|
348
327
|
}],
|
|
349
328
|
maturity: 1797465600, // 2026-12-17T00:00:00Z
|
|
350
329
|
rcfThreshold: '3000000000',
|
|
@@ -367,12 +346,12 @@ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = (networkId = Network
|
|
|
367
346
|
lltv: 0.86,
|
|
368
347
|
liquidationCursor: '300000000000000000',
|
|
369
348
|
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
370
|
-
},
|
|
349
|
+
}],
|
|
350
|
+
hiddenCollaterals: [{
|
|
371
351
|
token: TENOR_WETH_USDC_VAULT_BASE,
|
|
372
352
|
lltv: 0.98,
|
|
373
353
|
liquidationCursor: '300000000000000000',
|
|
374
354
|
oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
|
|
375
|
-
hidden: true,
|
|
376
355
|
}],
|
|
377
356
|
maturity: 1787788800,
|
|
378
357
|
rcfThreshold: '3000000000',
|
|
@@ -395,12 +374,12 @@ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = (networkId = Network
|
|
|
395
374
|
lltv: 0.86,
|
|
396
375
|
liquidationCursor: '300000000000000000',
|
|
397
376
|
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
398
|
-
},
|
|
377
|
+
}],
|
|
378
|
+
hiddenCollaterals: [{
|
|
399
379
|
token: TENOR_WETH_USDC_VAULT_BASE,
|
|
400
380
|
lltv: 0.98,
|
|
401
381
|
liquidationCursor: '300000000000000000',
|
|
402
382
|
oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
|
|
403
|
-
hidden: true,
|
|
404
383
|
}],
|
|
405
384
|
maturity: 1790208000,
|
|
406
385
|
rcfThreshold: '3000000000',
|
|
@@ -423,12 +402,12 @@ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = (networkId = Network
|
|
|
423
402
|
lltv: 0.86,
|
|
424
403
|
liquidationCursor: '300000000000000000',
|
|
425
404
|
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
426
|
-
},
|
|
405
|
+
}],
|
|
406
|
+
hiddenCollaterals: [{
|
|
427
407
|
token: TENOR_WETH_USDC_VAULT_BASE,
|
|
428
408
|
lltv: 0.98,
|
|
429
409
|
liquidationCursor: '300000000000000000',
|
|
430
410
|
oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
|
|
431
|
-
hidden: true,
|
|
432
411
|
}],
|
|
433
412
|
maturity: 1792627200,
|
|
434
413
|
rcfThreshold: '3000000000',
|
|
@@ -451,12 +430,12 @@ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = (networkId = Network
|
|
|
451
430
|
lltv: 0.86,
|
|
452
431
|
liquidationCursor: '300000000000000000',
|
|
453
432
|
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
454
|
-
},
|
|
433
|
+
}],
|
|
434
|
+
hiddenCollaterals: [{
|
|
455
435
|
token: TENOR_WETH_USDC_VAULT_BASE,
|
|
456
436
|
lltv: 0.98,
|
|
457
437
|
liquidationCursor: '300000000000000000',
|
|
458
438
|
oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
|
|
459
|
-
hidden: true,
|
|
460
439
|
}],
|
|
461
440
|
maturity: 1795046400,
|
|
462
441
|
rcfThreshold: '3000000000',
|
|
@@ -479,12 +458,12 @@ export const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = (networkId = Network
|
|
|
479
458
|
lltv: 0.86,
|
|
480
459
|
liquidationCursor: '300000000000000000',
|
|
481
460
|
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
482
|
-
},
|
|
461
|
+
}],
|
|
462
|
+
hiddenCollaterals: [{
|
|
483
463
|
token: TENOR_WETH_USDC_VAULT_BASE,
|
|
484
464
|
lltv: 0.98,
|
|
485
465
|
liquidationCursor: '300000000000000000',
|
|
486
466
|
oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
|
|
487
|
-
hidden: true,
|
|
488
467
|
}],
|
|
489
468
|
maturity: 1797465600,
|
|
490
469
|
rcfThreshold: '3000000000',
|
|
@@ -507,12 +486,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = (networkId = Networ
|
|
|
507
486
|
lltv: 0.945,
|
|
508
487
|
liquidationCursor: '300000000000000000',
|
|
509
488
|
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
510
|
-
},
|
|
489
|
+
}],
|
|
490
|
+
hiddenCollaterals: [{
|
|
511
491
|
token: TENOR_CBETH_WETH_VAULT_BASE,
|
|
512
492
|
lltv: 0.98,
|
|
513
493
|
liquidationCursor: '300000000000000000',
|
|
514
494
|
oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
|
|
515
|
-
hidden: true,
|
|
516
495
|
}],
|
|
517
496
|
maturity: 1787788800,
|
|
518
497
|
rcfThreshold: '4000000000000000000',
|
|
@@ -535,12 +514,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = (networkId = Networ
|
|
|
535
514
|
lltv: 0.945,
|
|
536
515
|
liquidationCursor: '300000000000000000',
|
|
537
516
|
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
538
|
-
},
|
|
517
|
+
}],
|
|
518
|
+
hiddenCollaterals: [{
|
|
539
519
|
token: TENOR_CBETH_WETH_VAULT_BASE,
|
|
540
520
|
lltv: 0.98,
|
|
541
521
|
liquidationCursor: '300000000000000000',
|
|
542
522
|
oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
|
|
543
|
-
hidden: true,
|
|
544
523
|
}],
|
|
545
524
|
maturity: 1790208000,
|
|
546
525
|
rcfThreshold: '4000000000000000000',
|
|
@@ -563,12 +542,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = (networkId = Networ
|
|
|
563
542
|
lltv: 0.945,
|
|
564
543
|
liquidationCursor: '300000000000000000',
|
|
565
544
|
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
566
|
-
},
|
|
545
|
+
}],
|
|
546
|
+
hiddenCollaterals: [{
|
|
567
547
|
token: TENOR_CBETH_WETH_VAULT_BASE,
|
|
568
548
|
lltv: 0.98,
|
|
569
549
|
liquidationCursor: '300000000000000000',
|
|
570
550
|
oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
|
|
571
|
-
hidden: true,
|
|
572
551
|
}],
|
|
573
552
|
maturity: 1792627200,
|
|
574
553
|
rcfThreshold: '4000000000000000000',
|
|
@@ -591,12 +570,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = (networkId = Networ
|
|
|
591
570
|
lltv: 0.945,
|
|
592
571
|
liquidationCursor: '300000000000000000',
|
|
593
572
|
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
594
|
-
},
|
|
573
|
+
}],
|
|
574
|
+
hiddenCollaterals: [{
|
|
595
575
|
token: TENOR_CBETH_WETH_VAULT_BASE,
|
|
596
576
|
lltv: 0.98,
|
|
597
577
|
liquidationCursor: '300000000000000000',
|
|
598
578
|
oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
|
|
599
|
-
hidden: true,
|
|
600
579
|
}],
|
|
601
580
|
maturity: 1795046400,
|
|
602
581
|
rcfThreshold: '4000000000000000000',
|
|
@@ -619,12 +598,12 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = Networ
|
|
|
619
598
|
lltv: 0.945,
|
|
620
599
|
liquidationCursor: '300000000000000000',
|
|
621
600
|
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
622
|
-
},
|
|
601
|
+
}],
|
|
602
|
+
hiddenCollaterals: [{
|
|
623
603
|
token: TENOR_CBETH_WETH_VAULT_BASE,
|
|
624
604
|
lltv: 0.98,
|
|
625
605
|
liquidationCursor: '300000000000000000',
|
|
626
606
|
oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
|
|
627
|
-
hidden: true,
|
|
628
607
|
}],
|
|
629
608
|
maturity: 1797465600,
|
|
630
609
|
rcfThreshold: '4000000000000000000',
|
|
@@ -649,12 +628,12 @@ const createTenorWethUsdcRollingMarket = (value, url, maturity, marketId) => ({
|
|
|
649
628
|
lltv: 0.86,
|
|
650
629
|
liquidationCursor: '300000000000000000',
|
|
651
630
|
oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
|
|
652
|
-
},
|
|
631
|
+
}],
|
|
632
|
+
hiddenCollaterals: [{
|
|
653
633
|
token: TENOR_WETH_USDC_VAULT_BASE,
|
|
654
634
|
lltv: 0.98,
|
|
655
635
|
liquidationCursor: '300000000000000000',
|
|
656
636
|
oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
|
|
657
|
-
hidden: true,
|
|
658
637
|
}],
|
|
659
638
|
maturity,
|
|
660
639
|
rcfThreshold: '3000000000',
|
|
@@ -677,12 +656,12 @@ const createTenorCbEthWethRollingMarket = (value, url, maturity, marketId) => ({
|
|
|
677
656
|
lltv: 0.945,
|
|
678
657
|
liquidationCursor: '300000000000000000',
|
|
679
658
|
oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
|
|
680
|
-
},
|
|
659
|
+
}],
|
|
660
|
+
hiddenCollaterals: [{
|
|
681
661
|
token: TENOR_CBETH_WETH_VAULT_BASE,
|
|
682
662
|
lltv: 0.98,
|
|
683
663
|
liquidationCursor: '300000000000000000',
|
|
684
664
|
oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
|
|
685
|
-
hidden: true,
|
|
686
665
|
}],
|
|
687
666
|
maturity,
|
|
688
667
|
rcfThreshold: '4000000000000000000',
|
|
@@ -702,352 +681,7 @@ export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261030 = () => createTenorCb
|
|
|
702
681
|
export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base, 'tenor-cbeth-weth-20261127', 1795791600, '0xbb9ee13ffe52f4d52311775b1bd4fa309e402fd01ddfa165023c42dd6e5c051d');
|
|
703
682
|
export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base, 'tenor-cbeth-weth-20261225', 1798210800, '0x80530386795c88ba8c1ea6d686ae6168525c819ce4e0ea6017cb59afe34fb6d2');
|
|
704
683
|
export const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129 = () => createTenorCbEthWethRollingMarket(MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base, 'tenor-cbeth-weth-20270129', 1801234800, '0x3cfda244eeec7e5cda2a07ef23e2a5e3fe6ba17882417cafbf3f3c432377ff1d');
|
|
705
|
-
|
|
706
|
-
const createWBTCUsdcEthMarket = (value, url, maturity, marketId) => ({
|
|
707
|
-
chainIds: [NetworkNumber.Eth],
|
|
708
|
-
label: 'Morpho Midnight WBTC/USDC',
|
|
709
|
-
shortLabel: 'WBTC/USDC',
|
|
710
|
-
url,
|
|
711
|
-
value,
|
|
712
|
-
midnight: MIDNIGHT_ETH,
|
|
713
|
-
loanToken: USDC_ETH,
|
|
714
|
-
collaterals: [{
|
|
715
|
-
token: WBTC_ETH,
|
|
716
|
-
lltv: 0.86,
|
|
717
|
-
liquidationCursor: '300000000000000000',
|
|
718
|
-
oracle: '0xDddd770BADd886dF3864029e4B377B5F6a2B6b83',
|
|
719
|
-
}, {
|
|
720
|
-
token: USDC_ETH,
|
|
721
|
-
lltv: 0.98,
|
|
722
|
-
liquidationCursor: '300000000000000000',
|
|
723
|
-
oracle: '0x8d1A84515B54C58bAc3b18315B6b1f17dA5cf6ca',
|
|
724
|
-
hidden: true,
|
|
725
|
-
}],
|
|
726
|
-
maturity,
|
|
727
|
-
rcfThreshold: '300000000000',
|
|
728
|
-
enterGate: ZERO_ADDRESS,
|
|
729
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
730
|
-
marketId,
|
|
731
|
-
protocolName: 'morpho-midnight',
|
|
732
|
-
curator: 'Morpho',
|
|
733
|
-
});
|
|
734
|
-
const createCbBTCUsdcEthMarket = (value, url, maturity, marketId) => ({
|
|
735
|
-
chainIds: [NetworkNumber.Eth],
|
|
736
|
-
label: 'Morpho Midnight cbBTC/USDC',
|
|
737
|
-
shortLabel: 'cbBTC/USDC',
|
|
738
|
-
url,
|
|
739
|
-
value,
|
|
740
|
-
midnight: MIDNIGHT_ETH,
|
|
741
|
-
loanToken: USDC_ETH,
|
|
742
|
-
collaterals: [{
|
|
743
|
-
token: USDC_ETH,
|
|
744
|
-
lltv: 0.98,
|
|
745
|
-
liquidationCursor: '300000000000000000',
|
|
746
|
-
oracle: '0x8d1A84515B54C58bAc3b18315B6b1f17dA5cf6ca',
|
|
747
|
-
hidden: true,
|
|
748
|
-
}, {
|
|
749
|
-
token: CBBTC_ETH,
|
|
750
|
-
lltv: 0.86,
|
|
751
|
-
liquidationCursor: '300000000000000000',
|
|
752
|
-
oracle: '0xA6D6950c9F177F1De7f7757FB33539e3Ec60182a',
|
|
753
|
-
}],
|
|
754
|
-
maturity,
|
|
755
|
-
rcfThreshold: '300000000000',
|
|
756
|
-
enterGate: ZERO_ADDRESS,
|
|
757
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
758
|
-
marketId,
|
|
759
|
-
protocolName: 'morpho-midnight',
|
|
760
|
-
curator: 'Morpho',
|
|
761
|
-
});
|
|
762
|
-
export const MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH = () => createWBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20260925_Eth, 'wbtc-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
|
|
763
|
-
'0x6dae37424723dd8cef0da2db84fd2819f7dfa4e3a98e602ccc3c65ee1fac61c2');
|
|
764
|
-
export const MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH = () => createWBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261030_Eth, 'wbtc-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
|
|
765
|
-
'0xe5e6fbd5d81875dbfb0c94866cb0d300e1c7b9aacc0a458e63dccbcc0ce278c8');
|
|
766
|
-
export const MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH = () => createWBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261127_Eth, 'wbtc-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
|
|
767
|
-
'0xe0efc89dc1f747ba502f6a4100b6b1db9ebd0d57569fd5a54771d3a026b6a27b');
|
|
768
|
-
export const MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH = () => createWBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261225_Eth, 'wbtc-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
|
|
769
|
-
'0x3323abf2d2a3ec804f46552db920d900bb9c7ffd3f48143ab879a918fd6c0977');
|
|
770
|
-
export const MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH = () => createWBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270129_Eth, 'wbtc-usdc-20270129', 1801234800, // 2027-01-29T15:00:00Z
|
|
771
|
-
'0xf8052f557ce70d39cf9da1bd6e37e44a49f51757afb5dc881f675490ca6b3e9f');
|
|
772
|
-
export const MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH = () => createWBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270226_Eth, 'wbtc-usdc-20270226', 1803654000, // 2027-02-26T15:00:00Z
|
|
773
|
-
'0x7e399db474781e92b22b5a647d811959f65997b1e2bb68deaade674d8afbbdbd');
|
|
774
|
-
export const MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH = () => createWBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270326_Eth, 'wbtc-usdc-20270326', 1806073200, // 2027-03-26T15:00:00Z
|
|
775
|
-
'0x54a722a6dbaa237cfe088afd295417091bfb792fe3fac96999af41635977b2b0');
|
|
776
|
-
export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH = () => createCbBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Eth, 'cbbtc-usdc-20260925', 1790348400, // 2026-09-25T15:00:00Z
|
|
777
|
-
'0x2a9ae59053a64e409e819d3b76750948e06065b3164278915eb80cb1b7474b65');
|
|
778
|
-
export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH = () => createCbBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Eth, 'cbbtc-usdc-20261030', 1793372400, // 2026-10-30T15:00:00Z
|
|
779
|
-
'0xeea94e3f7185bb8cfcdf41aca2c9776788e86d6c14de345b911b04f75cd49959');
|
|
780
|
-
export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH = () => createCbBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Eth, 'cbbtc-usdc-20261127', 1795791600, // 2026-11-27T15:00:00Z
|
|
781
|
-
'0xa6454499939a47927d3d27d65dce18486cc2aabbf75f8f5f8482e93567f4a183');
|
|
782
|
-
export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH = () => createCbBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Eth, 'cbbtc-usdc-20261225', 1798210800, // 2026-12-25T15:00:00Z
|
|
783
|
-
'0xcf447db8cff164867b02edbf7ee7af06d241d4f3a44b34d6e3a3ea872ddea5d6');
|
|
784
|
-
export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH = () => createCbBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Eth, 'cbbtc-usdc-20270129', 1801234800, // 2027-01-29T15:00:00Z
|
|
785
|
-
'0x9ea83106928cf45829a89c02cea7c73cb3a066d2429d7ca2fcdc0015dc191df1');
|
|
786
|
-
export const MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH = () => createCbBTCUsdcEthMarket(MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270226_Eth, 'cbbtc-usdc-20270226', 1803654000, // 2027-02-26T15:00:00Z
|
|
787
|
-
'0xf9c1a9849863863a87600beb24394985a04ad3256b0c750baee0841f35f7f0e2');
|
|
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
|
|
789
|
-
'0xb00767d2cc7d5d9e27501a14e7912a089e34da675a2eb9e030072233db2c4c3b');
|
|
790
|
-
// ETHEREUM — Tenor-curated, one rolling ladder per pair
|
|
791
|
-
const createTenorReUSDUsdcEthMarket = (value, url, maturity, marketId) => ({
|
|
792
|
-
chainIds: [NetworkNumber.Eth],
|
|
793
|
-
label: 'Tenor reUSD/USDC',
|
|
794
|
-
shortLabel: 'Tenor reUSD/USDC',
|
|
795
|
-
url,
|
|
796
|
-
value,
|
|
797
|
-
midnight: MIDNIGHT_ETH,
|
|
798
|
-
loanToken: USDC_ETH,
|
|
799
|
-
collaterals: [{
|
|
800
|
-
token: REUSD_ETH,
|
|
801
|
-
lltv: 0.915,
|
|
802
|
-
liquidationCursor: '300000000000000000',
|
|
803
|
-
oracle: '0xA66a4F03Fd8031973f8C7718904ce32385f54E70',
|
|
804
|
-
}, {
|
|
805
|
-
token: TENOR_REUSD_USDC_VAULT_ETH,
|
|
806
|
-
lltv: 0.98,
|
|
807
|
-
liquidationCursor: '300000000000000000',
|
|
808
|
-
oracle: '0xE5f7f5A74E6f4dA2F68b1aa017F204a1883eC0df',
|
|
809
|
-
hidden: true,
|
|
810
|
-
}],
|
|
811
|
-
maturity,
|
|
812
|
-
rcfThreshold: '500000000000',
|
|
813
|
-
enterGate: ZERO_ADDRESS,
|
|
814
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
815
|
-
marketId,
|
|
816
|
-
protocolName: 'morpho-midnight',
|
|
817
|
-
curator: 'Tenor',
|
|
818
|
-
});
|
|
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) => ({
|
|
828
|
-
chainIds: [NetworkNumber.Eth],
|
|
829
|
-
label: 'Tenor siUSD/USDC',
|
|
830
|
-
shortLabel: 'Tenor siUSD/USDC',
|
|
831
|
-
url,
|
|
832
|
-
value,
|
|
833
|
-
midnight: MIDNIGHT_ETH,
|
|
834
|
-
loanToken: USDC_ETH,
|
|
835
|
-
collaterals: [{
|
|
836
|
-
token: TENOR_SIUSD_USDC_VAULT_ETH,
|
|
837
|
-
lltv: 0.98,
|
|
838
|
-
liquidationCursor: '300000000000000000',
|
|
839
|
-
oracle: '0xE872d1d33b13B52aE7cD9A0CDD4102468350e5fa',
|
|
840
|
-
hidden: true,
|
|
841
|
-
}, {
|
|
842
|
-
token: SIUSD_ETH,
|
|
843
|
-
lltv: 0.915,
|
|
844
|
-
liquidationCursor: '300000000000000000',
|
|
845
|
-
oracle: '0xd2cC46b9B2D761502eF933320ecf0268EC0dfa6d',
|
|
846
|
-
}],
|
|
847
|
-
maturity,
|
|
848
|
-
rcfThreshold: '500000000000',
|
|
849
|
-
enterGate: ZERO_ADDRESS,
|
|
850
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
851
|
-
marketId,
|
|
852
|
-
protocolName: 'morpho-midnight',
|
|
853
|
-
curator: 'Tenor',
|
|
854
|
-
});
|
|
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) => ({
|
|
864
|
-
chainIds: [NetworkNumber.Eth],
|
|
865
|
-
label: 'Tenor strUSD/USDC',
|
|
866
|
-
shortLabel: 'Tenor strUSD/USDC',
|
|
867
|
-
url,
|
|
868
|
-
value,
|
|
869
|
-
midnight: MIDNIGHT_ETH,
|
|
870
|
-
loanToken: USDC_ETH,
|
|
871
|
-
collaterals: [{
|
|
872
|
-
token: STRUSD_ETH,
|
|
873
|
-
lltv: 0.86,
|
|
874
|
-
liquidationCursor: '300000000000000000',
|
|
875
|
-
oracle: '0x1506c98cE61aC63c8438B710C054a51c5dD9A6A4',
|
|
876
|
-
}, {
|
|
877
|
-
token: TENOR_STRUSD_USDC_VAULT_ETH,
|
|
878
|
-
lltv: 0.98,
|
|
879
|
-
liquidationCursor: '300000000000000000',
|
|
880
|
-
oracle: '0x361904890a43d4af2D1b8cF642A6C5e661Da5641',
|
|
881
|
-
hidden: true,
|
|
882
|
-
}],
|
|
883
|
-
maturity,
|
|
884
|
-
rcfThreshold: '300000000000',
|
|
885
|
-
enterGate: ZERO_ADDRESS,
|
|
886
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
887
|
-
marketId,
|
|
888
|
-
protocolName: 'morpho-midnight',
|
|
889
|
-
curator: 'Tenor',
|
|
890
|
-
});
|
|
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) => ({
|
|
900
|
-
chainIds: [NetworkNumber.Eth],
|
|
901
|
-
label: 'Tenor USD3/USDC',
|
|
902
|
-
shortLabel: 'Tenor USD3/USDC',
|
|
903
|
-
url,
|
|
904
|
-
value,
|
|
905
|
-
midnight: MIDNIGHT_ETH,
|
|
906
|
-
loanToken: USDC_ETH,
|
|
907
|
-
collaterals: [{
|
|
908
|
-
token: USD3_ETH,
|
|
909
|
-
lltv: 0.915,
|
|
910
|
-
liquidationCursor: '300000000000000000',
|
|
911
|
-
oracle: '0x68b4c2B2b2e245AB54a3bD55DfD5A9d84f029C06',
|
|
912
|
-
}, {
|
|
913
|
-
token: TENOR_USD3_USDC_VAULT_ETH,
|
|
914
|
-
lltv: 0.98,
|
|
915
|
-
liquidationCursor: '300000000000000000',
|
|
916
|
-
oracle: '0x2C198EC459e0a035078565dEdc3c206604b57d4D',
|
|
917
|
-
hidden: true,
|
|
918
|
-
}],
|
|
919
|
-
maturity,
|
|
920
|
-
rcfThreshold: '500000000000',
|
|
921
|
-
enterGate: ZERO_ADDRESS,
|
|
922
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
923
|
-
marketId,
|
|
924
|
-
protocolName: 'morpho-midnight',
|
|
925
|
-
curator: 'Tenor',
|
|
926
|
-
});
|
|
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) => ({
|
|
936
|
-
chainIds: [NetworkNumber.Eth],
|
|
937
|
-
label: 'Tenor WETH/USDC',
|
|
938
|
-
shortLabel: 'Tenor WETH/USDC',
|
|
939
|
-
url,
|
|
940
|
-
value,
|
|
941
|
-
midnight: MIDNIGHT_ETH,
|
|
942
|
-
loanToken: USDC_ETH,
|
|
943
|
-
collaterals: [{
|
|
944
|
-
token: TENOR_WETH_USDC_VAULT_ETH,
|
|
945
|
-
lltv: 0.98,
|
|
946
|
-
liquidationCursor: '300000000000000000',
|
|
947
|
-
oracle: '0x5c4fd2864C21F0b81730B4EC74030130aA2193Ca',
|
|
948
|
-
hidden: true,
|
|
949
|
-
}, {
|
|
950
|
-
token: WETH_ETH,
|
|
951
|
-
lltv: 0.86,
|
|
952
|
-
liquidationCursor: '300000000000000000',
|
|
953
|
-
oracle: '0x0F948CBa8231Db7898ef36A4212581Ad7b1B4580',
|
|
954
|
-
}],
|
|
955
|
-
maturity,
|
|
956
|
-
rcfThreshold: '300000000000',
|
|
957
|
-
enterGate: ZERO_ADDRESS,
|
|
958
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
959
|
-
marketId,
|
|
960
|
-
protocolName: 'morpho-midnight',
|
|
961
|
-
curator: 'Tenor',
|
|
962
|
-
});
|
|
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) => ({
|
|
972
|
-
chainIds: [NetworkNumber.Eth],
|
|
973
|
-
label: 'Tenor wsrUSD/USDC',
|
|
974
|
-
shortLabel: 'Tenor wsrUSD/USDC',
|
|
975
|
-
url,
|
|
976
|
-
value,
|
|
977
|
-
midnight: MIDNIGHT_ETH,
|
|
978
|
-
loanToken: USDC_ETH,
|
|
979
|
-
collaterals: [{
|
|
980
|
-
token: TENOR_WSRUSD_USDC_VAULT_ETH,
|
|
981
|
-
lltv: 0.98,
|
|
982
|
-
liquidationCursor: '300000000000000000',
|
|
983
|
-
oracle: '0x7C997e4dddF1D4B7C0D5f290B92d0909ba227c14',
|
|
984
|
-
hidden: true,
|
|
985
|
-
}, {
|
|
986
|
-
token: WSRUSD_ETH,
|
|
987
|
-
lltv: 0.945,
|
|
988
|
-
liquidationCursor: '300000000000000000',
|
|
989
|
-
oracle: '0x938D2eDb20425cF80F008E7ec314Eb456940Da15',
|
|
990
|
-
}],
|
|
991
|
-
maturity,
|
|
992
|
-
rcfThreshold: '700000000000',
|
|
993
|
-
enterGate: ZERO_ADDRESS,
|
|
994
|
-
liquidatorGate: ZERO_ADDRESS,
|
|
995
|
-
marketId,
|
|
996
|
-
protocolName: 'morpho-midnight',
|
|
997
|
-
curator: 'Tenor',
|
|
998
|
-
});
|
|
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) => ({
|
|
684
|
+
export const MorphoMidnightMarkets = (networkId) => ({
|
|
1051
685
|
// BASE — Morpho-curated
|
|
1052
686
|
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731(networkId),
|
|
1053
687
|
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260828_Base]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828(networkId),
|
|
@@ -1082,67 +716,19 @@ const allMorphoMidnightMarkets = (networkId) => ({
|
|
|
1082
716
|
[MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261127_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261127(),
|
|
1083
717
|
[MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261225_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261225(),
|
|
1084
718
|
[MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20270129_Base]: MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20270129(),
|
|
1085
|
-
// ETHEREUM — Morpho-curated
|
|
1086
|
-
[MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20260925_Eth]: MORPHO_MIDNIGHT_WBTC_USDC_860_20260925_ETH(),
|
|
1087
|
-
[MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261030_Eth]: MORPHO_MIDNIGHT_WBTC_USDC_860_20261030_ETH(),
|
|
1088
|
-
[MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261127_Eth]: MORPHO_MIDNIGHT_WBTC_USDC_860_20261127_ETH(),
|
|
1089
|
-
[MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20261225_Eth]: MORPHO_MIDNIGHT_WBTC_USDC_860_20261225_ETH(),
|
|
1090
|
-
[MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270129_Eth]: MORPHO_MIDNIGHT_WBTC_USDC_860_20270129_ETH(),
|
|
1091
|
-
[MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270226_Eth]: MORPHO_MIDNIGHT_WBTC_USDC_860_20270226_ETH(),
|
|
1092
|
-
[MorphoMidnightVersions.MorphoMidnightWBTCUSDC_860_20270326_Eth]: MORPHO_MIDNIGHT_WBTC_USDC_860_20270326_ETH(),
|
|
1093
|
-
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925_ETH(),
|
|
1094
|
-
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030_ETH(),
|
|
1095
|
-
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127_ETH(),
|
|
1096
|
-
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225_ETH(),
|
|
1097
|
-
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270129_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270129_ETH(),
|
|
1098
|
-
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270226_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270226_ETH(),
|
|
1099
|
-
[MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20270326_Eth]: MORPHO_MIDNIGHT_CBBTC_USDC_860_20270326_ETH(),
|
|
1100
|
-
// ETHEREUM — Tenor-curated
|
|
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(),
|
|
1113
|
-
[MorphoMidnightVersions.MorphoMidnightTenorUSD3USDC_20260925_Eth]: MORPHO_MIDNIGHT_TENOR_USD3_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(),
|
|
1129
719
|
});
|
|
1130
|
-
|
|
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
|
-
};
|
|
720
|
+
// Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
|
|
1136
721
|
const TENOR_MARKET_IDS = new Set(Object.values(MorphoMidnightMarkets(NetworkNumber.Base))
|
|
1137
722
|
.filter((market) => market.curator === 'Tenor')
|
|
1138
723
|
.map((market) => market.marketId.toLowerCase()));
|
|
1139
724
|
export const isTenorMidnightMarket = (market) => (typeof market === 'string'
|
|
1140
725
|
? TENOR_MARKET_IDS.has(market.toLowerCase())
|
|
1141
726
|
: market.curator === 'Tenor');
|
|
1142
|
-
export const findMorphoMidnightMarket = (marketId, network) =>
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
727
|
+
export const findMorphoMidnightMarket = (marketId, network = NetworkNumber.Base) => Object.values(MorphoMidnightMarkets(network)).find((market) => market.marketId.toLowerCase() === marketId.toLowerCase());
|
|
728
|
+
/**
|
|
729
|
+
* The market's collateral set as the chain knows it: the listed collaterals followed by the curator's
|
|
730
|
+
* hidden ones. This — not `collaterals` — is what a `Market` struct takes, since the market id is the hash
|
|
731
|
+
* of that struct. Anything assembling one for a contract call goes through here so it can't quietly build
|
|
732
|
+
* a market of its own instead.
|
|
733
|
+
*/
|
|
734
|
+
export const morphoMidnightMarketCollateralParams = (market) => [...market.collaterals, ...(market.hiddenCollaterals || [])];
|