@defisaver/positions-sdk 2.1.144 → 2.1.146

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