@defisaver/positions-sdk 2.1.127-midnight-5-dev → 2.1.127-midnight-6-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.
Files changed (36) hide show
  1. package/cjs/constants/index.d.ts +1 -0
  2. package/cjs/constants/index.js +2 -1
  3. package/cjs/helpers/morphoMidnightHelpers/index.d.ts +8 -14
  4. package/cjs/helpers/morphoMidnightHelpers/index.js +50 -62
  5. package/cjs/helpers/morphoMidnightHelpers/rate.d.ts +11 -0
  6. package/cjs/helpers/morphoMidnightHelpers/rate.js +49 -0
  7. package/cjs/helpers/morphoMidnightHelpers/tenor.d.ts +125 -0
  8. package/cjs/helpers/morphoMidnightHelpers/tenor.js +256 -0
  9. package/cjs/markets/index.d.ts +1 -1
  10. package/cjs/markets/index.js +2 -1
  11. package/cjs/markets/morphoMidnight/index.d.ts +37 -0
  12. package/cjs/markets/morphoMidnight/index.js +434 -42
  13. package/cjs/types/morphoMidnight.d.ts +18 -1
  14. package/cjs/types/morphoMidnight.js +16 -0
  15. package/esm/constants/index.d.ts +1 -0
  16. package/esm/constants/index.js +1 -0
  17. package/esm/helpers/morphoMidnightHelpers/index.d.ts +8 -14
  18. package/esm/helpers/morphoMidnightHelpers/index.js +27 -45
  19. package/esm/helpers/morphoMidnightHelpers/rate.d.ts +11 -0
  20. package/esm/helpers/morphoMidnightHelpers/rate.js +38 -0
  21. package/esm/helpers/morphoMidnightHelpers/tenor.d.ts +125 -0
  22. package/esm/helpers/morphoMidnightHelpers/tenor.js +239 -0
  23. package/esm/markets/index.d.ts +1 -1
  24. package/esm/markets/index.js +1 -1
  25. package/esm/markets/morphoMidnight/index.d.ts +37 -0
  26. package/esm/markets/morphoMidnight/index.js +399 -23
  27. package/esm/types/morphoMidnight.d.ts +18 -1
  28. package/esm/types/morphoMidnight.js +16 -0
  29. package/package.json +1 -1
  30. package/src/constants/index.ts +1 -0
  31. package/src/helpers/morphoMidnightHelpers/index.ts +49 -45
  32. package/src/helpers/morphoMidnightHelpers/rate.ts +46 -0
  33. package/src/helpers/morphoMidnightHelpers/tenor.ts +411 -0
  34. package/src/markets/index.ts +1 -1
  35. package/src/markets/morphoMidnight/index.ts +424 -23
  36. package/src/types/morphoMidnight.ts +19 -0
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findMorphoMidnightMarket = exports.MorphoMidnightMarkets = 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 = void 0;
3
+ exports.findMorphoMidnightMarket = exports.isTenorMidnightMarket = exports.MorphoMidnightMarkets = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = exports.MIDNIGHT_BASE = void 0;
4
4
  const types_1 = require("../../types");
5
- // Morpho Midnight core contract on Base (same for every market).
6
- const MIDNIGHT_BASE = '0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A';
7
- const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
8
- // Curated Morpho Midnight markets. Each market is fixed-term: it is uniquely identified on-chain by
9
- // `marketId` (bytes32), derived from the static struct below via MidnightView.toId. Because markets
10
- // churn as maturities roll, this list is hand-maintained for the pairs/maturities the app supports.
11
- // Sourced from the official listing at https://markets.morpho.org/fixed/base (see its sitemap.xml) —
12
- // currently a single USDC/cbBTC pair offered on a monthly maturity ladder; new maturities are added
13
- // there progressively. Every `marketId` here is verified against MidnightView.toId(marketStruct) in
14
- // tests/morphoMidnight.ts.
5
+ const constants_1 = require("../../constants");
6
+ /**
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`.
10
+ */
11
+ exports.MIDNIGHT_BASE = '0xAdedD8ab6dE832766Fedf0FaC4992E5C4D3EA18A';
12
+ const USDC_BASE = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
13
+ const WETH_BASE = '0x4200000000000000000000000000000000000006';
14
+ const CBBTC_BASE = '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf';
15
+ const CBETH_BASE = '0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22';
16
+ // Sourced from the official listing at https://markets.morpho.org/fixed/base
15
17
  // BASE — USDC/cbBTC, 86% LLTV, monthly maturity ladder
