@defisaver/positions-sdk 2.1.127-midnight-5-dev → 2.1.127-midnight-7-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 +3 -1
  11. package/cjs/markets/morphoMidnight/index.d.ts +45 -1
  12. package/cjs/markets/morphoMidnight/index.js +542 -42
  13. package/cjs/types/morphoMidnight.d.ts +22 -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 +45 -1
  26. package/esm/markets/morphoMidnight/index.js +507 -24
  27. package/esm/types/morphoMidnight.d.ts +22 -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 +3 -1
  35. package/src/markets/morphoMidnight/index.ts +538 -24
  36. package/src/types/morphoMidnight.ts +23 -0
@@ -1,17 +1,25 @@
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.morphoMidnightMarketCollateralParams = exports.findMorphoMidnightMarket = exports.isTenorMidnightMarket = exports.MorphoMidnightMarkets = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = exports.MIDNIGHT_BASE = void 0;
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
+ // Tenor's ERC-4626 collateral vaults, one per pair and shared by that pair's whole maturity ladder. Each
17
+ // is a collateral of its markets on-chain without being an asset the app deals in — see the note above
18
+ // the Tenor markets below, and https://www.docs.tenor.finance/technical-docs/addresses/#vaults.
19
+ const TENOR_CBBTC_USDC_VAULT_BASE = '0xf6a70085b7f79FA76B04EbF7A2D7D87C3c5c04BC';
20
+ const TENOR_WETH_USDC_VAULT_BASE = '0xe690a58EF52854513462745237F6A213a0d54dF1';
21
+ const TENOR_CBETH_WETH_VAULT_BASE = '0xFa750DD0099eAdB72d401244De73ce7B89edf90F';
22
+ // Sourced from the official listing at https://markets.morpho.org/fixed/base
15
23
  // BASE — USDC/cbBTC, 86% LLTV, monthly maturity ladder
16
24
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = (networkId = types_1.NetworkNumber.Base) => ({
17
25
  chainIds: [types_1.NetworkNumber.Base],
@@ -19,20 +27,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = (networkId = types_1.NetworkNumb
19
27
  shortLabel: 'cbBTC/USDC',
20
28
  url: 'cbbtc-usdc-20260731',
21
29
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base,
22
- midnight: MIDNIGHT_BASE,
23
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
30
+ midnight: exports.MIDNIGHT_BASE,
31
+ loanToken: USDC_BASE,
24
32
  collaterals: [{
25
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
33
+ token: CBBTC_BASE,
26
34
  lltv: 0.86,
27
35
  liquidationCursor: '300000000000000000',
28
36
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
29
37
  }],
30
38
  maturity: 1785510000, // 2026-07-31T15:00:00Z
31
39
  rcfThreshold: '3000000000',
32
- enterGate: ZERO_ADDRESS,
33
- liquidatorGate: ZERO_ADDRESS,
40
+ enterGate: constants_1.ZERO_ADDRESS,
41
+ liquidatorGate: constants_1.ZERO_ADDRESS,
34
42
  marketId: '0x168e31250e0008b50d2255a5ab85e0265acd6c12e4f9a1336134b36a65a47937',
35
43
  protocolName: 'morpho-midnight',
44
+ curator: 'Morpho',
36
45
  });
37
46
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731;
38
47
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -41,20 +50,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = (networkId = types_1.NetworkNumb
41
50
  shortLabel: 'cbBTC/USDC',
42
51
  url: 'cbbtc-usdc-20260828',
43
52
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260828_Base,
44
- midnight: MIDNIGHT_BASE,
45
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
53
+ midnight: exports.MIDNIGHT_BASE,
54
+ loanToken: USDC_BASE,
46
55
  collaterals: [{
47
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
56
+ token: CBBTC_BASE,
48
57
  lltv: 0.86,
49
58
  liquidationCursor: '300000000000000000',
50
59
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
51
60
  }],
52
61
  maturity: 1787929200, // 2026-08-28T15:00:00Z
53
62
  rcfThreshold: '3000000000',
54
- enterGate: ZERO_ADDRESS,
55
- liquidatorGate: ZERO_ADDRESS,
63
+ enterGate: constants_1.ZERO_ADDRESS,
64
+ liquidatorGate: constants_1.ZERO_ADDRESS,
56
65
  marketId: '0x05959752fdeff325962b9d263edb421efc6e2186a49360dba6c32e86ebf6c84c',
57
66
  protocolName: 'morpho-midnight',
67
+ curator: 'Morpho',
58
68
  });
