@1delta/data-sdk 0.0.24 → 0.0.26

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
@@ -32,6 +32,7 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
32
32
  morphoOracles: {},
33
33
  morphoTypeOracles: {},
34
34
  morphoTypeMarkets: {},
35
+ morphoTypeVaults: {},
35
36
  aaveOraclesConfig: {},
36
37
  aaveWethGateway: {},
37
38
  morphoBundler3: {},
@@ -48,7 +49,11 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
48
49
  siloPeripheralsV3: {},
49
50
  fluidResolvers: {},
50
51
  fluidVaults: {},
51
- gearboxResolvers: {}
52
+ gearboxResolvers: {
53
+ addressProviderV310: "",
54
+ marketCompressorV310: "",
55
+ chains: {}
56
+ }
52
57
  };
53
58
  function getGlobalData2() {
54
59
  return globalThis[GLOBAL_LENDER_DATA_KEY];
@@ -72,6 +77,7 @@ function initializeLenderData({
72
77
  morphoOraclesOverride,
73
78
  morphoTypeOraclesOverride,
74
79
  morphoTypeMarketsOverride,
80
+ morphoTypeVaultsOverride,
75
81
  aaveOraclesConfigOverride,
76
82
  aaveWethGatewayOverride,
77
83
  morphoBundler3Override,
@@ -109,6 +115,7 @@ function initializeLenderData({
109
115
  if (morphoOraclesOverride) data.morphoOracles = morphoOraclesOverride;
110
116
  if (morphoTypeOraclesOverride) data.morphoTypeOracles = morphoTypeOraclesOverride;
111
117
  if (morphoTypeMarketsOverride) data.morphoTypeMarkets = morphoTypeMarketsOverride;
118
+ if (morphoTypeVaultsOverride) data.morphoTypeVaults = morphoTypeVaultsOverride;
112
119
  if (aaveOraclesConfigOverride) data.aaveOraclesConfig = aaveOraclesConfigOverride;
113
120
  if (aaveWethGatewayOverride) data.aaveWethGateway = aaveWethGatewayOverride;
114
121
  if (morphoBundler3Override) data.morphoBundler3 = morphoBundler3Override;
@@ -137,6 +144,7 @@ var compoundV3OraclesData = () => getGlobalData2()?.compoundV3OraclesData;
137
144
  var morphoOracles = () => getGlobalData2()?.morphoOracles;
138
145
  var morphoTypeOracles = () => getGlobalData2()?.morphoTypeOracles;
139
146
  var morphoTypeMarkets = () => getGlobalData2()?.morphoTypeMarkets;
147
+ var morphoTypeVaults = () => getGlobalData2()?.morphoTypeVaults;
140
148
  var aaveReserves = () => getGlobalData2()?.aaveReserves;
141
149
  var compoundV3Reserves = () => getGlobalData2()?.compoundV3Reserves;
142
150
  var compoundV2Reserves = () => getGlobalData2()?.compoundV2Reserves;
@@ -165,7 +173,13 @@ var fluidResolvers = () => getGlobalData2()?.fluidResolvers;
165
173
  var fluidVaults = () => getGlobalData2()?.fluidVaults;
166
174
  var fluidChains = () => Object.keys(getGlobalData2()?.fluidResolvers ?? {});
167
175
  var gearboxResolvers = () => getGlobalData2()?.gearboxResolvers;
168
- var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers ?? {});
176
+ var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers?.chains ?? {});
177
+ var gearboxMarketCompressor = () => getGlobalData2()?.gearboxResolvers?.marketCompressorV310 || void 0;
178
+ var gearboxAddressProviderV310 = () => getGlobalData2()?.gearboxResolvers?.addressProviderV310 || void 0;
179
+ var gearboxBotListV3 = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.botList || void 0;
180
+ var GEARBOX_ACCOUNT_COMPRESSOR_V310 = "0x4115708Fc8fe6bB392De2e0C21c2C81dA2222394";
181
+ var gearboxAccountCompressor = () => GEARBOX_ACCOUNT_COMPRESSOR_V310;
182
+ var gearboxMarketConfigurators = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.marketConfigurators;
169
183
  var fluidVaultEntries = (chainId) => Object.entries(getGlobalData2()?.fluidVaults?.[chainId] ?? {});
170
184
  function getAaveV4SpokeEntry(chainId, lenderKey) {
171
185
  const parsed = parseAaveV4SpokeLenderKey(lenderKey);
@@ -286,6 +300,7 @@ async function fetchTokenLists(chainIds) {
286
300
  return Object.fromEntries(results);
287
301
  }
288
302
 
303
+ exports.GEARBOX_ACCOUNT_COMPRESSOR_V310 = GEARBOX_ACCOUNT_COMPRESSOR_V310;
289
304
  exports.aaveOracles = aaveOracles;
290
305
  exports.aaveOraclesConfig = aaveOraclesConfig;
291
306
  exports.aavePools = aavePools;
@@ -316,7 +331,12 @@ exports.fluidChains = fluidChains;
316
331
  exports.fluidResolvers = fluidResolvers;
317
332
  exports.fluidVaultEntries = fluidVaultEntries;
318
333
  exports.fluidVaults = fluidVaults;
334
+ exports.gearboxAccountCompressor = gearboxAccountCompressor;
335
+ exports.gearboxAddressProviderV310 = gearboxAddressProviderV310;
336
+ exports.gearboxBotListV3 = gearboxBotListV3;
319
337
  exports.gearboxChains = gearboxChains;
338
+ exports.gearboxMarketCompressor = gearboxMarketCompressor;
339
+ exports.gearboxMarketConfigurators = gearboxMarketConfigurators;
320
340
  exports.gearboxResolvers = gearboxResolvers;
321
341
  exports.gearboxV3LenderKey = gearboxV3LenderKey;
322
342
  exports.getAaveV4GatewayAddresses = getAaveV4GatewayAddresses;
@@ -334,6 +354,7 @@ exports.morphoOracles = morphoOracles;
334
354
  exports.morphoPools = morphoPools;
335
355
  exports.morphoTypeMarkets = morphoTypeMarkets;
336
356
  exports.morphoTypeOracles = morphoTypeOracles;
357
+ exports.morphoTypeVaults = morphoTypeVaults;
337
358
  exports.parseAaveV4SpokeLenderKey = parseAaveV4SpokeLenderKey;
338
359
  exports.parseGearboxV3LenderKey = parseGearboxV3LenderKey;
339
360
  exports.parseSiloV2LenderKey = parseSiloV2LenderKey;
package/dist/index.mjs CHANGED
@@ -30,6 +30,7 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
30
30
  morphoOracles: {},
31
31
  morphoTypeOracles: {},
32
32
  morphoTypeMarkets: {},
33
+ morphoTypeVaults: {},
33
34
  aaveOraclesConfig: {},
34
35
  aaveWethGateway: {},
35
36
  morphoBundler3: {},
@@ -46,7 +47,11 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
46
47
  siloPeripheralsV3: {},
47
48
  fluidResolvers: {},
48
49
  fluidVaults: {},
49
- gearboxResolvers: {}
50
+ gearboxResolvers: {
51
+ addressProviderV310: "",
52
+ marketCompressorV310: "",
53
+ chains: {}
54
+ }
50
55
  };
51
56
  function getGlobalData2() {
52
57
  return globalThis[GLOBAL_LENDER_DATA_KEY];
@@ -70,6 +75,7 @@ function initializeLenderData({
70
75
  morphoOraclesOverride,
71
76
  morphoTypeOraclesOverride,
72
77
  morphoTypeMarketsOverride,
78
+ morphoTypeVaultsOverride,
73
79
  aaveOraclesConfigOverride,
74
80
  aaveWethGatewayOverride,
75
81
  morphoBundler3Override,
@@ -107,6 +113,7 @@ function initializeLenderData({
107
113
  if (morphoOraclesOverride) data.morphoOracles = morphoOraclesOverride;
108
114
  if (morphoTypeOraclesOverride) data.morphoTypeOracles = morphoTypeOraclesOverride;
109
115
  if (morphoTypeMarketsOverride) data.morphoTypeMarkets = morphoTypeMarketsOverride;
116
+ if (morphoTypeVaultsOverride) data.morphoTypeVaults = morphoTypeVaultsOverride;
110
117
  if (aaveOraclesConfigOverride) data.aaveOraclesConfig = aaveOraclesConfigOverride;
111
118
  if (aaveWethGatewayOverride) data.aaveWethGateway = aaveWethGatewayOverride;
112
119
  if (morphoBundler3Override) data.morphoBundler3 = morphoBundler3Override;
@@ -135,6 +142,7 @@ var compoundV3OraclesData = () => getGlobalData2()?.compoundV3OraclesData;
135
142
  var morphoOracles = () => getGlobalData2()?.morphoOracles;
136
143
  var morphoTypeOracles = () => getGlobalData2()?.morphoTypeOracles;
137
144
  var morphoTypeMarkets = () => getGlobalData2()?.morphoTypeMarkets;
145
+ var morphoTypeVaults = () => getGlobalData2()?.morphoTypeVaults;
138
146
  var aaveReserves = () => getGlobalData2()?.aaveReserves;
139
147
  var compoundV3Reserves = () => getGlobalData2()?.compoundV3Reserves;
140
148
  var compoundV2Reserves = () => getGlobalData2()?.compoundV2Reserves;
@@ -163,7 +171,13 @@ var fluidResolvers = () => getGlobalData2()?.fluidResolvers;
163
171
  var fluidVaults = () => getGlobalData2()?.fluidVaults;
164
172
  var fluidChains = () => Object.keys(getGlobalData2()?.fluidResolvers ?? {});
165
173
  var gearboxResolvers = () => getGlobalData2()?.gearboxResolvers;
166
- var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers ?? {});
174
+ var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers?.chains ?? {});
175
+ var gearboxMarketCompressor = () => getGlobalData2()?.gearboxResolvers?.marketCompressorV310 || void 0;
176
+ var gearboxAddressProviderV310 = () => getGlobalData2()?.gearboxResolvers?.addressProviderV310 || void 0;
177
+ var gearboxBotListV3 = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.botList || void 0;
178
+ var GEARBOX_ACCOUNT_COMPRESSOR_V310 = "0x4115708Fc8fe6bB392De2e0C21c2C81dA2222394";
179
+ var gearboxAccountCompressor = () => GEARBOX_ACCOUNT_COMPRESSOR_V310;
180
+ var gearboxMarketConfigurators = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.marketConfigurators;
167
181
  var fluidVaultEntries = (chainId) => Object.entries(getGlobalData2()?.fluidVaults?.[chainId] ?? {});
168
182
  function getAaveV4SpokeEntry(chainId, lenderKey) {
169
183
  const parsed = parseAaveV4SpokeLenderKey(lenderKey);
@@ -284,4 +298,4 @@ async function fetchTokenLists(chainIds) {
284
298
  return Object.fromEntries(results);
285
299
  }
286
300
 
287
- export { aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, chains, compoundV2Oracles, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, eulerConfigs, eulerVaults, fetchTokenList, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, gearboxChains, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, listaNativeProvider, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey };
301
+ export { GEARBOX_ACCOUNT_COMPRESSOR_V310, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, chains, compoundV2Oracles, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, eulerConfigs, eulerVaults, fetchTokenList, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, listaNativeProvider, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey };
package/dist/lending.d.ts CHANGED
@@ -179,12 +179,43 @@ type MorphoTypeMarkets = {
179
179
  [chainId: string]: string[];
180
180
  };
181
181
  };
182
- export type GearboxResolvers = {
183
- addressProvider: string;
184
- dataCompressor: string;
182
+ /**
183
+ * Static MetaMorpho-shaped vault registry, keyed by curator-protocol then chain.
184
+ * Sourced from `data/morpho-type-vaults.json` in `lender-metadata`. Used by the
185
+ * on-chain `fetchMorphoVaultsFromChain` path for forks / chains where the
186
+ * Morpho public API or Goldsky subgraph isn't available.
187
+ */
188
+ export type MorphoTypeVaultEntry = {
189
+ /** Lowercased vault (share-token) contract address. */
190
+ vault: string;
191
+ /** Lowercased underlying ERC20 address. */
192
+ underlying: string;
193
+ /** Curated display name (e.g. `Lista USD1 Vault`). Optional. */
194
+ name?: string;
195
+ };
196
+ export type MorphoTypeVaultsType = {
197
+ [protocol: string]: {
198
+ [chainId: string]: MorphoTypeVaultEntry[];
199
+ };
200
+ };
201
+ export type GearboxChainResolvers = {
202
+ /** curator address (lowercased) → curator display name */
203
+ marketConfigurators: {
204
+ [addr: string]: string;
205
+ };
206
+ /**
207
+ * BotListV3 contract address for this chain. Used by the lender-permission
208
+ * fetch to read `botPermissions(bot, creditManager, borrower)`. Sourced
209
+ * upstream via `AddressProviderV310.getAddressOrRevert("BOT_LIST", 3_10)`.
210
+ */
211
+ botList?: string;
185
212
  };
186
213
  export type GearboxResolversType = {
187
- [chainId: string]: GearboxResolvers;
214
+ addressProviderV310: string;
215
+ marketCompressorV310: string;
216
+ chains: {
217
+ [chainId: string]: GearboxChainResolvers;
218
+ };
188
219
  };
189
220
  type AaveOraclesConfigEntry = {
190
221
  /** Base asset address (if lender uses non-USD base) */
@@ -383,7 +414,7 @@ export type AaveV4PeripheralsType = {
383
414
  [chainId: string]: AaveV4ChainPeripherals;
384
415
  };
385
416
  /** Override datas used in the SDK - works across all module instances */
386
- export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOverride, aaveOraclesOverride, compoundV2OraclesOverride, compoundV3OraclesDataOverride, compoundV3PoolsOverride, compoundV3BaseDataOverride, morphoPoolsOverride, compoundV2TokensOverride, compoundV2TokenArrayOverride, compoundV2PoolsOverride, initConfigOverride, aaveReservesOverride, compoundV3ReservesOverride, compoundV2ReservesOverride, morphoOraclesOverride, morphoTypeOraclesOverride, morphoTypeMarketsOverride, aaveOraclesConfigOverride, aaveWethGatewayOverride, morphoBundler3Override, listaNativeProviderOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
417
+ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOverride, aaveOraclesOverride, compoundV2OraclesOverride, compoundV3OraclesDataOverride, compoundV3PoolsOverride, compoundV3BaseDataOverride, morphoPoolsOverride, compoundV2TokensOverride, compoundV2TokenArrayOverride, compoundV2PoolsOverride, initConfigOverride, aaveReservesOverride, compoundV3ReservesOverride, compoundV2ReservesOverride, morphoOraclesOverride, morphoTypeOraclesOverride, morphoTypeMarketsOverride, morphoTypeVaultsOverride, aaveOraclesConfigOverride, aaveWethGatewayOverride, morphoBundler3Override, listaNativeProviderOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
387
418
  aaveTokensOverride?: AaveTokensType;
388
419
  aavePoolsOverride?: AavePoolsType;
389
420
  aaveOraclesOverride?: OracleMap;
@@ -402,6 +433,7 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
402
433
  morphoOraclesOverride?: MorphoOracles;
403
434
  morphoTypeOraclesOverride?: MorphoTypeOracles;
404
435
  morphoTypeMarketsOverride?: MorphoTypeMarkets;
436
+ morphoTypeVaultsOverride?: MorphoTypeVaultsType;
405
437
  aaveOraclesConfigOverride?: AaveOraclesConfigType;
406
438
  aaveWethGatewayOverride?: AaveWethGatewayType;
407
439
  morphoBundler3Override?: MorphoBundler3Type;
@@ -428,6 +460,7 @@ export declare const compoundV3OraclesData: () => CompoundV3OracleDataMap;
428
460
  export declare const morphoOracles: () => MorphoOracles;
429
461
  export declare const morphoTypeOracles: () => MorphoTypeOracles;
430
462
  export declare const morphoTypeMarkets: () => MorphoTypeMarkets;
463
+ export declare const morphoTypeVaults: () => MorphoTypeVaultsType;
431
464
  export declare const aaveReserves: () => GeneralReservesMap;
432
465
  export declare const compoundV3Reserves: () => GeneralReservesMap;
433
466
  export declare const compoundV2Reserves: () => GeneralReservesMap;
@@ -457,8 +490,39 @@ export declare const fluidVaults: () => FluidVaultsType;
457
490
  /** List of chains where Fluid resolvers are registered. */
458
491
  export declare const fluidChains: () => string[];
459
492
  export declare const gearboxResolvers: () => GearboxResolversType;
460
- /** List of chains where Gearbox V3 resolvers are registered. */
493
+ /** List of chains where Gearbox V3.1 configurators are registered. */
461
494
  export declare const gearboxChains: () => string[];
495
+ /** V3.1 deterministic MarketCompressor address (same on every chain). */
496
+ export declare const gearboxMarketCompressor: () => string | undefined;
497
+ /** V3.1 deterministic AddressProvider address (same on every chain). */
498
+ export declare const gearboxAddressProviderV310: () => string | undefined;
499
+ /**
500
+ * BotListV3 contract address for a chain — used by the lender-permission
501
+ * fetch to read `botPermissions(bot, creditManager, borrower)`. Read from
502
+ * the per-chain `gearbox-resolvers.json` entry (`chains[chainId].botList`).
503
+ * Returns `undefined` when the metadata layer hasn't provided one yet.
504
+ */
505
+ export declare const gearboxBotListV3: (chainId: string) => string | undefined;
506
+ /**
507
+ * V3.1 deterministic CreditAccountCompressor address.
508
+ *
509
+ * Same CREATE2-derived address on every Gearbox V3.1 chain. Not in the
510
+ * resolvers JSON yet — hardcoded here until we decide whether to surface
511
+ * it in `lender-metadata` (the config gains no flexibility; the address
512
+ * is fixed across chains).
513
+ */
514
+ export declare const GEARBOX_ACCOUNT_COMPRESSOR_V310 = "0x4115708Fc8fe6bB392De2e0C21c2C81dA2222394";
515
+ export declare const gearboxAccountCompressor: () => string;
516
+ /**
517
+ * MarketConfigurator address → curator name for a given chain, or
518
+ * `undefined` if no curator is registered on that chain.
519
+ *
520
+ * Configurators are the entry point into `MarketCompressor.getMarkets`
521
+ * — each one is operated by a known curator (cp0x, Re7, Chaos Labs, …).
522
+ */
523
+ export declare const gearboxMarketConfigurators: (chainId: string) => {
524
+ [addr: string]: string;
525
+ } | undefined;
462
526
  /** Vault entries for a chain as `[address, meta]` tuples. */
463
527
  export declare const fluidVaultEntries: (chainId: string) => [string, FluidVaultMeta][];
464
528
  /**
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.0.24",
7
+ "version": "0.0.26",
8
8
  "description": "Hold and initialize lending protocol data across a stack",
9
9
  "files": [
10
10
  "dist"