16
18
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = (networkId = types_1.NetworkNumber.Base) => ({
17
19
  chainIds: [types_1.NetworkNumber.Base],
@@ -19,20 +21,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = (networkId = types_1.NetworkNumb
19
21
  shortLabel: 'cbBTC/USDC',
20
22
  url: 'cbbtc-usdc-20260731',
21
23
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base,
22
- midnight: MIDNIGHT_BASE,
23
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
24
+ midnight: exports.MIDNIGHT_BASE,
25
+ loanToken: USDC_BASE,
24
26
  collaterals: [{
25
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
27
+ token: CBBTC_BASE,
26
28
  lltv: 0.86,
27
29
  liquidationCursor: '300000000000000000',
28
30
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
29
31
  }],
30
32
  maturity: 1785510000, // 2026-07-31T15:00:00Z
31
33
  rcfThreshold: '3000000000',
32
- enterGate: ZERO_ADDRESS,
33
- liquidatorGate: ZERO_ADDRESS,
34
+ enterGate: constants_1.ZERO_ADDRESS,
35
+ liquidatorGate: constants_1.ZERO_ADDRESS,
34
36
  marketId: '0x168e31250e0008b50d2255a5ab85e0265acd6c12e4f9a1336134b36a65a47937',
35
37
  protocolName: 'morpho-midnight',
38
+ curator: 'Morpho',
36
39
  });
37
40
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731;
38
41
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -41,20 +44,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = (networkId = types_1.NetworkNumb
41
44
  shortLabel: 'cbBTC/USDC',
42
45
  url: 'cbbtc-usdc-20260828',
43
46
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260828_Base,
44
- midnight: MIDNIGHT_BASE,
45
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
47
+ midnight: exports.MIDNIGHT_BASE,
48
+ loanToken: USDC_BASE,
46
49
  collaterals: [{
47
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
50
+ token: CBBTC_BASE,
48
51
  lltv: 0.86,
49
52
  liquidationCursor: '300000000000000000',
50
53
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
51
54
  }],
52
55
  maturity: 1787929200, // 2026-08-28T15:00:00Z
53
56
  rcfThreshold: '3000000000',
54
- enterGate: ZERO_ADDRESS,
55
- liquidatorGate: ZERO_ADDRESS,
57
+ enterGate: constants_1.ZERO_ADDRESS,
58
+ liquidatorGate: constants_1.ZERO_ADDRESS,
56
59
  marketId: '0x05959752fdeff325962b9d263edb421efc6e2186a49360dba6c32e86ebf6c84c',
57
60
  protocolName: 'morpho-midnight',
61
+ curator: 'Morpho',
58
62
  });
59
63
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828;
60
64
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -63,20 +67,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = (networkId = types_1.NetworkNumb
63
67
  shortLabel: 'cbBTC/USDC',
64
68
  url: 'cbbtc-usdc-20260925',
65
69
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Base,
66
- midnight: MIDNIGHT_BASE,
67
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
70
+ midnight: exports.MIDNIGHT_BASE,
71
+ loanToken: USDC_BASE,
68
72
  collaterals: [{
69
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
73
+ token: CBBTC_BASE,
70
74
  lltv: 0.86,
71
75
  liquidationCursor: '300000000000000000',
72
76
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
73
77
  }],
74
78
  maturity: 1790348400, // 2026-09-25T15:00:00Z
75
79
  rcfThreshold: '3000000000',
76
- enterGate: ZERO_ADDRESS,
77
- liquidatorGate: ZERO_ADDRESS,
80
+ enterGate: constants_1.ZERO_ADDRESS,
81
+ liquidatorGate: constants_1.ZERO_ADDRESS,
78
82
  marketId: '0x549cd072daf99328554f3a6d2d4d6f4a07f1c59369e891e6391946f9cf75f221',
79
83
  protocolName: 'morpho-midnight',
84
+ curator: 'Morpho',
80
85
  });
81
86
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925;
82
87
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -85,20 +90,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = (networkId = types_1.NetworkNumb
85
90
  shortLabel: 'cbBTC/USDC',
86
91
  url: 'cbbtc-usdc-20261030',
87
92
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base,
88
- midnight: MIDNIGHT_BASE,
89
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
93
+ midnight: exports.MIDNIGHT_BASE,
94
+ loanToken: USDC_BASE,
90
95
  collaterals: [{
91
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
96
+ token: CBBTC_BASE,
92
97
  lltv: 0.86,
93
98
  liquidationCursor: '300000000000000000',
94
99
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
95
100
  }],
96
101
  maturity: 1793372400, // 2026-10-30T15:00:00Z
97
102
  rcfThreshold: '3000000000',
98
- enterGate: ZERO_ADDRESS,
99
- liquidatorGate: ZERO_ADDRESS,
103
+ enterGate: constants_1.ZERO_ADDRESS,
104
+ liquidatorGate: constants_1.ZERO_ADDRESS,
100
105
  marketId: '0x43d6120738c57b2bc5835901f8250fdf7fc8054efbb006c6ccba61ec898e5ed9',
101
106
  protocolName: 'morpho-midnight',
107
+ curator: 'Morpho',
102
108
  });
