@1delta/data-sdk 0.0.30 → 0.0.32
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/README.md +35 -0
- package/dist/index.js +104 -0
- package/dist/index.mjs +80 -1
- package/dist/lending.d.ts +325 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -519,6 +519,39 @@ const providers = listaNativeProvider()
|
|
|
519
519
|
|
|
520
520
|
---
|
|
521
521
|
|
|
522
|
+
### Morpho Midnight
|
|
523
|
+
|
|
524
|
+
Morpho Midnight is a Base-only, fixed-rate / fixed-maturity **order-book** protocol (offers are fetched from an HTTP API rather than read from a pool). It is a distinct `'midnight'` provider — **not** a Morpho Blue fork — so it has its own registry slots. Each maturity is its own isolated market, keyed by a bytes32 `marketId`.
|
|
525
|
+
|
|
526
|
+
#### `midnightConfig()`
|
|
527
|
+
|
|
528
|
+
Per-chain Midnight deployment (core/bundles/mempool/ratifier addresses + optional `apiBaseUrl`).
|
|
529
|
+
|
|
530
|
+
```ts
|
|
531
|
+
import { midnightConfig } from '@1delta/data-sdk'
|
|
532
|
+
|
|
533
|
+
const cfg = midnightConfig()
|
|
534
|
+
// { '8453': { midnight: '0x...', midnightBundles: '0x...', apiBaseUrl: '...' } }
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
#### `midnightMarkets()` / `midnightMarketsByChain(chainId)` / `midnightMarketById(chainId, marketId)`
|
|
538
|
+
|
|
539
|
+
The market set (one entry per maturity), plus convenience lookups.
|
|
540
|
+
|
|
541
|
+
```ts
|
|
542
|
+
import { midnightMarkets, midnightMarketsByChain, midnightMarketById } from '@1delta/data-sdk'
|
|
543
|
+
|
|
544
|
+
const all = midnightMarkets() // { [chainId]: MidnightMarketConfig[] }
|
|
545
|
+
const base = midnightMarketsByChain('8453') // MidnightMarketConfig[]
|
|
546
|
+
const market = midnightMarketById('8453', '0x...') // MidnightMarketConfig | undefined
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
#### `setMidnightApiBase(url)` / `midnightApiBaseOverride()` / `resolveMidnightApiBase(chainId)`
|
|
550
|
+
|
|
551
|
+
Runtime override for the Midnight HTTP API base (override → config `apiBaseUrl` → hosted default `https://api.morpho.org/v0/midnight`). A worker sets this per request (e.g. from an env var) so it survives the per-request metadata re-init that would otherwise clobber the config value — used for pointing at a local/dev offer API.
|
|
552
|
+
|
|
553
|
+
---
|
|
554
|
+
|
|
522
555
|
## Chain Data
|
|
523
556
|
|
|
524
557
|
#### `chains()`
|
|
@@ -656,3 +689,5 @@ All deployment data originates from the `1delta-DAO/lender-metadata` GitHub repo
|
|
|
656
689
|
| `data/compound-v3-base-data.json` | `compoundV3BaseData()` |
|
|
657
690
|
| `data/compound-v3-reserves.json` | `compoundV3Reserves()` |
|
|
658
691
|
| `data/euler-vaults.json` | `eulerVaults()` |
|
|
692
|
+
| `config/midnight.json` | `midnightConfig()` |
|
|
693
|
+
| `data/midnight-markets.json` | `midnightMarkets()` |
|
package/dist/index.js
CHANGED
|
@@ -67,6 +67,14 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
67
67
|
listaNativeProvider: {},
|
|
68
68
|
midnightConfig: {},
|
|
69
69
|
midnightMarkets: {},
|
|
70
|
+
termConfig: {},
|
|
71
|
+
termMarkets: {},
|
|
72
|
+
exactlyConfig: {},
|
|
73
|
+
exactlyMarkets: {},
|
|
74
|
+
liquityConfig: {},
|
|
75
|
+
liquityMarkets: {},
|
|
76
|
+
riverConfig: {},
|
|
77
|
+
riverMarkets: {},
|
|
70
78
|
compoundV3Bulker: {},
|
|
71
79
|
eulerConfigs: {},
|
|
72
80
|
eulerVaults: {},
|
|
@@ -117,6 +125,14 @@ function initializeLenderData({
|
|
|
117
125
|
listaNativeProviderOverride,
|
|
118
126
|
midnightConfigOverride,
|
|
119
127
|
midnightMarketsOverride,
|
|
128
|
+
termConfigOverride,
|
|
129
|
+
termMarketsOverride,
|
|
130
|
+
exactlyConfigOverride,
|
|
131
|
+
exactlyMarketsOverride,
|
|
132
|
+
liquityConfigOverride,
|
|
133
|
+
liquityMarketsOverride,
|
|
134
|
+
riverConfigOverride,
|
|
135
|
+
riverMarketsOverride,
|
|
120
136
|
compoundV3BulkerOverride,
|
|
121
137
|
eulerConfigsOverride,
|
|
122
138
|
eulerVaultsOverride,
|
|
@@ -160,6 +176,14 @@ function initializeLenderData({
|
|
|
160
176
|
if (listaNativeProviderOverride) data.listaNativeProvider = listaNativeProviderOverride;
|
|
161
177
|
if (midnightConfigOverride) data.midnightConfig = midnightConfigOverride;
|
|
162
178
|
if (midnightMarketsOverride) data.midnightMarkets = midnightMarketsOverride;
|
|
179
|
+
if (termConfigOverride) data.termConfig = termConfigOverride;
|
|
180
|
+
if (termMarketsOverride) data.termMarkets = termMarketsOverride;
|
|
181
|
+
if (exactlyConfigOverride) data.exactlyConfig = exactlyConfigOverride;
|
|
182
|
+
if (exactlyMarketsOverride) data.exactlyMarkets = exactlyMarketsOverride;
|
|
183
|
+
if (liquityConfigOverride) data.liquityConfig = liquityConfigOverride;
|
|
184
|
+
if (liquityMarketsOverride) data.liquityMarkets = liquityMarketsOverride;
|
|
185
|
+
if (riverConfigOverride) data.riverConfig = riverConfigOverride;
|
|
186
|
+
if (riverMarketsOverride) data.riverMarkets = riverMarketsOverride;
|
|
163
187
|
if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
|
|
164
188
|
if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
|
|
165
189
|
if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
|
|
@@ -220,6 +244,61 @@ var midnightMarketById = (chainId, marketId) => {
|
|
|
220
244
|
const lower = marketId.toLowerCase();
|
|
221
245
|
return midnightMarketsByChain(chainId).find((m) => m.marketId.toLowerCase() === lower);
|
|
222
246
|
};
|
|
247
|
+
var termConfig = () => getGlobalData2()?.termConfig;
|
|
248
|
+
var TERM_API_OVERRIDE_KEY = "__1delta_term_api_base__";
|
|
249
|
+
var setTermApiBase = (url) => {
|
|
250
|
+
globalThis[TERM_API_OVERRIDE_KEY] = url && url.length > 0 ? url : void 0;
|
|
251
|
+
};
|
|
252
|
+
var termApiBaseOverride = () => globalThis[TERM_API_OVERRIDE_KEY];
|
|
253
|
+
var resolveTermApiBase = (chainId) => {
|
|
254
|
+
const override = termApiBaseOverride();
|
|
255
|
+
if (override) return override.replace(/\/+$/, "");
|
|
256
|
+
const cfg = termConfig()?.[chainId]?.apiBaseUrl;
|
|
257
|
+
return (cfg && cfg.length > 0 ? cfg : "").replace(/\/+$/, "");
|
|
258
|
+
};
|
|
259
|
+
var termMarkets = () => getGlobalData2()?.termMarkets;
|
|
260
|
+
var termMarketsByChain = (chainId) => getGlobalData2()?.termMarkets?.[String(chainId)] ?? [];
|
|
261
|
+
var termMarketById = (chainId, termRepoId) => {
|
|
262
|
+
const lower = termRepoId.toLowerCase();
|
|
263
|
+
return termMarketsByChain(chainId).find((m) => m.termRepoId.toLowerCase() === lower);
|
|
264
|
+
};
|
|
265
|
+
var exactlyConfig = () => getGlobalData2()?.exactlyConfig;
|
|
266
|
+
var exactlyMarkets = () => getGlobalData2()?.exactlyMarkets;
|
|
267
|
+
var exactlyMarketsByChain = (chainId) => getGlobalData2()?.exactlyMarkets?.[String(chainId)] ?? [];
|
|
268
|
+
var exactlyMarketByAddress = (chainId, market) => {
|
|
269
|
+
const lower = market.toLowerCase();
|
|
270
|
+
return exactlyMarketsByChain(chainId).find((m) => m.market.toLowerCase() === lower);
|
|
271
|
+
};
|
|
272
|
+
var exactlyMarketByAsset = (chainId, asset) => {
|
|
273
|
+
const lower = asset.toLowerCase();
|
|
274
|
+
return exactlyMarketsByChain(chainId).find((m) => m.asset.toLowerCase() === lower);
|
|
275
|
+
};
|
|
276
|
+
var liquityConfig = () => getGlobalData2()?.liquityConfig;
|
|
277
|
+
var liquityConfigFor = (lender, chainId) => getGlobalData2()?.liquityConfig?.[lender]?.[String(chainId)];
|
|
278
|
+
var liquityMarkets = () => getGlobalData2()?.liquityMarkets;
|
|
279
|
+
var liquityBranchesByChain = (lender, chainId) => getGlobalData2()?.liquityMarkets?.[lender]?.[String(chainId)] ?? [];
|
|
280
|
+
var liquityBranchByIndex = (lender, chainId, collIndex) => liquityBranchesByChain(lender, chainId).find((b) => b.collIndex === Number(collIndex));
|
|
281
|
+
var liquityBranchByTroveManager = (lender, chainId, troveManager) => {
|
|
282
|
+
const lower = troveManager.toLowerCase();
|
|
283
|
+
return liquityBranchesByChain(lender, chainId).find(
|
|
284
|
+
(b) => b.troveManager.toLowerCase() === lower
|
|
285
|
+
);
|
|
286
|
+
};
|
|
287
|
+
var liquityLendersByChain = (chainId) => {
|
|
288
|
+
const cfg = getGlobalData2()?.liquityConfig ?? {};
|
|
289
|
+
const chain = String(chainId);
|
|
290
|
+
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.collateralRegistry);
|
|
291
|
+
};
|
|
292
|
+
var riverConfig = () => getGlobalData2()?.riverConfig;
|
|
293
|
+
var riverConfigFor = (lender, chainId) => getGlobalData2()?.riverConfig?.[lender]?.[String(chainId)];
|
|
294
|
+
var riverMarkets = () => getGlobalData2()?.riverMarkets;
|
|
295
|
+
var riverChainData = (lender, chainId) => getGlobalData2()?.riverMarkets?.[lender]?.[String(chainId)];
|
|
296
|
+
var riverMarketByIndex = (lender, chainId, index) => riverChainData(lender, chainId)?.markets?.find((m) => m.index === Number(index));
|
|
297
|
+
var riverLendersByChain = (chainId) => {
|
|
298
|
+
const cfg = getGlobalData2()?.riverConfig ?? {};
|
|
299
|
+
const chain = String(chainId);
|
|
300
|
+
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.xapp);
|
|
301
|
+
};
|
|
223
302
|
var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
|
|
224
303
|
var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
|
|
225
304
|
var eulerVaults = () => getGlobalData2()?.eulerVaults;
|
|
@@ -403,6 +482,11 @@ exports.dolomiteEmode = dolomiteEmode;
|
|
|
403
482
|
exports.dolomiteMarketIdByToken = dolomiteMarketIdByToken;
|
|
404
483
|
exports.eulerConfigs = eulerConfigs;
|
|
405
484
|
exports.eulerVaults = eulerVaults;
|
|
485
|
+
exports.exactlyConfig = exactlyConfig;
|
|
486
|
+
exports.exactlyMarketByAddress = exactlyMarketByAddress;
|
|
487
|
+
exports.exactlyMarketByAsset = exactlyMarketByAsset;
|
|
488
|
+
exports.exactlyMarkets = exactlyMarkets;
|
|
489
|
+
exports.exactlyMarketsByChain = exactlyMarketsByChain;
|
|
406
490
|
exports.fetchTokenList = fetchTokenList;
|
|
407
491
|
exports.fetchTokenLists = fetchTokenLists;
|
|
408
492
|
exports.findAaveV4PositionManager = findAaveV4PositionManager;
|
|
@@ -428,6 +512,13 @@ exports.getSiloV3MarketEntry = getSiloV3MarketEntry;
|
|
|
428
512
|
exports.initConfig = initConfig;
|
|
429
513
|
exports.initializeChainData = initializeChainData;
|
|
430
514
|
exports.initializeLenderData = initializeLenderData;
|
|
515
|
+
exports.liquityBranchByIndex = liquityBranchByIndex;
|
|
516
|
+
exports.liquityBranchByTroveManager = liquityBranchByTroveManager;
|
|
517
|
+
exports.liquityBranchesByChain = liquityBranchesByChain;
|
|
518
|
+
exports.liquityConfig = liquityConfig;
|
|
519
|
+
exports.liquityConfigFor = liquityConfigFor;
|
|
520
|
+
exports.liquityLendersByChain = liquityLendersByChain;
|
|
521
|
+
exports.liquityMarkets = liquityMarkets;
|
|
431
522
|
exports.listaNativeProvider = listaNativeProvider;
|
|
432
523
|
exports.midnightApiBaseOverride = midnightApiBaseOverride;
|
|
433
524
|
exports.midnightConfig = midnightConfig;
|
|
@@ -445,10 +536,23 @@ exports.parseGearboxV3LenderKey = parseGearboxV3LenderKey;
|
|
|
445
536
|
exports.parseSiloV2LenderKey = parseSiloV2LenderKey;
|
|
446
537
|
exports.parseSiloV3LenderKey = parseSiloV3LenderKey;
|
|
447
538
|
exports.resolveMidnightApiBase = resolveMidnightApiBase;
|
|
539
|
+
exports.resolveTermApiBase = resolveTermApiBase;
|
|
540
|
+
exports.riverChainData = riverChainData;
|
|
541
|
+
exports.riverConfig = riverConfig;
|
|
542
|
+
exports.riverConfigFor = riverConfigFor;
|
|
543
|
+
exports.riverLendersByChain = riverLendersByChain;
|
|
544
|
+
exports.riverMarketByIndex = riverMarketByIndex;
|
|
545
|
+
exports.riverMarkets = riverMarkets;
|
|
448
546
|
exports.setMidnightApiBase = setMidnightApiBase;
|
|
547
|
+
exports.setTermApiBase = setTermApiBase;
|
|
449
548
|
exports.siloMarkets = siloMarkets;
|
|
450
549
|
exports.siloMarketsV3 = siloMarketsV3;
|
|
451
550
|
exports.siloPeripherals = siloPeripherals;
|
|
452
551
|
exports.siloPeripheralsV3 = siloPeripheralsV3;
|
|
453
552
|
exports.siloV2LenderKey = siloV2LenderKey;
|
|
454
553
|
exports.siloV3LenderKey = siloV3LenderKey;
|
|
554
|
+
exports.termApiBaseOverride = termApiBaseOverride;
|
|
555
|
+
exports.termConfig = termConfig;
|
|
556
|
+
exports.termMarketById = termMarketById;
|
|
557
|
+
exports.termMarkets = termMarkets;
|
|
558
|
+
exports.termMarketsByChain = termMarketsByChain;
|
package/dist/index.mjs
CHANGED
|
@@ -65,6 +65,14 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
65
65
|
listaNativeProvider: {},
|
|
66
66
|
midnightConfig: {},
|
|
67
67
|
midnightMarkets: {},
|
|
68
|
+
termConfig: {},
|
|
69
|
+
termMarkets: {},
|
|
70
|
+
exactlyConfig: {},
|
|
71
|
+
exactlyMarkets: {},
|
|
72
|
+
liquityConfig: {},
|
|
73
|
+
liquityMarkets: {},
|
|
74
|
+
riverConfig: {},
|
|
75
|
+
riverMarkets: {},
|
|
68
76
|
compoundV3Bulker: {},
|
|
69
77
|
eulerConfigs: {},
|
|
70
78
|
eulerVaults: {},
|
|
@@ -115,6 +123,14 @@ function initializeLenderData({
|
|
|
115
123
|
listaNativeProviderOverride,
|
|
116
124
|
midnightConfigOverride,
|
|
117
125
|
midnightMarketsOverride,
|
|
126
|
+
termConfigOverride,
|
|
127
|
+
termMarketsOverride,
|
|
128
|
+
exactlyConfigOverride,
|
|
129
|
+
exactlyMarketsOverride,
|
|
130
|
+
liquityConfigOverride,
|
|
131
|
+
liquityMarketsOverride,
|
|
132
|
+
riverConfigOverride,
|
|
133
|
+
riverMarketsOverride,
|
|
118
134
|
compoundV3BulkerOverride,
|
|
119
135
|
eulerConfigsOverride,
|
|
120
136
|
eulerVaultsOverride,
|
|
@@ -158,6 +174,14 @@ function initializeLenderData({
|
|
|
158
174
|
if (listaNativeProviderOverride) data.listaNativeProvider = listaNativeProviderOverride;
|
|
159
175
|
if (midnightConfigOverride) data.midnightConfig = midnightConfigOverride;
|
|
160
176
|
if (midnightMarketsOverride) data.midnightMarkets = midnightMarketsOverride;
|
|
177
|
+
if (termConfigOverride) data.termConfig = termConfigOverride;
|
|
178
|
+
if (termMarketsOverride) data.termMarkets = termMarketsOverride;
|
|
179
|
+
if (exactlyConfigOverride) data.exactlyConfig = exactlyConfigOverride;
|
|
180
|
+
if (exactlyMarketsOverride) data.exactlyMarkets = exactlyMarketsOverride;
|
|
181
|
+
if (liquityConfigOverride) data.liquityConfig = liquityConfigOverride;
|
|
182
|
+
if (liquityMarketsOverride) data.liquityMarkets = liquityMarketsOverride;
|
|
183
|
+
if (riverConfigOverride) data.riverConfig = riverConfigOverride;
|
|
184
|
+
if (riverMarketsOverride) data.riverMarkets = riverMarketsOverride;
|
|
161
185
|
if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
|
|
162
186
|
if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
|
|
163
187
|
if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
|
|
@@ -218,6 +242,61 @@ var midnightMarketById = (chainId, marketId) => {
|
|
|
218
242
|
const lower = marketId.toLowerCase();
|
|
219
243
|
return midnightMarketsByChain(chainId).find((m) => m.marketId.toLowerCase() === lower);
|
|
220
244
|
};
|
|
245
|
+
var termConfig = () => getGlobalData2()?.termConfig;
|
|
246
|
+
var TERM_API_OVERRIDE_KEY = "__1delta_term_api_base__";
|
|
247
|
+
var setTermApiBase = (url) => {
|
|
248
|
+
globalThis[TERM_API_OVERRIDE_KEY] = url && url.length > 0 ? url : void 0;
|
|
249
|
+
};
|
|
250
|
+
var termApiBaseOverride = () => globalThis[TERM_API_OVERRIDE_KEY];
|
|
251
|
+
var resolveTermApiBase = (chainId) => {
|
|
252
|
+
const override = termApiBaseOverride();
|
|
253
|
+
if (override) return override.replace(/\/+$/, "");
|
|
254
|
+
const cfg = termConfig()?.[chainId]?.apiBaseUrl;
|
|
255
|
+
return (cfg && cfg.length > 0 ? cfg : "").replace(/\/+$/, "");
|
|
256
|
+
};
|
|
257
|
+
var termMarkets = () => getGlobalData2()?.termMarkets;
|
|
258
|
+
var termMarketsByChain = (chainId) => getGlobalData2()?.termMarkets?.[String(chainId)] ?? [];
|
|
259
|
+
var termMarketById = (chainId, termRepoId) => {
|
|
260
|
+
const lower = termRepoId.toLowerCase();
|
|
261
|
+
return termMarketsByChain(chainId).find((m) => m.termRepoId.toLowerCase() === lower);
|
|
262
|
+
};
|
|
263
|
+
var exactlyConfig = () => getGlobalData2()?.exactlyConfig;
|
|
264
|
+
var exactlyMarkets = () => getGlobalData2()?.exactlyMarkets;
|
|
265
|
+
var exactlyMarketsByChain = (chainId) => getGlobalData2()?.exactlyMarkets?.[String(chainId)] ?? [];
|
|
266
|
+
var exactlyMarketByAddress = (chainId, market) => {
|
|
267
|
+
const lower = market.toLowerCase();
|
|
268
|
+
return exactlyMarketsByChain(chainId).find((m) => m.market.toLowerCase() === lower);
|
|
269
|
+
};
|
|
270
|
+
var exactlyMarketByAsset = (chainId, asset) => {
|
|
271
|
+
const lower = asset.toLowerCase();
|
|
272
|
+
return exactlyMarketsByChain(chainId).find((m) => m.asset.toLowerCase() === lower);
|
|
273
|
+
};
|
|
274
|
+
var liquityConfig = () => getGlobalData2()?.liquityConfig;
|
|
275
|
+
var liquityConfigFor = (lender, chainId) => getGlobalData2()?.liquityConfig?.[lender]?.[String(chainId)];
|
|
276
|
+
var liquityMarkets = () => getGlobalData2()?.liquityMarkets;
|
|
277
|
+
var liquityBranchesByChain = (lender, chainId) => getGlobalData2()?.liquityMarkets?.[lender]?.[String(chainId)] ?? [];
|
|
278
|
+
var liquityBranchByIndex = (lender, chainId, collIndex) => liquityBranchesByChain(lender, chainId).find((b) => b.collIndex === Number(collIndex));
|
|
279
|
+
var liquityBranchByTroveManager = (lender, chainId, troveManager) => {
|
|
280
|
+
const lower = troveManager.toLowerCase();
|
|
281
|
+
return liquityBranchesByChain(lender, chainId).find(
|
|
282
|
+
(b) => b.troveManager.toLowerCase() === lower
|
|
283
|
+
);
|
|
284
|
+
};
|
|
285
|
+
var liquityLendersByChain = (chainId) => {
|
|
286
|
+
const cfg = getGlobalData2()?.liquityConfig ?? {};
|
|
287
|
+
const chain = String(chainId);
|
|
288
|
+
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.collateralRegistry);
|
|
289
|
+
};
|
|
290
|
+
var riverConfig = () => getGlobalData2()?.riverConfig;
|
|
291
|
+
var riverConfigFor = (lender, chainId) => getGlobalData2()?.riverConfig?.[lender]?.[String(chainId)];
|
|
292
|
+
var riverMarkets = () => getGlobalData2()?.riverMarkets;
|
|
293
|
+
var riverChainData = (lender, chainId) => getGlobalData2()?.riverMarkets?.[lender]?.[String(chainId)];
|
|
294
|
+
var riverMarketByIndex = (lender, chainId, index) => riverChainData(lender, chainId)?.markets?.find((m) => m.index === Number(index));
|
|
295
|
+
var riverLendersByChain = (chainId) => {
|
|
296
|
+
const cfg = getGlobalData2()?.riverConfig ?? {};
|
|
297
|
+
const chain = String(chainId);
|
|
298
|
+
return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.xapp);
|
|
299
|
+
};
|
|
221
300
|
var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
|
|
222
301
|
var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
|
|
223
302
|
var eulerVaults = () => getGlobalData2()?.eulerVaults;
|
|
@@ -371,4 +450,4 @@ async function fetchTokenLists(chainIds) {
|
|
|
371
450
|
return Object.fromEntries(results);
|
|
372
451
|
}
|
|
373
452
|
|
|
374
|
-
export { GEARBOX_ACCOUNT_COMPRESSOR_V310, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, chainLogoURI, chains, compoundV2Oracles, compoundV2OraclesConfig, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, dolomiteChains, dolomiteConfigs, dolomiteEmode, dolomiteMarketIdByToken, eulerConfigs, eulerVaults, fetchTokenList, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, listaNativeProvider, midnightApiBaseOverride, midnightConfig, midnightMarketById, midnightMarkets, midnightMarketsByChain, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, resolveMidnightApiBase, setMidnightApiBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey };
|
|
453
|
+
export { GEARBOX_ACCOUNT_COMPRESSOR_V310, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, chainLogoURI, chains, compoundV2Oracles, compoundV2OraclesConfig, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, dolomiteChains, dolomiteConfigs, dolomiteEmode, dolomiteMarketIdByToken, eulerConfigs, eulerVaults, exactlyConfig, exactlyMarketByAddress, exactlyMarketByAsset, exactlyMarkets, exactlyMarketsByChain, fetchTokenList, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, liquityBranchByIndex, liquityBranchByTroveManager, liquityBranchesByChain, liquityConfig, liquityConfigFor, liquityLendersByChain, liquityMarkets, listaNativeProvider, midnightApiBaseOverride, midnightConfig, midnightMarketById, midnightMarkets, midnightMarketsByChain, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, resolveMidnightApiBase, resolveTermApiBase, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setTermApiBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey, termApiBaseOverride, termConfig, termMarketById, termMarkets, termMarketsByChain };
|
package/dist/lending.d.ts
CHANGED
|
@@ -107,12 +107,284 @@ export type MidnightMarketConfig = {
|
|
|
107
107
|
rcfThreshold: string;
|
|
108
108
|
enterGate: string;
|
|
109
109
|
liquidatorGate: string;
|
|
110
|
+
/**
|
|
111
|
+
* Mutable per-market settlement fees, one per TTM breakpoint index
|
|
112
|
+
* [0d,1d,7d,30d,90d,180d,360d], in cbp (centi-basis-points; fraction =
|
|
113
|
+
* cbp·1e-6). Governance-settable (`feeSetter`), so it is NOT part of the
|
|
114
|
+
* immutable market id and is snapshotted on-chain each metadata refresh.
|
|
115
|
+
* Absent when the on-chain read was unavailable.
|
|
116
|
+
*/
|
|
117
|
+
settlementFeeCbp?: number[];
|
|
118
|
+
/**
|
|
119
|
+
* Mutable per-market continuous fee (uint32), a per-second WAD rate borne by
|
|
120
|
+
* lenders (annual fraction = continuousFee·secondsPerYear/1e18, capped 1%/yr).
|
|
121
|
+
* Governance-settable; snapshotted on-chain like `settlementFeeCbp`. Stored
|
|
122
|
+
* as a decimal string. Absent when the on-chain read was unavailable.
|
|
123
|
+
*/
|
|
124
|
+
continuousFee?: string;
|
|
110
125
|
/** Optional display label, e.g. "USDC / WETH — 2026-09-18". */
|
|
111
126
|
name?: string;
|
|
112
127
|
};
|
|
113
128
|
export type MidnightMarketsType = {
|
|
114
129
|
[chainId: string]: MidnightMarketConfig[];
|
|
115
130
|
};
|
|
131
|
+
/** Per-chain, protocol-level (evergreen) Term Finance addresses + data endpoint. */
|
|
132
|
+
export type TermConfigChain = {
|
|
133
|
+
/** TermController — validates deployed repos (`isTermDeployed`). */
|
|
134
|
+
termController: string;
|
|
135
|
+
/** RepoTokenLinkedList — the shared secondary-market repo-token order book. */
|
|
136
|
+
repoTokenLinkedList?: string | null;
|
|
137
|
+
/** RepoTokenLinkedListEventEmitter — the listing event source the subgraph indexes. */
|
|
138
|
+
repoTokenListEventEmitter?: string | null;
|
|
139
|
+
/** DiscountRateAdapter — helper used to price secondary listings. */
|
|
140
|
+
discountRateAdapter?: string | null;
|
|
141
|
+
/** Term data endpoint base (subgraph/HTTP) for listings + auction state. */
|
|
142
|
+
apiBaseUrl?: string | null;
|
|
143
|
+
};
|
|
144
|
+
export type TermConfigType = {
|
|
145
|
+
[chainId: string]: TermConfigChain;
|
|
146
|
+
};
|
|
147
|
+
/** One collateral leg of a Term repo (mirrors TermRepoCollateralManager state). */
|
|
148
|
+
export type TermCollateralParam = {
|
|
149
|
+
token: string;
|
|
150
|
+
/** WAD-scaled maintenance collateral ratio (as string). */
|
|
151
|
+
maintenanceRatio: string;
|
|
152
|
+
/** WAD-scaled initial collateral ratio (as string). */
|
|
153
|
+
initialRatio?: string;
|
|
154
|
+
/** WAD-scaled liquidated-damages factor (liquidation penalty, as string). */
|
|
155
|
+
liquidatedDamages?: string;
|
|
156
|
+
decimals: number;
|
|
157
|
+
};
|
|
158
|
+
/** A Term Finance repo/market: the serial contract addresses + fixed terms. */
|
|
159
|
+
export type TermMarketConfig = {
|
|
160
|
+
/** bytes32/string term repo id (`termRepoId`). */
|
|
161
|
+
termRepoId: string;
|
|
162
|
+
/** TermRepoServicer — timing + repurchase ledger + redeem/repay. */
|
|
163
|
+
servicer: string;
|
|
164
|
+
/** TermRepoToken — ERC-20 lender claim (balanceOf → lent principal). */
|
|
165
|
+
repoToken: string;
|
|
166
|
+
/** TermRepoCollateralManager — collateral lock/unlock + balances. */
|
|
167
|
+
collateralManager: string;
|
|
168
|
+
/** TermAuction — clears the current/latest auction for this repo (optional). */
|
|
169
|
+
auction?: string;
|
|
170
|
+
/** TermAuctionOfferLocker — lend-side offer submission for the active auction. */
|
|
171
|
+
offerLocker?: string;
|
|
172
|
+
/** TermAuctionBidLocker — borrow-side bid submission for the active auction. */
|
|
173
|
+
bidLocker?: string;
|
|
174
|
+
/** The loan/lend token borrowers receive and lenders supply (== `purchaseToken`). */
|
|
175
|
+
purchaseToken: string;
|
|
176
|
+
loanDecimals: number;
|
|
177
|
+
/** Ordered collateral legs; index = the on-chain collateral index. */
|
|
178
|
+
collateralParams: TermCollateralParam[];
|
|
179
|
+
/** Maturity, unix seconds (as string). */
|
|
180
|
+
maturity: string;
|
|
181
|
+
/** Redemption timestamp, unix seconds (as string). */
|
|
182
|
+
redemptionTimestamp?: string;
|
|
183
|
+
/** End of the repurchase window, unix seconds (as string). */
|
|
184
|
+
endOfRepurchaseWindow?: string;
|
|
185
|
+
/** Fixed redemption value per repo token at maturity (WAD, as string). */
|
|
186
|
+
redemptionValue?: string;
|
|
187
|
+
/** WAD-scaled servicing fee (as string). */
|
|
188
|
+
servicingFee?: string;
|
|
189
|
+
/** Optional display label, e.g. "USDC / WETH — 2026-09-18". */
|
|
190
|
+
name?: string;
|
|
191
|
+
};
|
|
192
|
+
export type TermMarketsType = {
|
|
193
|
+
[chainId: string]: TermMarketConfig[];
|
|
194
|
+
};
|
|
195
|
+
/** Per-chain, protocol-level (evergreen) Exactly addresses. */
|
|
196
|
+
export type ExactlyConfigChain = {
|
|
197
|
+
/** Auditor — cross-margin risk controller (enterMarket / accountLiquidity). */
|
|
198
|
+
auditor: string;
|
|
199
|
+
/** Previewer — read-only aggregate view (markets + fixed pools + account). */
|
|
200
|
+
previewer: string;
|
|
201
|
+
/** RatePreviewer — read-only rate projection helper (optional). */
|
|
202
|
+
ratePreviewer?: string | null;
|
|
203
|
+
/** MarketETHRouter — native-ETH wrapper around the WETH market (optional). */
|
|
204
|
+
marketETHRouter?: string | null;
|
|
205
|
+
/** The WETH Market the ETH router wraps (optional convenience). */
|
|
206
|
+
wethMarket?: string | null;
|
|
207
|
+
/** DebtManager — rollover/leverage periphery (optional, not used yet). */
|
|
208
|
+
debtManager?: string | null;
|
|
209
|
+
/** RewardsController — EXA/OP rewards (optional, not used yet). */
|
|
210
|
+
rewardsController?: string | null;
|
|
211
|
+
};
|
|
212
|
+
export type ExactlyConfigType = {
|
|
213
|
+
[chainId: string]: ExactlyConfigChain;
|
|
214
|
+
};
|
|
215
|
+
/** An Exactly Market: one per underlying asset (maturities live inside it). */
|
|
216
|
+
export type ExactlyMarketConfig = {
|
|
217
|
+
/** Market (ERC4626 vault) address — also the per-market lender-key body. */
|
|
218
|
+
market: string;
|
|
219
|
+
/** Underlying asset address. */
|
|
220
|
+
asset: string;
|
|
221
|
+
/** Market share-token symbol, e.g. "exaUSDC". */
|
|
222
|
+
symbol: string;
|
|
223
|
+
/** Underlying asset symbol, e.g. "USDC". */
|
|
224
|
+
assetSymbol: string;
|
|
225
|
+
/** Market share decimals (== asset decimals for Exactly markets). */
|
|
226
|
+
decimals: number;
|
|
227
|
+
/** Underlying asset decimals. */
|
|
228
|
+
assetDecimals: number;
|
|
229
|
+
/** Number of future fixed pools the market maintains (informational). */
|
|
230
|
+
maxFuturePools?: number;
|
|
231
|
+
/** Optional display label, e.g. "Exactly USDC". */
|
|
232
|
+
name?: string;
|
|
233
|
+
};
|
|
234
|
+
export type ExactlyMarketsType = {
|
|
235
|
+
[chainId: string]: ExactlyMarketConfig[];
|
|
236
|
+
};
|
|
237
|
+
/** Per-deployment, per-chain shared Liquity-family addresses + deviation params. */
|
|
238
|
+
export type LiquityConfigChain = {
|
|
239
|
+
/** CollateralRegistry — branch enumeration + redemptions. */
|
|
240
|
+
collateralRegistry: string;
|
|
241
|
+
/** The deployment's stable token (BOLD / feUSD / USDaf / USND / USDQ …). */
|
|
242
|
+
boldToken: string;
|
|
243
|
+
/** Stable token decimals (18 for every known deployment). */
|
|
244
|
+
boldDecimals?: number;
|
|
245
|
+
/** HintHelpers — insert-position hints + upfront-fee predictions. */
|
|
246
|
+
hintHelpers: string;
|
|
247
|
+
/** MultiTroveGetter — paginated rate-ordered trove reads. */
|
|
248
|
+
multiTroveGetter: string;
|
|
249
|
+
/** WETH-equivalent used for the gas compensation pull on openTrove. */
|
|
250
|
+
wethToken: string;
|
|
251
|
+
/** Gas compensation pulled on open, wei (vanilla 0.0375e18; Felix 0; Nerite 1e15). */
|
|
252
|
+
gasCompensation: string;
|
|
253
|
+
/** Minimum trove debt in stable units, WAD (vanilla 2000e18; Nerite/Quill 500e18). */
|
|
254
|
+
minDebt: string;
|
|
255
|
+
/** Interest-rate bounds, WAD annual (vanilla 0.5%–250%; Quill 6%–350%). */
|
|
256
|
+
minAnnualInterestRate: string;
|
|
257
|
+
maxAnnualInterestRate: string;
|
|
258
|
+
/** Upfront-fee averaging period, seconds (vanilla 7 days). */
|
|
259
|
+
upfrontInterestPeriodSeconds?: string;
|
|
260
|
+
/** Premature rate-adjustment cooldown, seconds (vanilla 7 days). */
|
|
261
|
+
interestRateAdjCooldownSeconds?: string;
|
|
262
|
+
/** Share of borrow interest routed to SP depositors, WAD (vanilla 0.75e18). */
|
|
263
|
+
spYieldSplit?: string;
|
|
264
|
+
/** Fork exposes per-branch debt caps (Nerite getDebtLimit / Felix MaxCapDebt). */
|
|
265
|
+
hasDebtCaps?: boolean;
|
|
266
|
+
/** Fork exposes deploy-parameterized constants as TroveManager getters (Quill). */
|
|
267
|
+
hasForkParamGetters?: boolean;
|
|
268
|
+
/** Proxied deployment (Felix/Ebisu): constants are admin-mutable → refresh required. */
|
|
269
|
+
mutableParams?: boolean;
|
|
270
|
+
/**
|
|
271
|
+
* Known trove-opening periphery contracts (WETH / GasComp / Leverage
|
|
272
|
+
* zappers). Troves opened through a zapper have NFT ids salted by the
|
|
273
|
+
* zapper address AND a transformed owner index — user-data discovery must
|
|
274
|
+
* probe these in addition to direct opens (the official frontends open
|
|
275
|
+
* through zappers, so most real troves are zapper-salted).
|
|
276
|
+
*/
|
|
277
|
+
zappers?: string[];
|
|
278
|
+
/**
|
|
279
|
+
* Fork wrapper tokens: collIndex → the user-facing asset the branch
|
|
280
|
+
* collateral wraps. The generator copies these onto branch records
|
|
281
|
+
* (`LiquityBranchConfig.collWrapper`).
|
|
282
|
+
*/
|
|
283
|
+
collWrappers?: {
|
|
284
|
+
[collIndex: string]: string;
|
|
285
|
+
};
|
|
286
|
+
/** Subgraph endpoint for trove discovery enrichment (optional, may be down). */
|
|
287
|
+
subgraphUrl?: string | null;
|
|
288
|
+
/** api.liquity.org-style stats endpoint for APY smoothing (optional, may be down). */
|
|
289
|
+
apiBaseUrl?: string | null;
|
|
290
|
+
};
|
|
291
|
+
export type LiquityConfigType = {
|
|
292
|
+
[lender: string]: {
|
|
293
|
+
[chainId: string]: LiquityConfigChain;
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
/** One collateral branch of a Liquity-family deployment (= one market). */
|
|
297
|
+
export type LiquityBranchConfig = {
|
|
298
|
+
/** CollateralRegistry index — also the per-branch lender-key suffix. */
|
|
299
|
+
collIndex: number;
|
|
300
|
+
collToken: string;
|
|
301
|
+
collDecimals: number;
|
|
302
|
+
/**
|
|
303
|
+
* The user-facing asset the branch collateral wraps, when the fork inserts a
|
|
304
|
+
* wrapper (Felix feUBTC←UBTC, USDaf WBTC18←WBTC / ysyBOLD←yBOLD). Deposit /
|
|
305
|
+
* withdraw builders add a wrap/unwrap leg when set. Null/absent = no wrapper.
|
|
306
|
+
*/
|
|
307
|
+
collWrapper?: string | null;
|
|
308
|
+
addressesRegistry: string;
|
|
309
|
+
borrowerOperations: string;
|
|
310
|
+
troveManager: string;
|
|
311
|
+
troveNFT: string;
|
|
312
|
+
stabilityPool: string;
|
|
313
|
+
activePool: string;
|
|
314
|
+
defaultPool?: string;
|
|
315
|
+
sortedTroves: string;
|
|
316
|
+
priceFeed: string;
|
|
317
|
+
gasPool?: string;
|
|
318
|
+
collSurplusPool?: string;
|
|
319
|
+
/** Branch risk ratios, WAD (snapshotted; proxied forks can change them). */
|
|
320
|
+
ccr: string;
|
|
321
|
+
mcr: string;
|
|
322
|
+
scr: string;
|
|
323
|
+
bcr?: string;
|
|
324
|
+
/** Liquidation penalties, WAD (SP offset / redistribution). */
|
|
325
|
+
liquidationPenaltySP?: string;
|
|
326
|
+
liquidationPenaltyRedistribution?: string;
|
|
327
|
+
/** Branch debt cap in stable units, WAD (only forks with `hasDebtCaps`). */
|
|
328
|
+
debtCap?: string | null;
|
|
329
|
+
/** Optional display label, e.g. "Liquity V2 wstETH". */
|
|
330
|
+
name?: string;
|
|
331
|
+
};
|
|
332
|
+
export type LiquityMarketsType = {
|
|
333
|
+
[lender: string]: {
|
|
334
|
+
[chainId: string]: LiquityBranchConfig[];
|
|
335
|
+
};
|
|
336
|
+
};
|
|
337
|
+
/** Per-chain River deployment seed (hand-maintained). */
|
|
338
|
+
export type RiverConfigChain = {
|
|
339
|
+
/** SatoshiXApp — the EIP-2535 diamond ALL ops are called on. */
|
|
340
|
+
xapp: string;
|
|
341
|
+
/** The debt token (satUSD — a LayerZero OFT; address differs per chain). */
|
|
342
|
+
debtToken: string;
|
|
343
|
+
/** Debt token decimals (18 on every known deployment). */
|
|
344
|
+
debtDecimals?: number;
|
|
345
|
+
/** SatoshiPeriphery proxy (native wrap + OFT-send legs; optional, skippable). */
|
|
346
|
+
periphery?: string | null;
|
|
347
|
+
};
|
|
348
|
+
export type RiverConfigType = {
|
|
349
|
+
[lender: string]: {
|
|
350
|
+
[chainId: string]: RiverConfigChain;
|
|
351
|
+
};
|
|
352
|
+
};
|
|
353
|
+
/** One River market (= one TroveManager beacon proxy, one collateral). */
|
|
354
|
+
export type RiverMarketConfig = {
|
|
355
|
+
/** Factory index — also the per-market lender-key suffix (`RIVER_<index>`). */
|
|
356
|
+
index: number;
|
|
357
|
+
troveManager: string;
|
|
358
|
+
sortedTroves?: string;
|
|
359
|
+
collToken: string;
|
|
360
|
+
collDecimals: number;
|
|
361
|
+
/** WAD strings, snapshotted on-chain each refresh (owner-mutable params). */
|
|
362
|
+
mcr: string;
|
|
363
|
+
/** Protocol-set interest rate (raw; currently 0 everywhere). */
|
|
364
|
+
interestRate?: string;
|
|
365
|
+
/** Decaying-baseRate mint-fee bounds, WAD (floor 0.5%, cap 5% typical). */
|
|
366
|
+
borrowingFeeFloor?: string;
|
|
367
|
+
maxBorrowingFee?: string;
|
|
368
|
+
/** Per-market debt ceiling in debt-token units (owner-settable). */
|
|
369
|
+
maxSystemDebt?: string;
|
|
370
|
+
/** Debt-side gas compensation (2 satUSD typical) — minted on open, burned on close. */
|
|
371
|
+
debtGasCompensation?: string;
|
|
372
|
+
paused?: boolean;
|
|
373
|
+
sunsetting?: boolean;
|
|
374
|
+
/** Optional display label, e.g. "satUSD / WETH". */
|
|
375
|
+
name?: string;
|
|
376
|
+
};
|
|
377
|
+
/** Generated per-chain data: diamond-level params + the TroveManager list. */
|
|
378
|
+
export type RiverChainData = {
|
|
379
|
+
/** Diamond-level minimum net debt (owner-settable — refreshed each run). */
|
|
380
|
+
minNetDebt: string;
|
|
381
|
+
markets: RiverMarketConfig[];
|
|
382
|
+
};
|
|
383
|
+
export type RiverMarketsType = {
|
|
384
|
+
[lender: string]: {
|
|
385
|
+
[chainId: string]: RiverChainData;
|
|
386
|
+
};
|
|
387
|
+
};
|
|
116
388
|
type OracleMap = {
|
|
117
389
|
[lender: string]: {
|
|
118
390
|
[chainId: string]: string;
|
|
@@ -527,7 +799,7 @@ export type AaveV4PeripheralsType = {
|
|
|
527
799
|
[chainId: string]: AaveV4ChainPeripherals;
|
|
528
800
|
};
|
|
529
801
|
/** Override datas used in the SDK - works across all module instances */
|
|
530
|
-
export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOverride, aaveOraclesOverride, compoundV2OraclesOverride, compoundV3OraclesDataOverride, compoundV3PoolsOverride, compoundV3BaseDataOverride, morphoPoolsOverride, compoundV2TokensOverride, compoundV2TokenArrayOverride, compoundV2PoolsOverride, initConfigOverride, aaveReservesOverride, compoundV3ReservesOverride, compoundV2ReservesOverride, morphoOraclesOverride, morphoTypeOraclesOverride, morphoTypeMarketsOverride, morphoTypeVaultsOverride, aaveOraclesConfigOverride, compoundV2OraclesConfigOverride, aaveWethGatewayOverride, morphoBundler3Override, listaNativeProviderOverride, midnightConfigOverride, midnightMarketsOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
|
|
802
|
+
export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOverride, aaveOraclesOverride, compoundV2OraclesOverride, compoundV3OraclesDataOverride, compoundV3PoolsOverride, compoundV3BaseDataOverride, morphoPoolsOverride, compoundV2TokensOverride, compoundV2TokenArrayOverride, compoundV2PoolsOverride, initConfigOverride, aaveReservesOverride, compoundV3ReservesOverride, compoundV2ReservesOverride, morphoOraclesOverride, morphoTypeOraclesOverride, morphoTypeMarketsOverride, morphoTypeVaultsOverride, aaveOraclesConfigOverride, compoundV2OraclesConfigOverride, aaveWethGatewayOverride, morphoBundler3Override, listaNativeProviderOverride, midnightConfigOverride, midnightMarketsOverride, termConfigOverride, termMarketsOverride, exactlyConfigOverride, exactlyMarketsOverride, liquityConfigOverride, liquityMarketsOverride, riverConfigOverride, riverMarketsOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
|
|
531
803
|
aaveTokensOverride?: AaveTokensType;
|
|
532
804
|
aavePoolsOverride?: AavePoolsType;
|
|
533
805
|
aaveOraclesOverride?: OracleMap;
|
|
@@ -554,6 +826,14 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
|
|
|
554
826
|
listaNativeProviderOverride?: ListaNativeProviderType;
|
|
555
827
|
midnightConfigOverride?: MidnightConfigType;
|
|
556
828
|
midnightMarketsOverride?: MidnightMarketsType;
|
|
829
|
+
termConfigOverride?: TermConfigType;
|
|
830
|
+
termMarketsOverride?: TermMarketsType;
|
|
831
|
+
exactlyConfigOverride?: ExactlyConfigType;
|
|
832
|
+
exactlyMarketsOverride?: ExactlyMarketsType;
|
|
833
|
+
liquityConfigOverride?: LiquityConfigType;
|
|
834
|
+
liquityMarketsOverride?: LiquityMarketsType;
|
|
835
|
+
riverConfigOverride?: RiverConfigType;
|
|
836
|
+
riverMarketsOverride?: RiverMarketsType;
|
|
557
837
|
compoundV3BulkerOverride?: CompoundV3BulkerType;
|
|
558
838
|
eulerConfigsOverride?: EulerConfigsType;
|
|
559
839
|
eulerVaultsOverride?: EulerVaultsType;
|
|
@@ -604,6 +884,50 @@ export declare const midnightMarkets: () => MidnightMarketsType;
|
|
|
604
884
|
export declare const midnightMarketsByChain: (chainId: string | number) => MidnightMarketConfig[];
|
|
605
885
|
/** Look up one Midnight market config by its bytes32 id (case-insensitive). */
|
|
606
886
|
export declare const midnightMarketById: (chainId: string | number, marketId: string) => MidnightMarketConfig | undefined;
|
|
887
|
+
export declare const termConfig: () => TermConfigType;
|
|
888
|
+
export declare const setTermApiBase: (url: string | undefined | null) => void;
|
|
889
|
+
export declare const termApiBaseOverride: () => string | undefined;
|
|
890
|
+
/**
|
|
891
|
+
* Resolve the Term data endpoint base for a chain: override → config → ''.
|
|
892
|
+
* Term has no public hosted endpoint, so an empty string means "no live data
|
|
893
|
+
* source configured" and callers fall back to static config / on-chain reads.
|
|
894
|
+
*/
|
|
895
|
+
export declare const resolveTermApiBase: (chainId: string) => string;
|
|
896
|
+
export declare const termMarkets: () => TermMarketsType;
|
|
897
|
+
/** All Term Finance market configs on a chain (empty array if none/unloaded). */
|
|
898
|
+
export declare const termMarketsByChain: (chainId: string | number) => TermMarketConfig[];
|
|
899
|
+
/** Look up one Term repo config by its term repo id (case-insensitive). */
|
|
900
|
+
export declare const termMarketById: (chainId: string | number, termRepoId: string) => TermMarketConfig | undefined;
|
|
901
|
+
export declare const exactlyConfig: () => ExactlyConfigType;
|
|
902
|
+
export declare const exactlyMarkets: () => ExactlyMarketsType;
|
|
903
|
+
/** All Exactly market configs on a chain (empty array if none/unloaded). */
|
|
904
|
+
export declare const exactlyMarketsByChain: (chainId: string | number) => ExactlyMarketConfig[];
|
|
905
|
+
/** Look up one Exactly market config by its Market address (case-insensitive). */
|
|
906
|
+
export declare const exactlyMarketByAddress: (chainId: string | number, market: string) => ExactlyMarketConfig | undefined;
|
|
907
|
+
/** Look up one Exactly market config by its underlying asset (case-insensitive). */
|
|
908
|
+
export declare const exactlyMarketByAsset: (chainId: string | number, asset: string) => ExactlyMarketConfig | undefined;
|
|
909
|
+
export declare const liquityConfig: () => LiquityConfigType;
|
|
910
|
+
/** Shared config for one Liquity-family deployment on a chain (undefined if unloaded). */
|
|
911
|
+
export declare const liquityConfigFor: (lender: string, chainId: string | number) => LiquityConfigChain | undefined;
|
|
912
|
+
export declare const liquityMarkets: () => LiquityMarketsType;
|
|
913
|
+
/** All branches of one Liquity-family deployment on a chain (empty if none/unloaded). */
|
|
914
|
+
export declare const liquityBranchesByChain: (lender: string, chainId: string | number) => LiquityBranchConfig[];
|
|
915
|
+
/** Look up one branch by its CollateralRegistry index (the per-branch key suffix). */
|
|
916
|
+
export declare const liquityBranchByIndex: (lender: string, chainId: string | number, collIndex: number | string) => LiquityBranchConfig | undefined;
|
|
917
|
+
/** Look up one branch by its TroveManager address (the marketUid address). */
|
|
918
|
+
export declare const liquityBranchByTroveManager: (lender: string, chainId: string | number, troveManager: string) => LiquityBranchConfig | undefined;
|
|
919
|
+
/** All Liquity-family lender keys with config on a chain (drives getLendersForChain). */
|
|
920
|
+
export declare const liquityLendersByChain: (chainId: string | number) => string[];
|
|
921
|
+
export declare const riverConfig: () => RiverConfigType;
|
|
922
|
+
/** Deployment seed for one River lender on a chain (undefined if unloaded). */
|
|
923
|
+
export declare const riverConfigFor: (lender: string, chainId: string | number) => RiverConfigChain | undefined;
|
|
924
|
+
export declare const riverMarkets: () => RiverMarketsType;
|
|
925
|
+
/** Generated chain data (minNetDebt + TroveManager list; undefined if unloaded). */
|
|
926
|
+
export declare const riverChainData: (lender: string, chainId: string | number) => RiverChainData | undefined;
|
|
927
|
+
/** Look up one River market by its factory index (the per-market key suffix). */
|
|
928
|
+
export declare const riverMarketByIndex: (lender: string, chainId: string | number, index: number | string) => RiverMarketConfig | undefined;
|
|
929
|
+
/** All River lender keys with config on a chain (drives getLendersForChain). */
|
|
930
|
+
export declare const riverLendersByChain: (chainId: string | number) => string[];
|
|
607
931
|
export declare const compoundV3Bulker: () => CompoundV3BulkerType;
|
|
608
932
|
export declare const eulerConfigs: () => EulerConfigsType;
|
|
609
933
|
export declare const eulerVaults: () => EulerVaultsType;
|