59
69
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828;
60
70
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -63,20 +73,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = (networkId = types_1.NetworkNumb
63
73
  shortLabel: 'cbBTC/USDC',
64
74
  url: 'cbbtc-usdc-20260925',
65
75
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Base,
66
- midnight: MIDNIGHT_BASE,
67
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
76
+ midnight: exports.MIDNIGHT_BASE,
77
+ loanToken: USDC_BASE,
68
78
  collaterals: [{
69
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
79
+ token: CBBTC_BASE,
70
80
  lltv: 0.86,
71
81
  liquidationCursor: '300000000000000000',
72
82
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
73
83
  }],
74
84
  maturity: 1790348400, // 2026-09-25T15:00:00Z
75
85
  rcfThreshold: '3000000000',
76
- enterGate: ZERO_ADDRESS,
77
- liquidatorGate: ZERO_ADDRESS,
86
+ enterGate: constants_1.ZERO_ADDRESS,
87
+ liquidatorGate: constants_1.ZERO_ADDRESS,
78
88
  marketId: '0x549cd072daf99328554f3a6d2d4d6f4a07f1c59369e891e6391946f9cf75f221',
79
89
  protocolName: 'morpho-midnight',
90
+ curator: 'Morpho',
80
91
  });
81
92
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925;
82
93
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -85,20 +96,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = (networkId = types_1.NetworkNumb
85
96
  shortLabel: 'cbBTC/USDC',
86
97
  url: 'cbbtc-usdc-20261030',
87
98
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base,
88
- midnight: MIDNIGHT_BASE,
89
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
99
+ midnight: exports.MIDNIGHT_BASE,
100
+ loanToken: USDC_BASE,
90
101
  collaterals: [{
91
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
102
+ token: CBBTC_BASE,
92
103
  lltv: 0.86,
93
104
  liquidationCursor: '300000000000000000',
94
105
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
95
106
  }],
96
107
  maturity: 1793372400, // 2026-10-30T15:00:00Z
97
108
  rcfThreshold: '3000000000',
98
- enterGate: ZERO_ADDRESS,
99
- liquidatorGate: ZERO_ADDRESS,
109
+ enterGate: constants_1.ZERO_ADDRESS,
110
+ liquidatorGate: constants_1.ZERO_ADDRESS,
100
111
  marketId: '0x43d6120738c57b2bc5835901f8250fdf7fc8054efbb006c6ccba61ec898e5ed9',
101
112
  protocolName: 'morpho-midnight',
113
+ curator: 'Morpho',
102
114
  });
103
115
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030;
104
116
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -107,20 +119,21 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = (networkId = types_1.NetworkNumb
107
119
  shortLabel: 'cbBTC/USDC',
108
120
  url: 'cbbtc-usdc-20261127',
109
121
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base,
110
- midnight: MIDNIGHT_BASE,
111
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
122
+ midnight: exports.MIDNIGHT_BASE,
123
+ loanToken: USDC_BASE,
112
124
  collaterals: [{
113
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
125
+ token: CBBTC_BASE,
114
126
  lltv: 0.86,
115
127
  liquidationCursor: '300000000000000000',
116
128
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
117
129
  }],
118
130
  maturity: 1795791600, // 2026-11-27T15:00:00Z
119
131
  rcfThreshold: '3000000000',
120
- enterGate: ZERO_ADDRESS,
121
- liquidatorGate: ZERO_ADDRESS,
132
+ enterGate: constants_1.ZERO_ADDRESS,
133
+ liquidatorGate: constants_1.ZERO_ADDRESS,
122
134
  marketId: '0xe1878eec035b601f301484e63a49a428f8e008e2bf57a2fd88a3fc3a4c1b1acd',
123
135
  protocolName: 'morpho-midnight',
136
+ curator: 'Morpho',
124
137
  });