103
109
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030;
104
110
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -107,20 +113,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = (networkId = types_1.NetworkNumb
107
113
  shortLabel: 'cbBTC/USDC',
108
114
  url: 'cbbtc-usdc-20261127',
109
115
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base,
110
- midnight: MIDNIGHT_BASE,
111
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
116
+ midnight: exports.MIDNIGHT_BASE,
117
+ loanToken: USDC_BASE,
112
118
  collaterals: [{
113
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
119
+ token: CBBTC_BASE,
114
120
  lltv: 0.86,
115
121
  liquidationCursor: '300000000000000000',
116
122
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
117
123
  }],
118
124
  maturity: 1795791600, // 2026-11-27T15:00:00Z
119
125
  rcfThreshold: '3000000000',
120
- enterGate: ZERO_ADDRESS,
121
- liquidatorGate: ZERO_ADDRESS,
126
+ enterGate: constants_1.ZERO_ADDRESS,
127
+ liquidatorGate: constants_1.ZERO_ADDRESS,
122
128
  marketId: '0xe1878eec035b601f301484e63a49a428f8e008e2bf57a2fd88a3fc3a4c1b1acd',
123
129
  protocolName: 'morpho-midnight',
130
+ curator: 'Morpho',
124
131
  });
125
132
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127;
126
133
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -129,31 +136,416 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = types_1.NetworkNumb
129
136
  shortLabel: 'cbBTC/USDC',
130
137
  url: 'cbbtc-usdc-20261225',
131
138
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base,
132
- midnight: MIDNIGHT_BASE,
133
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
139
+ midnight: exports.MIDNIGHT_BASE,
140
+ loanToken: USDC_BASE,
134
141
  collaterals: [{
135
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
142
+ token: CBBTC_BASE,
136
143
  lltv: 0.86,
137
144
  liquidationCursor: '300000000000000000',
138
145
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
139
146
  }],
140
147
  maturity: 1798210800, // 2026-12-25T15:00:00Z
141
148
  rcfThreshold: '3000000000',
142
- enterGate: ZERO_ADDRESS,
143
- liquidatorGate: ZERO_ADDRESS,
149
+ enterGate: constants_1.ZERO_ADDRESS,
150
+ liquidatorGate: constants_1.ZERO_ADDRESS,
144
151
  marketId: '0x9593c3a6dba45b6106af8dc8b45ba8c505d90d3d68a3d33f7c278dd921b637da',
145
152
  protocolName: 'morpho-midnight',
153
+ curator: 'Morpho',
146
154
  });
