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