125
138
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127;
126
139
  const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = types_1.NetworkNumber.Base) => ({
@@ -129,31 +142,518 @@ const MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = (networkId = types_1.NetworkNumb
129
142
  shortLabel: 'cbBTC/USDC',
130
143
  url: 'cbbtc-usdc-20261225',
131
144
  value: types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base,
132
- midnight: MIDNIGHT_BASE,
133
- loanToken: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
145
+ midnight: exports.MIDNIGHT_BASE,
146
+ loanToken: USDC_BASE,
134
147
  collaterals: [{
135
- token: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf', // cbBTC
148
+ token: CBBTC_BASE,
136
149
  lltv: 0.86,
137
150
  liquidationCursor: '300000000000000000',
138
151
  oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
139
152
  }],
140
153
  maturity: 1798210800, // 2026-12-25T15:00:00Z
141
154
  rcfThreshold: '3000000000',
142
- enterGate: ZERO_ADDRESS,
143
- liquidatorGate: ZERO_ADDRESS,
155
+ enterGate: constants_1.ZERO_ADDRESS,
156
+ liquidatorGate: constants_1.ZERO_ADDRESS,
144
157
  marketId: '0x9593c3a6dba45b6106af8dc8b45ba8c505d90d3d68a3d33f7c278dd921b637da',
145
158
  protocolName: 'morpho-midnight',
159
+ curator: 'Morpho',
146
160
  });
147
161
  exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225 = MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225;
162
+ // ── Tenor-curated ────────────────────────────────────────────────────────────────────────────────
163
+ // Tenor Midnight markets are the same structs as Morpho's (`MorphoMidnightMarketData`), on the same core
164
+ // contract; only the order book differs. Identify them on Morpho's `/v0/midnight/markets` by `market_id`
165
+ // = Tenor's `fixedMarketIdentifier`; they come back `listed: false`, meaning Tenor — not Morpho — serves
166
+ // the book.
167
+ //
168
+ // Every market below is verified against `MidnightView.toMarket(marketId)` on Base: core address,
169
+ // maturity, rcfThreshold, loan token, gates and collaterals all match. On-chain each market carries **two**
170
+ // collaterals — the pair's own token at index 0, and Tenor's ERC-4626 vault at index 1 (98% LLTV; the
171
+ // `metadata.vault` of the parent tenor market, listed at
172
+ // https://www.docs.tenor.finance/technical-docs/addresses/#vaults). The vault is not an asset the app
173
+ // deals in, so it is split out into `hiddenCollaterals` instead of `collaterals`: everything that renders
174
+ // or prices a position sees a single-collateral market, and because the vault stays the *suffix* of the
175
+ // set, the SDK's positional `prices[i]` / `collateral[i]` reads stay aligned with `collaterals`.
176
+ //
177
+ // It is only split out, never dropped: the market id is the hash of the full struct, so a `Market` handed
178
+ // to the core has to be `[...collaterals, ...hiddenCollaterals]` or the call addresses a market of its own
179
+ // making. The take path builds no struct — offer tuples carry the market's full collateral set straight
180
+ // from the router's offer JSON.
181
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = (networkId = types_1.NetworkNumber.Base) => ({
182
+ chainIds: [types_1.NetworkNumber.Base],
183
+ label: 'Tenor cbBTC/USDC',
184
+ shortLabel: 'Tenor cbBTC/USDC',
185
+ url: 'tenor-cbbtc-usdc-20260827',
186
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base,
187
+ midnight: exports.MIDNIGHT_BASE,
188
+ loanToken: USDC_BASE,
189
+ collaterals: [{
190
+ token: CBBTC_BASE,
191
+ lltv: 0.86,
192
+ liquidationCursor: '300000000000000000',
193
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
194
+ }],
195
+ hiddenCollaterals: [{
196
+ token: TENOR_CBBTC_USDC_VAULT_BASE,
197
+ lltv: 0.98,
198
+ liquidationCursor: '300000000000000000',
199
+ oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
200
+ }],
201
+ maturity: 1787788800, // 2026-08-27T00:00:00Z
202
+ rcfThreshold: '3000000000',
203
+ enterGate: constants_1.ZERO_ADDRESS,
204
+ liquidatorGate: constants_1.ZERO_ADDRESS,
205
+ marketId: '0x44495af1cca7842191a65a73978e01ed72238731e193c3b11460083efd60a318',
206
+ protocolName: 'morpho-midnight',
207
+ curator: 'Tenor',
208
+ });
209
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827;
210
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = (networkId = types_1.NetworkNumber.Base) => ({
211
+ chainIds: [types_1.NetworkNumber.Base],
212
+ label: 'Tenor cbBTC/USDC',
213
+ shortLabel: 'Tenor cbBTC/USDC',
214
+ url: 'tenor-cbbtc-usdc-20260924',
215
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base,
216
+ midnight: exports.MIDNIGHT_BASE,
217
+ loanToken: USDC_BASE,
218
+ collaterals: [{
219
+ token: CBBTC_BASE,
220
+ lltv: 0.86,
221
+ liquidationCursor: '300000000000000000',
222
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
223
+ }],
224
+ hiddenCollaterals: [{
225
+ token: TENOR_CBBTC_USDC_VAULT_BASE,
226
+ lltv: 0.98,
227
+ liquidationCursor: '300000000000000000',
228
+ oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
229
+ }],
230
+ maturity: 1790208000, // 2026-09-24T00:00:00Z
231
+ rcfThreshold: '3000000000',
232
+ enterGate: constants_1.ZERO_ADDRESS,
233
+ liquidatorGate: constants_1.ZERO_ADDRESS,
234
+ marketId: '0x99fbed74bc7cef3c90d68709d8de8f820261a45875ca197a0e65338affd09481',
235
+ protocolName: 'morpho-midnight',
236
+ curator: 'Tenor',
237
+ });
238
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924;
239
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = (networkId = types_1.NetworkNumber.Base) => ({
240
+ chainIds: [types_1.NetworkNumber.Base],
241
+ label: 'Tenor cbBTC/USDC',
242
+ shortLabel: 'Tenor cbBTC/USDC',
243
+ url: 'tenor-cbbtc-usdc-20261022',
244
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261022_Base,
245
+ midnight: exports.MIDNIGHT_BASE,
246
+ loanToken: USDC_BASE,
247
+ collaterals: [{
248
+ token: CBBTC_BASE,
249
+ lltv: 0.86,
250
+ liquidationCursor: '300000000000000000',
251
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
252
+ }],
253
+ hiddenCollaterals: [{
254
+ token: TENOR_CBBTC_USDC_VAULT_BASE,
255
+ lltv: 0.98,
256
+ liquidationCursor: '300000000000000000',
257
+ oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
258
+ }],
259
+ maturity: 1792627200, // 2026-10-22T00:00:00Z
260
+ rcfThreshold: '3000000000',
261
+ enterGate: constants_1.ZERO_ADDRESS,
262
+ liquidatorGate: constants_1.ZERO_ADDRESS,
263
+ marketId: '0x2f4f088f20c0bebe6167f8c9d7aec11115c08eb73486b6f9642f7c7260d4d094',
264
+ protocolName: 'morpho-midnight',
265
+ curator: 'Tenor',
266
+ });
267
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022;
268
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = (networkId = types_1.NetworkNumber.Base) => ({
269
+ chainIds: [types_1.NetworkNumber.Base],
270
+ label: 'Tenor cbBTC/USDC',
271
+ shortLabel: 'Tenor cbBTC/USDC',
272
+ url: 'tenor-cbbtc-usdc-20261119',
273
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261119_Base,
274
+ midnight: exports.MIDNIGHT_BASE,
275
+ loanToken: USDC_BASE,
276
+ collaterals: [{
277
+ token: CBBTC_BASE,
278
+ lltv: 0.86,
279
+ liquidationCursor: '300000000000000000',
280
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
281
+ }],
282
+ hiddenCollaterals: [{
283
+ token: TENOR_CBBTC_USDC_VAULT_BASE,
284
+ lltv: 0.98,
285
+ liquidationCursor: '300000000000000000',
286
+ oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
287
+ }],
288
+ maturity: 1795046400, // 2026-11-19T00:00:00Z
289
+ rcfThreshold: '3000000000',
290
+ enterGate: constants_1.ZERO_ADDRESS,
291
+ liquidatorGate: constants_1.ZERO_ADDRESS,
292
+ marketId: '0x776e8d667a394650c21615c9b5a9b5355f4aa777db3cebaebb057ffba588c7af',
293
+ protocolName: 'morpho-midnight',
294
+ curator: 'Tenor',
295
+ });
296
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119;
297
+ const MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = (networkId = types_1.NetworkNumber.Base) => ({
298
+ chainIds: [types_1.NetworkNumber.Base],
299
+ label: 'Tenor cbBTC/USDC',
300
+ shortLabel: 'Tenor cbBTC/USDC',
301
+ url: 'tenor-cbbtc-usdc-20261217',
302
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261217_Base,
303
+ midnight: exports.MIDNIGHT_BASE,
304
+ loanToken: USDC_BASE,
305
+ collaterals: [{
306
+ token: CBBTC_BASE,
307
+ lltv: 0.86,
308
+ liquidationCursor: '300000000000000000',
309
+ oracle: '0x663BECd10daE6C4A3Dcd89F1d76c1174199639B9',
310
+ }],
311
+ hiddenCollaterals: [{
312
+ token: TENOR_CBBTC_USDC_VAULT_BASE,
313
+ lltv: 0.98,
314
+ liquidationCursor: '300000000000000000',
315
+ oracle: '0x4a24e4bf269cE26aAD2dF00437e7730d25FCdE26',
316
+ }],
317
+ maturity: 1797465600, // 2026-12-17T00:00:00Z
318
+ rcfThreshold: '3000000000',
319
+ enterGate: constants_1.ZERO_ADDRESS,
320
+ liquidatorGate: constants_1.ZERO_ADDRESS,
321
+ marketId: '0xd82863083585d715a2e0d8ed61e0e20e4f6c566171d3bfed513ad55797177b17',
322
+ protocolName: 'morpho-midnight',
323
+ curator: 'Tenor',
324
+ });
325
+ exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217 = MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217;
326
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = (networkId = types_1.NetworkNumber.Base) => ({
327
+ chainIds: [types_1.NetworkNumber.Base],
328
+ label: 'Tenor WETH/USDC',
329
+ shortLabel: 'Tenor WETH/USDC',
330
+ url: 'tenor-weth-usdc-20260827',
331
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260827_Base,
332
+ midnight: exports.MIDNIGHT_BASE,
333
+ loanToken: USDC_BASE,
334
+ collaterals: [{
335
+ token: WETH_BASE,
336
+ lltv: 0.86,
337
+ liquidationCursor: '300000000000000000',
338
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
339
+ }],
340
+ hiddenCollaterals: [{
341
+ token: TENOR_WETH_USDC_VAULT_BASE,
342
+ lltv: 0.98,
343
+ liquidationCursor: '300000000000000000',
344
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
345
+ }],
346
+ maturity: 1787788800,
347
+ rcfThreshold: '3000000000',
348
+ enterGate: constants_1.ZERO_ADDRESS,
349
+ liquidatorGate: constants_1.ZERO_ADDRESS,
350
+ marketId: '0xf27319855df886a604dda3d5675007f0aa6eee504c99f1d789c86b21075f7c20',
351
+ protocolName: 'morpho-midnight',
352
+ curator: 'Tenor',
353
+ });
354
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827;
355
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = (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-20260924',
360
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260924_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
+ hiddenCollaterals: [{
370
+ token: TENOR_WETH_USDC_VAULT_BASE,
371
+ lltv: 0.98,
372
+ liquidationCursor: '300000000000000000',
373
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
374
+ }],
375
+ maturity: 1790208000,
376
+ rcfThreshold: '3000000000',
377
+ enterGate: constants_1.ZERO_ADDRESS,
378
+ liquidatorGate: constants_1.ZERO_ADDRESS,
379
+ marketId: '0x9b7fed2a6b24c47b8995dfa4fb2b4bc87fe245c10fb842865e568611a96804aa',
380
+ protocolName: 'morpho-midnight',
381
+ curator: 'Tenor',
382
+ });
383
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924;
384
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = (networkId = types_1.NetworkNumber.Base) => ({
385
+ chainIds: [types_1.NetworkNumber.Base],
386
+ label: 'Tenor WETH/USDC',
387
+ shortLabel: 'Tenor WETH/USDC',
388
+ url: 'tenor-weth-usdc-20261022',
389
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base,
390
+ midnight: exports.MIDNIGHT_BASE,
391
+ loanToken: USDC_BASE,
392
+ collaterals: [{
393
+ token: WETH_BASE,
394
+ lltv: 0.86,
395
+ liquidationCursor: '300000000000000000',
396
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
397
+ }],
398
+ hiddenCollaterals: [{
399
+ token: TENOR_WETH_USDC_VAULT_BASE,
400
+ lltv: 0.98,
401
+ liquidationCursor: '300000000000000000',
402
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
403
+ }],
404
+ maturity: 1792627200,
405
+ rcfThreshold: '3000000000',
406
+ enterGate: constants_1.ZERO_ADDRESS,
407
+ liquidatorGate: constants_1.ZERO_ADDRESS,
408
+ marketId: '0xfc2562129c7d538fcb6b2490d07aa5c69971d9d0b75e2f9bbf054ef99a311474',
409
+ protocolName: 'morpho-midnight',
410
+ curator: 'Tenor',
411
+ });
412
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022;
413
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = (networkId = types_1.NetworkNumber.Base) => ({
414
+ chainIds: [types_1.NetworkNumber.Base],
415
+ label: 'Tenor WETH/USDC',
416
+ shortLabel: 'Tenor WETH/USDC',
417
+ url: 'tenor-weth-usdc-20261119',
418
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base,
419
+ midnight: exports.MIDNIGHT_BASE,
420
+ loanToken: USDC_BASE,
421
+ collaterals: [{
422
+ token: WETH_BASE,
423
+ lltv: 0.86,
424
+ liquidationCursor: '300000000000000000',
425
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
426
+ }],
427
+ hiddenCollaterals: [{
428
+ token: TENOR_WETH_USDC_VAULT_BASE,
429
+ lltv: 0.98,
430
+ liquidationCursor: '300000000000000000',
431
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
432
+ }],
433
+ maturity: 1795046400,
434
+ rcfThreshold: '3000000000',
435
+ enterGate: constants_1.ZERO_ADDRESS,
436
+ liquidatorGate: constants_1.ZERO_ADDRESS,
437
+ marketId: '0x8da96adc9a55288bda5f07eb062d501db04d0fa152dd0f78341f6232bc4f884d',
438
+ protocolName: 'morpho-midnight',
439
+ curator: 'Tenor',
440
+ });
441
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119;
442
+ const MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = (networkId = types_1.NetworkNumber.Base) => ({
443
+ chainIds: [types_1.NetworkNumber.Base],
444
+ label: 'Tenor WETH/USDC',
445
+ shortLabel: 'Tenor WETH/USDC',
446
+ url: 'tenor-weth-usdc-20261217',
447
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base,
448
+ midnight: exports.MIDNIGHT_BASE,
449
+ loanToken: USDC_BASE,
450
+ collaterals: [{
451
+ token: WETH_BASE,
452
+ lltv: 0.86,
453
+ liquidationCursor: '300000000000000000',
454
+ oracle: '0xFEa2D58cEfCb9fcb597723c6bAE66fFE4193aFE4',
455
+ }],
456
+ hiddenCollaterals: [{
457
+ token: TENOR_WETH_USDC_VAULT_BASE,
458
+ lltv: 0.98,
459
+ liquidationCursor: '300000000000000000',
460
+ oracle: '0x784519B1b59A1e1498f077066bB9336672bcc3EE',
461
+ }],
462
+ maturity: 1797465600,
463
+ rcfThreshold: '3000000000',
464
+ enterGate: constants_1.ZERO_ADDRESS,
465
+ liquidatorGate: constants_1.ZERO_ADDRESS,
466
+ marketId: '0x24684af2c2c9edaa0ab4472dd9b8cc238aa33b7cc8151ae02fe614536f91af86',
467
+ protocolName: 'morpho-midnight',
468
+ curator: 'Tenor',
469
+ });
470
+ exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217 = MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217;
471
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = (networkId = types_1.NetworkNumber.Base) => ({
472
+ chainIds: [types_1.NetworkNumber.Base],
473
+ label: 'Tenor cbETH/WETH',
474
+ shortLabel: 'Tenor cbETH/WETH',
475
+ url: 'tenor-cbeth-weth-20260827',
476
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base,
477
+ midnight: exports.MIDNIGHT_BASE,
478
+ loanToken: WETH_BASE,
479
+ collaterals: [{
480
+ token: CBETH_BASE,
481
+ lltv: 0.945,
482
+ liquidationCursor: '300000000000000000',
483
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
484
+ }],
485
+ hiddenCollaterals: [{
486
+ token: TENOR_CBETH_WETH_VAULT_BASE,
487
+ lltv: 0.98,
488
+ liquidationCursor: '300000000000000000',
489
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
490
+ }],
491
+ maturity: 1787788800,
492
+ rcfThreshold: '4000000000000000000',
493
+ enterGate: constants_1.ZERO_ADDRESS,
494
+ liquidatorGate: constants_1.ZERO_ADDRESS,
495
+ marketId: '0x13cdfedf56f731817322c6932b48f496da937c36a51c7178ac63ed915d02fc98',
496
+ protocolName: 'morpho-midnight',
497
+ curator: 'Tenor',
498
+ });
499
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827;
500
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = (networkId = types_1.NetworkNumber.Base) => ({
501
+ chainIds: [types_1.NetworkNumber.Base],
502
+ label: 'Tenor cbETH/WETH',
503
+ shortLabel: 'Tenor cbETH/WETH',
504
+ url: 'tenor-cbeth-weth-20260924',
505
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base,
506
+ midnight: exports.MIDNIGHT_BASE,
507
+ loanToken: WETH_BASE,
508
+ collaterals: [{
509
+ token: CBETH_BASE,
510
+ lltv: 0.945,
511
+ liquidationCursor: '300000000000000000',
512
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
513
+ }],
514
+ hiddenCollaterals: [{
515
+ token: TENOR_CBETH_WETH_VAULT_BASE,
516
+ lltv: 0.98,
517
+ liquidationCursor: '300000000000000000',
518
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
519
+ }],
520
+ maturity: 1790208000,
521
+ rcfThreshold: '4000000000000000000',
522
+ enterGate: constants_1.ZERO_ADDRESS,
523
+ liquidatorGate: constants_1.ZERO_ADDRESS,
524
+ marketId: '0x74e310372280cc5c648a1f185db1ee906d2985a7dab8119568a9213f083efec0',
525
+ protocolName: 'morpho-midnight',
526
+ curator: 'Tenor',
527
+ });
528
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924;
529
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = (networkId = types_1.NetworkNumber.Base) => ({
530
+ chainIds: [types_1.NetworkNumber.Base],
531
+ label: 'Tenor cbETH/WETH',
532
+ shortLabel: 'Tenor cbETH/WETH',
533
+ url: 'tenor-cbeth-weth-20261022',
534
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base,
535
+ midnight: exports.MIDNIGHT_BASE,
536
+ loanToken: WETH_BASE,
537
+ collaterals: [{
538
+ token: CBETH_BASE,
539
+ lltv: 0.945,
540
+ liquidationCursor: '300000000000000000',
541
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
542
+ }],
543
+ hiddenCollaterals: [{
544
+ token: TENOR_CBETH_WETH_VAULT_BASE,
545
+ lltv: 0.98,
546
+ liquidationCursor: '300000000000000000',
547
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
548
+ }],
549
+ maturity: 1792627200,
550
+ rcfThreshold: '4000000000000000000',
551
+ enterGate: constants_1.ZERO_ADDRESS,
552
+ liquidatorGate: constants_1.ZERO_ADDRESS,
553
+ marketId: '0xcfce553a004af262e842c1b83cdfc01835bb83fbee7a8128f9b91663e2ebaf43',
554
+ protocolName: 'morpho-midnight',
555
+ curator: 'Tenor',
556
+ });
557
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022;
558
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = (networkId = types_1.NetworkNumber.Base) => ({
559
+ chainIds: [types_1.NetworkNumber.Base],
560
+ label: 'Tenor cbETH/WETH',
561
+ shortLabel: 'Tenor cbETH/WETH',
562
+ url: 'tenor-cbeth-weth-20261119',
563
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base,
564
+ midnight: exports.MIDNIGHT_BASE,
565
+ loanToken: WETH_BASE,
566
+ collaterals: [{
567
+ token: CBETH_BASE,
568
+ lltv: 0.945,
569
+ liquidationCursor: '300000000000000000',
570
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
571
+ }],
572
+ hiddenCollaterals: [{
573
+ token: TENOR_CBETH_WETH_VAULT_BASE,
574
+ lltv: 0.98,
575
+ liquidationCursor: '300000000000000000',
576
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
577
+ }],
578
+ maturity: 1795046400,
579
+ rcfThreshold: '4000000000000000000',
580
+ enterGate: constants_1.ZERO_ADDRESS,
581
+ liquidatorGate: constants_1.ZERO_ADDRESS,
582
+ marketId: '0xb1aa171a525fa9f3333ed47d816170930e9a1a83a1816a6b44ee0d89e1610691',
583
+ protocolName: 'morpho-midnight',
584
+ curator: 'Tenor',
585
+ });
586
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119;
587
+ const MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = (networkId = types_1.NetworkNumber.Base) => ({
588
+ chainIds: [types_1.NetworkNumber.Base],
589
+ label: 'Tenor cbETH/WETH',
590
+ shortLabel: 'Tenor cbETH/WETH',
591
+ url: 'tenor-cbeth-weth-20261217',
592
+ value: types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base,
593
+ midnight: exports.MIDNIGHT_BASE,
594
+ loanToken: WETH_BASE,
595
+ collaterals: [{
596
+ token: CBETH_BASE,
597
+ lltv: 0.945,
598
+ liquidationCursor: '300000000000000000',
599
+ oracle: '0xB03855Ad5AFD6B8db8091DD5551CAC4ed621d9E6',
600
+ }],
601
+ hiddenCollaterals: [{
602
+ token: TENOR_CBETH_WETH_VAULT_BASE,
603
+ lltv: 0.98,
604
+ liquidationCursor: '300000000000000000',
605
+ oracle: '0xa02f629871be35d6db0F88C944cF955554Ec87c0',
606
+ }],
607
+ maturity: 1797465600,
608
+ rcfThreshold: '4000000000000000000',
609
+ enterGate: constants_1.ZERO_ADDRESS,
610
+ liquidatorGate: constants_1.ZERO_ADDRESS,
611
+ marketId: '0x001f992fd7dbc6f0fee600f1b1c627c4a7b6d70762043221a514b57f8df37cb7',
612
+ protocolName: 'morpho-midnight',
613
+ curator: 'Tenor',
614
+ });
615
+ exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217 = MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217;
148
616
  const MorphoMidnightMarkets = (networkId) => ({
149
- // BASE
617
+ // BASE — Morpho-curated
150
618
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260731_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260731)(networkId),
151
619
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260828_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260828)(networkId),
152
620
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20260925_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20260925)(networkId),
153
621
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261030_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261030)(networkId),
154
622
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261127_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261127)(networkId),
155
623
  [types_1.MorphoMidnightVersions.MorphoMidnightCbBTCUSDC_860_20261225_Base]: (0, exports.MORPHO_MIDNIGHT_CBBTC_USDC_860_20261225)(networkId),