147
155
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225;
156
+ // ── Tenor-curated ────────────────────────────────────────────────────────────────────────────────
157
+ // Tenor Midnight markets are the same structs as Morpho's (`MorphoMidnightMarketData`), on the same core
158
+ // contract; only the order book differs. Identify them on Morpho's `/v0/midnight/markets` by `market_id`
159
+ // = Tenor's `fixedMarketIdentifier`; they come back `listed: false`, meaning Tenor — not Morpho — serves
160
+ // the book.
161
+ //
162
+ // Every market below is verified against `MidnightView.toMarket(marketId)` on Base: core address,
163
+ // maturity, rcfThreshold, loan token, gates and collaterals all match. On-chain each market carries **two**
164
+ // collaterals — the pair's own token at index 0, and Tenor's ERC-4626 vault at index 1 (98% LLTV; the
165
+ // `metadata.vault` of the parent tenor market, listed at
166
+ // https://www.docs.tenor.finance/technical-docs/addresses/#vaults). The vault is not an asset the app
167
+ // deals in, so these are modelled as single-collateral markets: the app supplies and prices index 0, and
168
+ // the SDK reads `prices[i]` / `collateral[i]` positionally, so listing the primary alone keeps those
169
+ // lookups aligned. The on-chain take path is unaffected — offer tuples carry the market's full collateral
170
+ // set straight from the router's offer JSON, which is what the market hash is built from.
171
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = (networkId = types_1.NetworkNumber.Base) => ({
172
+ chainIds: [types_1.NetworkNumber.Base],
173
+ label: 'Tenor cbBTC/USDC',
174
+ shortLabel: 'Tenor cbBTC/USDC',
175
+ url: 'tenor-cbbtc-usdc-20260827',
176
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base,
177
+ midnight: exports.MIDNIGHT_BASE,
178
+ loanToken: USDC_BASE,
179
+ collaterals: [{
180
+ token: CBBTC_BASE,
181
+ lltv: 0.86,
182
+ liquidationCursor: '300000000000000000',
183
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
184
+ }],
185
+ maturity: 1787788800, // 2026-08-27T00:00:00Z
186
+ rcfThreshold: '3000000000',
187
+ enterGate: constants_1.ZERO_ADDRESS,
188
+ liquidatorGate: constants_1.ZERO_ADDRESS,
189
+ marketId: '0x44495af1cca7842191a65a73978e01ed72238731e193c3b11460083efd60a318',
190
+ protocolName: 'morpho-midnight',
191
+ curator: 'Tenor',
192
+ });
193
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827;
194
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = (networkId = types_1.NetworkNumber.Base) => ({
195
+ chainIds: [types_1.NetworkNumber.Base],
196
+ label: 'Tenor cbBTC/USDC',
197
+ shortLabel: 'Tenor cbBTC/USDC',
198
+ url: 'tenor-cbbtc-usdc-20260924',
199
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base,
200
+ midnight: exports.MIDNIGHT_BASE,
201
+ loanToken: USDC_BASE,
202
+ collaterals: [{
203
+ token: CBBTC_BASE,
204
+ lltv: 0.86,
205
+ liquidationCursor: '300000000000000000',
206
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
207
+ }],
208
+ maturity: 1790208000, // 2026-09-24T00:00:00Z
209
+ rcfThreshold: '3000000000',
210
+ enterGate: constants_1.ZERO_ADDRESS,
211
+ liquidatorGate: constants_1.ZERO_ADDRESS,
212
+ marketId: '0x99fbed74bc7cef3c90d68709d8de8f820261a45875ca197a0e65338affd09481',
213
+ protocolName: 'morpho-midnight',
214
+ curator: 'Tenor',
215
+ });
216
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924;
217
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = (networkId = types_1.NetworkNumber.Base) => ({
218
+ chainIds: [types_1.NetworkNumber.Base],
219
+ label: 'Tenor cbBTC/USDC',
220
+ shortLabel: 'Tenor cbBTC/USDC',
221
+ url: 'tenor-cbbtc-usdc-20261022',
222
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261022_Base,
223
+ midnight: exports.MIDNIGHT_BASE,
224
+ loanToken: USDC_BASE,
225
+ collaterals: [{
226
+ token: CBBTC_BASE,
227
+ lltv: 0.86,
228
+ liquidationCursor: '300000000000000000',
229
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
230
+ }],
231
+ maturity: 1792627200, // 2026-10-22T00:00:00Z
232
+ rcfThreshold: '3000000000',
233
+ enterGate: constants_1.ZERO_ADDRESS,
234
+ liquidatorGate: constants_1.ZERO_ADDRESS,
235
+ marketId: '0x2f4f088f20c0bebe6167f8c9d7aec11115c08eb73486b6f9642f7c7260d4d094',
236
+ protocolName: 'morpho-midnight',
237
+ curator: 'Tenor',
238
+ });
239
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022;
240
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = (networkId = types_1.NetworkNumber.Base) => ({
241
+ chainIds: [types_1.NetworkNumber.Base],
242
+ label: 'Tenor cbBTC/USDC',
243
+ shortLabel: 'Tenor cbBTC/USDC',
244
+ url: 'tenor-cbbtc-usdc-20261119',
245
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261119_Base,
246
+ midnight: exports.MIDNIGHT_BASE,
247
+ loanToken: USDC_BASE,
248
+ collaterals: [{
249
+ token: CBBTC_BASE,
250
+ lltv: 0.86,
251
+ liquidationCursor: '300000000000000000',
252
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
253
+ }],
254
+ maturity: 1795046400, // 2026-11-19T00:00:00Z
255
+ rcfThreshold: '3000000000',
256
+ enterGate: constants_1.ZERO_ADDRESS,
257
+ liquidatorGate: constants_1.ZERO_ADDRESS,
258
+ marketId: '0x776e8d667a394650c21615c9b5a9b5355f4aa777db3cebaebb057ffba588c7af',
259
+ protocolName: 'morpho-midnight',
260
+ curator: 'Tenor',
261
+ });
262
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119;
263
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = (networkId = types_1.NetworkNumber.Base) => ({
264
+ chainIds: [types_1.NetworkNumber.Base],
265
+ label: 'Tenor cbBTC/USDC',
266
+ shortLabel: 'Tenor cbBTC/USDC',
267
+ url: 'tenor-cbbtc-usdc-20261217',
268
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261217_Base,
269
+ midnight: exports.MIDNIGHT_BASE,
270
+ loanToken: USDC_BASE,
271
+ collaterals: [{
272
+ token: CBBTC_BASE,
273
+ lltv: 0.86,
274
+ liquidationCursor: '300000000000000000',
275
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
276
+ }],
277
+ maturity: 1797465600, // 2026-12-17T00:00:00Z
278
+ rcfThreshold: '3000000000',
279
+ enterGate: constants_1.ZERO_ADDRESS,
280
+ liquidatorGate: constants_1.ZERO_ADDRESS,
281
+ marketId: '0xd82863083585d715a2e0d8ed61e0e20e4f6c566171d3bfed513ad55797177b17',
282
+ protocolName: 'morpho-midnight',
283
+ curator: 'Tenor',
284
+ });
285
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217;
286
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = (networkId = types_1.NetworkNumber.Base) => ({
287
+ chainIds: [types_1.NetworkNumber.Base],
288
+ label: 'Tenor WETH/USDC',
289
+ shortLabel: 'Tenor WETH/USDC',
290
+ url: 'tenor-weth-usdc-20260827',
291
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260827_Base,
292
+ midnight: exports.MIDNIGHT_BASE,
293
+ loanToken: USDC_BASE,
294
+ collaterals: [{
295
+ token: WETH_BASE,
296
+ lltv: 0.86,
297
+ liquidationCursor: '300000000000000000',
298
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
299
+ }],
300
+ maturity: 1787788800,
301
+ rcfThreshold: '3000000000',
302
+ enterGate: constants_1.ZERO_ADDRESS,
303
+ liquidatorGate: constants_1.ZERO_ADDRESS,
304
+ marketId: '0xf27319855df886a604dda3d5675007f0aa6eee504c99f1d789c86b21075f7c20',
305
+ protocolName: 'morpho-midnight',
306
+ curator: 'Tenor',
307
+ });
308
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827;
309
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = (networkId = types_1.NetworkNumber.Base) => ({
310
+ chainIds: [types_1.NetworkNumber.Base],
311
+ label: 'Tenor WETH/USDC',
312
+ shortLabel: 'Tenor WETH/USDC',
313
+ url: 'tenor-weth-usdc-20260924',
314
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260924_Base,
315
+ midnight: exports.MIDNIGHT_BASE,
316
+ loanToken: USDC_BASE,
317
+ collaterals: [{
318
+ token: WETH_BASE,
319
+ lltv: 0.86,
320
+ liquidationCursor: '300000000000000000',
321
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
322
+ }],
323
+ maturity: 1790208000,
324
+ rcfThreshold: '3000000000',
325
+ enterGate: constants_1.ZERO_ADDRESS,
326
+ liquidatorGate: constants_1.ZERO_ADDRESS,
327
+ marketId: '0x9b7fed2a6b24c47b8995dfa4fb2b4bc87fe245c10fb842865e568611a96804aa',
328
+ protocolName: 'morpho-midnight',
329
+ curator: 'Tenor',
330
+ });
331
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924;
332
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = (networkId = types_1.NetworkNumber.Base) => ({
333
+ chainIds: [types_1.NetworkNumber.Base],
334
+ label: 'Tenor WETH/USDC',
335
+ shortLabel: 'Tenor WETH/USDC',
336
+ url: 'tenor-weth-usdc-20261022',
337
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base,
338
+ midnight: exports.MIDNIGHT_BASE,
339
+ loanToken: USDC_BASE,
340
+ collaterals: [{
341
+ token: WETH_BASE,
342
+ lltv: 0.86,
343
+ liquidationCursor: '300000000000000000',
344
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
345
+ }],
346
+ maturity: 1792627200,
347
+ rcfThreshold: '3000000000',
348
+ enterGate: constants_1.ZERO_ADDRESS,
349
+ liquidatorGate: constants_1.ZERO_ADDRESS,
350
+ marketId: '0xfc2562129c7d538fcb6b2490d07aa5c69971d9d0b75e2f9bbf054ef99a311474',
351
+ protocolName: 'morpho-midnight',
352
+ curator: 'Tenor',
353
+ });
354
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022;
355
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = (networkId = types_1.NetworkNumber.Base) => ({
356
+ chainIds: [types_1.NetworkNumber.Base],
357
+ label: 'Tenor WETH/USDC',
358
+ shortLabel: 'Tenor WETH/USDC',
359
+ url: 'tenor-weth-usdc-20261119',
360
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base,
361
+ midnight: exports.MIDNIGHT_BASE,
362
+ loanToken: USDC_BASE,
363
+ collaterals: [{
364
+ token: WETH_BASE,
365
+ lltv: 0.86,
366
+ liquidationCursor: '300000000000000000',
367
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
368
+ }],
369
+ maturity: 1795046400,
370
+ rcfThreshold: '3000000000',
371
+ enterGate: constants_1.ZERO_ADDRESS,
372
+ liquidatorGate: constants_1.ZERO_ADDRESS,
373
+ marketId: '0x8da96adc9a55288bda5f07eb062d501db04d0fa152dd0f78341f6232bc4f884d',
374
+ protocolName: 'morpho-midnight',
375
+ curator: 'Tenor',
376
+ });
377
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119;
378
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = (networkId = types_1.NetworkNumber.Base) => ({
379
+ chainIds: [types_1.NetworkNumber.Base],
380
+ label: 'Tenor WETH/USDC',
381
+ shortLabel: 'Tenor WETH/USDC',
382
+ url: 'tenor-weth-usdc-20261217',
383
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base,
384
+ midnight: exports.MIDNIGHT_BASE,
385
+ loanToken: USDC_BASE,
386
+ collaterals: [{
387
+ token: WETH_BASE,
388
+ lltv: 0.86,
389
+ liquidationCursor: '300000000000000000',
390
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
391
+ }],
392
+ maturity: 1797465600,
393
+ rcfThreshold: '3000000000',
394
+ enterGate: constants_1.ZERO_ADDRESS,
395
+ liquidatorGate: constants_1.ZERO_ADDRESS,
396
+ marketId: '0x24684af2c2c9edaa0ab4472dd9b8cc238aa33b7cc8151ae02fe614536f91af86',
397
+ protocolName: 'morpho-midnight',
398
+ curator: 'Tenor',
399
+ });
400
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217;
401
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = (networkId = types_1.NetworkNumber.Base) => ({
402
+ chainIds: [types_1.NetworkNumber.Base],
403
+ label: 'Tenor cbETH/WETH',
404
+ shortLabel: 'Tenor cbETH/WETH',
405
+ url: 'tenor-cbeth-weth-20260827',
406
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base,
407
+ midnight: exports.MIDNIGHT_BASE,
408
+ loanToken: WETH_BASE,
409
+ collaterals: [{
410
+ token: CBETH_BASE,
411
+ lltv: 0.945,
412
+ liquidationCursor: '300000000000000000',
413
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
414
+ }],
415
+ maturity: 1787788800,
416
+ rcfThreshold: '4000000000000000000',
417
+ enterGate: constants_1.ZERO_ADDRESS,
418
+ liquidatorGate: constants_1.ZERO_ADDRESS,
419
+ marketId: '0x13cdfedf56f731817322c6932b48f496da937c36a51c7178ac63ed915d02fc98',
420
+ protocolName: 'morpho-midnight',
421
+ curator: 'Tenor',
422
+ });
423
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827;
424
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = (networkId = types_1.NetworkNumber.Base) => ({
425
+ chainIds: [types_1.NetworkNumber.Base],
426
+ label: 'Tenor cbETH/WETH',
427
+ shortLabel: 'Tenor cbETH/WETH',
428
+ url: 'tenor-cbeth-weth-20260924',
429
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base,
430
+ midnight: exports.MIDNIGHT_BASE,
431
+ loanToken: WETH_BASE,
432
+ collaterals: [{
433
+ token: CBETH_BASE,
434
+ lltv: 0.945,
435
+ liquidationCursor: '300000000000000000',
436
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
437
+ }],
438
+ maturity: 1790208000,
439
+ rcfThreshold: '4000000000000000000',
440
+ enterGate: constants_1.ZERO_ADDRESS,
441
+ liquidatorGate: constants_1.ZERO_ADDRESS,
442
+ marketId: '0x74e310372280cc5c648a1f185db1ee906d2985a7dab8119568a9213f083efec0',
443
+ protocolName: 'morpho-midnight',
444
+ curator: 'Tenor',
445
+ });
446
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924;
447
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = (networkId = types_1.NetworkNumber.Base) => ({
448
+ chainIds: [types_1.NetworkNumber.Base],
449
+ label: 'Tenor cbETH/WETH',
450
+ shortLabel: 'Tenor cbETH/WETH',
451
+ url: 'tenor-cbeth-weth-20261022',
452
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base,
453
+ midnight: exports.MIDNIGHT_BASE,
454
+ loanToken: WETH_BASE,
455
+ collaterals: [{
456
+ token: CBETH_BASE,
457
+ lltv: 0.945,
458
+ liquidationCursor: '300000000000000000',
459
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
460
+ }],
461
+ maturity: 1792627200,
462
+ rcfThreshold: '4000000000000000000',
463
+ enterGate: constants_1.ZERO_ADDRESS,
464
+ liquidatorGate: constants_1.ZERO_ADDRESS,
465
+ marketId: '0xcfce553a004af262e842c1b83cdfc01835bb83fbee7a8128f9b91663e2ebaf43',
466
+ protocolName: 'morpho-midnight',
467
+ curator: 'Tenor',
468
+ });
469
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022;
470
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = (networkId = types_1.NetworkNumber.Base) => ({
471
+ chainIds: [types_1.NetworkNumber.Base],
472
+ label: 'Tenor cbETH/WETH',
473
+ shortLabel: 'Tenor cbETH/WETH',
474
+ url: 'tenor-cbeth-weth-20261119',
475
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base,
476
+ midnight: exports.MIDNIGHT_BASE,
477
+ loanToken: WETH_BASE,
478
+ collaterals: [{
479
+ token: CBETH_BASE,
480
+ lltv: 0.945,
481
+ liquidationCursor: '300000000000000000',
482
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
483
+ }],
484
+ maturity: 1795046400,
485
+ rcfThreshold: '4000000000000000000',
486
+ enterGate: constants_1.ZERO_ADDRESS,
487
+ liquidatorGate: constants_1.ZERO_ADDRESS,
488
+ marketId: '0xb1aa171a525fa9f3333ed47d816170930e9a1a83a1816a6b44ee0d89e1610691',
489
+ protocolName: 'morpho-midnight',
490
+ curator: 'Tenor',
491
+ });
492
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119;
493
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = types_1.NetworkNumber.Base) => ({
494
+ chainIds: [types_1.NetworkNumber.Base],
495
+ label: 'Tenor cbETH/WETH',
496
+ shortLabel: 'Tenor cbETH/WETH',
497
+ url: 'tenor-cbeth-weth-20261217',
498
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base,
499
+ midnight: exports.MIDNIGHT_BASE,
500
+ loanToken: WETH_BASE,
501
+ collaterals: [{
502
+ token: CBETH_BASE,
503
+ lltv: 0.945,
504
+ liquidationCursor: '300000000000000000',
505
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
506
+ }],
507
+ maturity: 1797465600,
508
+ rcfThreshold: '4000000000000000000',
509
+ enterGate: constants_1.ZERO_ADDRESS,
510
+ liquidatorGate: constants_1.ZERO_ADDRESS,
511
+ marketId: '0x001f992fd7dbc6f0fee600f1b1c627c4a7b6d70762043221a514b57f8df37cb7',
512
+ protocolName: 'morpho-midnight',
513
+ curator: 'Tenor',
514
+ });
515
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217;
148
516
  const MorphoMidnightMarkets = (networkId) => ({
149
- // BASE
517
+ // BASE — Morpho-curated
150
518
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731)(networkId),
151
519
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260828_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828)(networkId),
152
520
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925)(networkId),
153
521
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030)(networkId),
154
522
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127)(networkId),
155
523
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225)(networkId),
524
+ // BASE — Tenor-curated
525
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827)(networkId),
526
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924)(networkId),
527
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022)(networkId),
528
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119)(networkId),
529
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217)(networkId),
530
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827)(networkId),
531
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924)(networkId),
532
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022)(networkId),
533
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119)(networkId),
534
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217)(networkId),
535
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827)(networkId),
536
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924)(networkId),
537
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022)(networkId),
538
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119)(networkId),
539
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217)(networkId),
156
540
  });
