@1delta/data-sdk 0.0.28 → 0.0.30

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/dist/index.js CHANGED
@@ -65,6 +65,8 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
65
65
  aaveWethGateway: {},
66
66
  morphoBundler3: {},
67
67
  listaNativeProvider: {},
68
+ midnightConfig: {},
69
+ midnightMarkets: {},
68
70
  compoundV3Bulker: {},
69
71
  eulerConfigs: {},
70
72
  eulerVaults: {},
@@ -113,6 +115,8 @@ function initializeLenderData({
113
115
  aaveWethGatewayOverride,
114
116
  morphoBundler3Override,
115
117
  listaNativeProviderOverride,
118
+ midnightConfigOverride,
119
+ midnightMarketsOverride,
116
120
  compoundV3BulkerOverride,
117
121
  eulerConfigsOverride,
118
122
  eulerVaultsOverride,
@@ -154,6 +158,8 @@ function initializeLenderData({
154
158
  if (aaveWethGatewayOverride) data.aaveWethGateway = aaveWethGatewayOverride;
155
159
  if (morphoBundler3Override) data.morphoBundler3 = morphoBundler3Override;
156
160
  if (listaNativeProviderOverride) data.listaNativeProvider = listaNativeProviderOverride;
161
+ if (midnightConfigOverride) data.midnightConfig = midnightConfigOverride;
162
+ if (midnightMarketsOverride) data.midnightMarkets = midnightMarketsOverride;
157
163
  if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
158
164
  if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
159
165
  if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
@@ -196,6 +202,24 @@ var compoundV2OraclesConfig = () => getGlobalData2()?.compoundV2OraclesConfig;
196
202
  var aaveWethGateway = () => getGlobalData2()?.aaveWethGateway;
197
203
  var morphoBundler3 = () => getGlobalData2()?.morphoBundler3;
198
204
  var listaNativeProvider = () => getGlobalData2()?.listaNativeProvider;
205
+ var midnightConfig = () => getGlobalData2()?.midnightConfig;
206
+ var MIDNIGHT_API_OVERRIDE_KEY = "__1delta_midnight_api_base__";
207
+ var setMidnightApiBase = (url) => {
208
+ globalThis[MIDNIGHT_API_OVERRIDE_KEY] = url && url.length > 0 ? url : void 0;
209
+ };
210
+ var midnightApiBaseOverride = () => globalThis[MIDNIGHT_API_OVERRIDE_KEY];
211
+ var resolveMidnightApiBase = (chainId) => {
212
+ const override = midnightApiBaseOverride();
213
+ if (override) return override.replace(/\/+$/, "");
214
+ const cfg = midnightConfig()?.[chainId]?.apiBaseUrl;
215
+ return (cfg && cfg.length > 0 ? cfg : "https://api.morpho.org/v0/midnight").replace(/\/+$/, "");
216
+ };
217
+ var midnightMarkets = () => getGlobalData2()?.midnightMarkets;
218
+ var midnightMarketsByChain = (chainId) => getGlobalData2()?.midnightMarkets?.[String(chainId)] ?? [];
219
+ var midnightMarketById = (chainId, marketId) => {
220
+ const lower = marketId.toLowerCase();
221
+ return midnightMarketsByChain(chainId).find((m) => m.marketId.toLowerCase() === lower);
222
+ };
199
223
  var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
200
224
  var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
201
225
  var eulerVaults = () => getGlobalData2()?.eulerVaults;
@@ -405,6 +429,11 @@ exports.initConfig = initConfig;
405
429
  exports.initializeChainData = initializeChainData;
406
430
  exports.initializeLenderData = initializeLenderData;
407
431
  exports.listaNativeProvider = listaNativeProvider;
432
+ exports.midnightApiBaseOverride = midnightApiBaseOverride;
433
+ exports.midnightConfig = midnightConfig;
434
+ exports.midnightMarketById = midnightMarketById;
435
+ exports.midnightMarkets = midnightMarkets;
436
+ exports.midnightMarketsByChain = midnightMarketsByChain;
408
437
  exports.morphoBundler3 = morphoBundler3;
409
438
  exports.morphoOracles = morphoOracles;
410
439
  exports.morphoPools = morphoPools;
@@ -415,6 +444,8 @@ exports.parseAaveV4SpokeLenderKey = parseAaveV4SpokeLenderKey;
415
444
  exports.parseGearboxV3LenderKey = parseGearboxV3LenderKey;
416
445
  exports.parseSiloV2LenderKey = parseSiloV2LenderKey;
417
446
  exports.parseSiloV3LenderKey = parseSiloV3LenderKey;
447
+ exports.resolveMidnightApiBase = resolveMidnightApiBase;
448
+ exports.setMidnightApiBase = setMidnightApiBase;
418
449
  exports.siloMarkets = siloMarkets;
419
450
  exports.siloMarketsV3 = siloMarketsV3;
420
451
  exports.siloPeripherals = siloPeripherals;
package/dist/index.mjs CHANGED
@@ -63,6 +63,8 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
63
63
  aaveWethGateway: {},
64
64
  morphoBundler3: {},
65
65
  listaNativeProvider: {},
66
+ midnightConfig: {},
67
+ midnightMarkets: {},
66
68
  compoundV3Bulker: {},
67
69
  eulerConfigs: {},
68
70
  eulerVaults: {},
@@ -111,6 +113,8 @@ function initializeLenderData({
111
113
  aaveWethGatewayOverride,
112
114
  morphoBundler3Override,
113
115
  listaNativeProviderOverride,
116
+ midnightConfigOverride,
117
+ midnightMarketsOverride,
114
118
  compoundV3BulkerOverride,
115
119
  eulerConfigsOverride,
116
120
  eulerVaultsOverride,
@@ -152,6 +156,8 @@ function initializeLenderData({
152
156
  if (aaveWethGatewayOverride) data.aaveWethGateway = aaveWethGatewayOverride;
153
157
  if (morphoBundler3Override) data.morphoBundler3 = morphoBundler3Override;
154
158
  if (listaNativeProviderOverride) data.listaNativeProvider = listaNativeProviderOverride;
159
+ if (midnightConfigOverride) data.midnightConfig = midnightConfigOverride;
160
+ if (midnightMarketsOverride) data.midnightMarkets = midnightMarketsOverride;
155
161
  if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
156
162
  if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
157
163
  if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
@@ -194,6 +200,24 @@ var compoundV2OraclesConfig = () => getGlobalData2()?.compoundV2OraclesConfig;
194
200
  var aaveWethGateway = () => getGlobalData2()?.aaveWethGateway;
195
201
  var morphoBundler3 = () => getGlobalData2()?.morphoBundler3;
196
202
  var listaNativeProvider = () => getGlobalData2()?.listaNativeProvider;
203
+ var midnightConfig = () => getGlobalData2()?.midnightConfig;
204
+ var MIDNIGHT_API_OVERRIDE_KEY = "__1delta_midnight_api_base__";
205
+ var setMidnightApiBase = (url) => {
206
+ globalThis[MIDNIGHT_API_OVERRIDE_KEY] = url && url.length > 0 ? url : void 0;
207
+ };
208
+ var midnightApiBaseOverride = () => globalThis[MIDNIGHT_API_OVERRIDE_KEY];
209
+ var resolveMidnightApiBase = (chainId) => {
210
+ const override = midnightApiBaseOverride();
211
+ if (override) return override.replace(/\/+$/, "");
212
+ const cfg = midnightConfig()?.[chainId]?.apiBaseUrl;
213
+ return (cfg && cfg.length > 0 ? cfg : "https://api.morpho.org/v0/midnight").replace(/\/+$/, "");
214
+ };
215
+ var midnightMarkets = () => getGlobalData2()?.midnightMarkets;
216
+ var midnightMarketsByChain = (chainId) => getGlobalData2()?.midnightMarkets?.[String(chainId)] ?? [];
217
+ var midnightMarketById = (chainId, marketId) => {
218
+ const lower = marketId.toLowerCase();
219
+ return midnightMarketsByChain(chainId).find((m) => m.marketId.toLowerCase() === lower);
220
+ };
197
221
  var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
198
222
  var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
199
223
  var eulerVaults = () => getGlobalData2()?.eulerVaults;
@@ -347,4 +371,4 @@ async function fetchTokenLists(chainIds) {
347
371
  return Object.fromEntries(results);
348
372
  }
349
373
 
350
- 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, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey };
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 };
package/dist/lending.d.ts CHANGED
@@ -66,6 +66,53 @@ type ListaNativeProviderType = {
66
66
  nativeProvider: string;
67
67
  };
68
68
  };
69
+ /** Per-chain Midnight deployment addresses + HTTP API endpoint. */
70
+ export type MidnightConfigChain = {
71
+ /** Core Midnight contract. */
72
+ midnight: string;
73
+ /** MidnightBundlesV1 periphery (spot supply/borrow/repay bundles). */
74
+ midnightBundles: string;
75
+ /** On-chain mempool log contract where signed offers are published. */
76
+ midnightMempool: string;
77
+ ecrecoverRatifier?: string | null;
78
+ ecrecoverAuthorizer?: string | null;
79
+ setterRatifier?: string | null;
80
+ /** Midnight HTTP API base for book/quote/offer data (defaults to Morpho hosted). */
81
+ apiBaseUrl?: string | null;
82
+ };
83
+ export type MidnightConfigType = {
84
+ [chainId: string]: MidnightConfigChain;
85
+ };
86
+ /** One collateral leg of a Midnight market (mirrors on-chain CollateralParams). */
87
+ export type MidnightCollateralParam = {
88
+ token: string;
89
+ /** WAD-scaled liquidation LTV (as string). */
90
+ lltv: string;
91
+ /** WAD-scaled liquidation cursor (as string). */
92
+ liquidationCursor: string;
93
+ oracle: string;
94
+ decimals: number;
95
+ };
96
+ /** A Midnight market: full struct params needed to build calls + read state. */
97
+ export type MidnightMarketConfig = {
98
+ /** bytes32 market id (IdLib hash of the Market struct). */
99
+ marketId: string;
100
+ loanToken: string;
101
+ loanDecimals: number;
102
+ /** Ordered collateral legs; index = the on-chain `collateralIndex`. */
103
+ collateralParams: MidnightCollateralParam[];
104
+ /** Maturity, unix seconds (as string). */
105
+ maturity: string;
106
+ /** Recovery-close-factor threshold (WAD, as string). */
107
+ rcfThreshold: string;
108
+ enterGate: string;
109
+ liquidatorGate: string;
110
+ /** Optional display label, e.g. "USDC / WETH — 2026-09-18". */
111
+ name?: string;
112
+ };
113
+ export type MidnightMarketsType = {
114
+ [chainId: string]: MidnightMarketConfig[];
115
+ };
69
116
  type OracleMap = {
70
117
  [lender: string]: {
71
118
  [chainId: string]: string;
@@ -192,6 +239,11 @@ export type MorphoTypeVaultEntry = {
192
239
  underlying: string;
193
240
  /** Curated display name (e.g. `Lista USD1 Vault`). Optional. */
194
241
  name?: string;
242
+ /** Vault interface version. `v1` = MetaMorpho (withdraw-queue → markets);
243
+ * `v2` = Vaults V2 (adapter-based). Drives the on-chain fetcher's
244
+ * allocation walk. Absent ⇒ the fetcher auto-detects on-chain
245
+ * (`adaptersLength()` present ⇒ v2). */
246
+ version?: 'v1' | 'v2';
195
247
  };
196
248
  export type MorphoTypeVaultsType = {
197
249
  [protocol: string]: {
@@ -278,6 +330,12 @@ export type DolomiteConfigEntry = {
278
330
  [marketId: string]: string;
279
331
  };
280
332
  depositWithdrawalProxy?: string;
333
+ /**
334
+ * Modern DepositWithdrawalRouter — required for NATIVE (ETH/BNB) wrap/unwrap
335
+ * ops. The legacy `depositWithdrawalProxy` rejects direct EOA native sends
336
+ * ("invalid ETH sender"); ERC-20 deposits/withdrawals still use the proxy.
337
+ */
338
+ depositWithdrawalRouter?: string;
281
339
  borrowPositionProxy?: string;
282
340
  genericTraderProxy?: string;
283
341
  aggregatorTraders?: {
@@ -469,7 +527,7 @@ export type AaveV4PeripheralsType = {
469
527
  [chainId: string]: AaveV4ChainPeripherals;
470
528
  };
471
529
  /** Override datas used in the SDK - works across all module instances */
472
- 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, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
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, }: {
473
531
  aaveTokensOverride?: AaveTokensType;
474
532
  aavePoolsOverride?: AavePoolsType;
475
533
  aaveOraclesOverride?: OracleMap;
@@ -494,6 +552,8 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
494
552
  aaveWethGatewayOverride?: AaveWethGatewayType;
495
553
  morphoBundler3Override?: MorphoBundler3Type;
496
554
  listaNativeProviderOverride?: ListaNativeProviderType;
555
+ midnightConfigOverride?: MidnightConfigType;
556
+ midnightMarketsOverride?: MidnightMarketsType;
497
557
  compoundV3BulkerOverride?: CompoundV3BulkerType;
498
558
  eulerConfigsOverride?: EulerConfigsType;
499
559
  eulerVaultsOverride?: EulerVaultsType;
@@ -534,6 +594,16 @@ export declare const compoundV2OraclesConfig: () => CompoundV2OraclesConfigType;
534
594
  export declare const aaveWethGateway: () => AaveWethGatewayType;
535
595
  export declare const morphoBundler3: () => MorphoBundler3Type;
536
596
  export declare const listaNativeProvider: () => ListaNativeProviderType;
597
+ export declare const midnightConfig: () => MidnightConfigType;
598
+ export declare const setMidnightApiBase: (url: string | undefined | null) => void;
599
+ export declare const midnightApiBaseOverride: () => string | undefined;
600
+ /** Resolve the Midnight API base for a chain: override → config → hosted default. */
601
+ export declare const resolveMidnightApiBase: (chainId: string) => string;
602
+ export declare const midnightMarkets: () => MidnightMarketsType;
603
+ /** All Midnight market configs on a chain (empty array if none/unloaded). */
604
+ export declare const midnightMarketsByChain: (chainId: string | number) => MidnightMarketConfig[];
605
+ /** Look up one Midnight market config by its bytes32 id (case-insensitive). */
606
+ export declare const midnightMarketById: (chainId: string | number, marketId: string) => MidnightMarketConfig | undefined;
537
607
  export declare const compoundV3Bulker: () => CompoundV3BulkerType;
538
608
  export declare const eulerConfigs: () => EulerConfigsType;
539
609
  export declare const eulerVaults: () => EulerVaultsType;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.0.28",
7
+ "version": "0.0.30",
8
8
  "description": "Hold and initialize lending protocol data across a stack",
9
9
  "files": [
10
10
  "dist"