624
+ // BASE — Tenor-curated
625
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260827)(networkId),
626
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20260924)(networkId),
627
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261022)(networkId),
628
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261119)(networkId),
629
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbBTCUSDC_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBBTC_USDC_860_20261217)(networkId),
630
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260827)(networkId),
631
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20260924)(networkId),
632
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261022)(networkId),
633
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261119)(networkId),
634
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorWETHUSDC_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_WETH_USDC_860_20261217)(networkId),
635
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260827_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260827)(networkId),
636
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20260924_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20260924)(networkId),
637
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261022_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261022)(networkId),
638
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261119_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261119)(networkId),
639
+ [types_1.MorphoMidnightVersions.MorphoMidnightTenorCbETHWETH_20261217_Base]: (0, exports.MORPHO_MIDNIGHT_TENOR_CBETH_WETH_945_20261217)(networkId),
156
640
  });
157
641
  exports.MorphoMidnightMarkets = MorphoMidnightMarkets;
642
+ // Which markets Tenor's router quotes, by id, for the quote helpers that only receive one.
643
+ const TENOR_MARKET_IDS = new Set(Object.values((0, exports.MorphoMidnightMarkets)(types_1.NetworkNumber.Base))
644
+ .filter((market) => market.curator === 'Tenor')
645
+ .map((market) => market.marketId.toLowerCase()));
646
+ const isTenorMidnightMarket = (market) => (typeof market === 'string'
647
+ ? TENOR_MARKET_IDS.has(market.toLowerCase())
648
+ : market.curator === 'Tenor');
649
+ exports.isTenorMidnightMarket = isTenorMidnightMarket;
158
650
  const findMorphoMidnightMarket = (marketId, network = types_1.NetworkNumber.Base) => Object.values((0, exports.MorphoMidnightMarkets)(network)).find((market) => market.marketId.toLowerCase() === marketId.toLowerCase());
159
651
  exports.findMorphoMidnightMarket = findMorphoMidnightMarket;
652
+ /**
653
+ * The market's collateral set as the chain knows it: the listed collaterals followed by the curator's
654
+ * hidden ones. This — not `collaterals` — is what a `Market` struct takes, since the market id is the hash
655
+ * of that struct. Anything assembling one for a contract call goes through here so it can't quietly build
656
+ * a market of its own instead.
657
+ */
658
+ const morphoMidnightMarketCollateralParams = (market) => [...market.collaterals, ...(market.hiddenCollaterals || [])];
659
+ exports.morphoMidnightMarketCollateralParams = morphoMidnightMarketCollateralParams;