157
541
  exports.MorphoMidnightMarkets = MorphoMidnightMarkets;
542
+ // Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
543
+ const TENOR_MARKET_IDS = new Set(Object.values((0, exports.MorphoMidnightMarkets)(types_1.NetworkNumber.Base))
544
+ .filter((market) => market.curator === 'Tenor')
545
+ .map((market) => market.marketId.toLowerCase()));
546
+ const isTenorMidnightMarket = (market) => (typeof market === 'string'
547
+ ? TENOR_MARKET_IDS.has(market.toLowerCase())
548
+ : market.curator === 'Tenor');
549
+ exports.isTenorMidnightMarket = isTenorMidnightMarket;
158
550
  const findMorphoMidnightMarket = (marketId, network = types_1.NetworkNumber.Base) => Object.values((0, exports.MorphoMidnightMarkets)(network)).find((market) => market.marketId.toLowerCase() === marketId.toLowerCase());
159
551
  exports.findMorphoMidnightMarket = findMorphoMidnightMarket;
@@ -5,8 +5,24 @@ export declare enum MorphoMidnightVersions {
5
5
  MorphoMidnightCbBTCUSDC_860_20260925_Base = "morphomidnightcbbtcusdc_860_20260925_base",
6
6
  MorphoMidnightCbBTCUSDC_860_20261030_Base = "morphomidnightcbbtcusdc_860_20261030_base",
7
7
  MorphoMidnightCbBTCUSDC_860_20261127_Base = "morphomidnightcbbtcusdc_860_20261127_base",
8
- MorphoMidnightCbBTCUSDC_860_20261225_Base = "morphomidnightcbbtcusdc_860_20261225_base"
8
+ MorphoMidnightCbBTCUSDC_860_20261225_Base = "morphomidnightcbbtcusdc_860_20261225_base",
9
+ MorphoMidnightTenorCbBTCUSDC_20260827_Base = "morphomidnighttenorcbbtcusdc_20260827_base",
10
+ MorphoMidnightTenorCbBTCUSDC_20260924_Base = "morphomidnighttenorcbbtcusdc_20260924_base",
11
+ MorphoMidnightTenorCbBTCUSDC_20261022_Base = "morphomidnighttenorcbbtcusdc_20261022_base",
12
+ MorphoMidnightTenorCbBTCUSDC_20261119_Base = "morphomidnighttenorcbbtcusdc_20261119_base",
13
+ MorphoMidnightTenorCbBTCUSDC_20261217_Base = "morphomidnighttenorcbbtcusdc_20261217_base",
14
+ MorphoMidnightTenorWETHUSDC_20260827_Base = "morphomidnighttenorwethusdc_20260827_base",
15
+ MorphoMidnightTenorWETHUSDC_20260924_Base = "morphomidnighttenorwethusdc_20260924_base",
16
+ MorphoMidnightTenorWETHUSDC_20261022_Base = "morphomidnighttenorwethusdc_20261022_base",
17
+ MorphoMidnightTenorWETHUSDC_20261119_Base = "morphomidnighttenorwethusdc_20261119_base",
18
+ MorphoMidnightTenorWETHUSDC_20261217_Base = "morphomidnighttenorwethusdc_20261217_base",
19
+ MorphoMidnightTenorCbETHWETH_20260827_Base = "morphomidnighttenorcbethweth_20260827_base",
20
+ MorphoMidnightTenorCbETHWETH_20260924_Base = "morphomidnighttenorcbethweth_20260924_base",
21
+ MorphoMidnightTenorCbETHWETH_20261022_Base = "morphomidnighttenorcbethweth_20261022_base",
22
+ MorphoMidnightTenorCbETHWETH_20261119_Base = "morphomidnighttenorcbethweth_20261119_base",
23
+ MorphoMidnightTenorCbETHWETH_20261217_Base = "morphomidnighttenorcbethweth_20261217_base"
9
24
  }
25
+ export type MorphoMidnightCurator = 'Morpho' | 'Tenor';
10
26
  export interface MorphoMidnightCollateralParams {
11
27
  token: EthAddress;
12
28
  lltv: number | string;
@@ -28,6 +44,7 @@ export interface MorphoMidnightMarketData {
28
44
  liquidatorGate: EthAddress;
29
45
  marketId: string;
30
46
  protocolName: string;
47
+ curator: MorphoMidnightCurator;
31
48
  }
32
49
  export interface MorphoMidnightAssetData {
33
50
  symbol: string;
@@ -12,4 +12,20 @@ var MorphoMidnightVersions;
12
12
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261030_Base"] = "morphomidnightcbbtcusdc_860_20261030_base";
13
13
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261127_Base"] = "morphomidnightcbbtcusdc_860_20261127_base";
14
14
  MorphoMidnightVersions["MorphoMidnightCbBTCUSDC_860_20261225_Base"] = "morphomidnightcbbtcusdc_860_20261225_base";
15
+ // Tenor-hosted Midnight markets (same core, different order book)
16
+ MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20260827_Base"] = "morphomidnighttenorcbbtcusdc_20260827_base";
17
+ MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20260924_Base"] = "morphomidnighttenorcbbtcusdc_20260924_base";
18
+ MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20261022_Base"] = "morphomidnighttenorcbbtcusdc_20261022_base";
19
+ MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20261119_Base"] = "morphomidnighttenorcbbtcusdc_20261119_base";
20
+ MorphoMidnightVersions["MorphoMidnightTenorCbBTCUSDC_20261217_Base"] = "morphomidnighttenorcbbtcusdc_20261217_base";
21
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260827_Base"] = "morphomidnighttenorwethusdc_20260827_base";
22
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20260924_Base"] = "morphomidnighttenorwethusdc_20260924_base";
23
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261022_Base"] = "morphomidnighttenorwethusdc_20261022_base";
24
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261119_Base"] = "morphomidnighttenorwethusdc_20261119_base";
25
+ MorphoMidnightVersions["MorphoMidnightTenorWETHUSDC_20261217_Base"] = "morphomidnighttenorwethusdc_20261217_base";
26
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260827_Base"] = "morphomidnighttenorcbethweth_20260827_base";
27
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20260924_Base"] = "morphomidnighttenorcbethweth_20260924_base";
28
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261022_Base"] = "morphomidnighttenorcbethweth_20261022_base";
29
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261119_Base"] = "morphomidnighttenorcbethweth_20261119_base";
30
+ MorphoMidnightVersions["MorphoMidnightTenorCbETHWETH_20261217_Base"] = "morphomidnighttenorcbethweth_20261217_base";
15
31
  })(MorphoMidnightVersions || (exports.MorphoMidnightVersions = MorphoMidnightVersions = {}));
@@ -6,6 +6,7 @@ export declare const SECONDS_PER_WEEK: number;
6
6
  export declare const AVG_BLOCK_TIME = 12;
7
7
  export declare const BLOCKS_IN_A_YEAR: number;
8
8
  export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
9
+ export declare const ZERO_BYTES32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
9
10
  export declare const WAD = 1000000000000000000;
10
11
  export declare const USD_QUOTE = "0x0000000000000000000000000000000000000348";
11
12
  export declare const borrowOperations: string[];