@1delta/data-sdk 0.0.23 → 0.0.24

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
@@ -47,7 +47,8 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
47
47
  siloMarketsV3: {},
48
48
  siloPeripheralsV3: {},
49
49
  fluidResolvers: {},
50
- fluidVaults: {}
50
+ fluidVaults: {},
51
+ gearboxResolvers: {}
51
52
  };
52
53
  function getGlobalData2() {
53
54
  return globalThis[GLOBAL_LENDER_DATA_KEY];
@@ -86,7 +87,8 @@ function initializeLenderData({
86
87
  siloMarketsV3Override,
87
88
  siloPeripheralsV3Override,
88
89
  fluidResolversOverride,
89
- fluidVaultsOverride
90
+ fluidVaultsOverride,
91
+ gearboxResolversOverride
90
92
  }) {
91
93
  const data = getGlobalData2();
92
94
  if (aaveTokensOverride) data.aaveTokens = aaveTokensOverride;
@@ -125,6 +127,7 @@ function initializeLenderData({
125
127
  data.siloPeripheralsV3 = siloPeripheralsV3Override;
126
128
  if (fluidResolversOverride) data.fluidResolvers = fluidResolversOverride;
127
129
  if (fluidVaultsOverride) data.fluidVaults = fluidVaultsOverride;
130
+ if (gearboxResolversOverride) data.gearboxResolvers = gearboxResolversOverride;
128
131
  }
129
132
  var aaveTokens = () => getGlobalData2()?.aaveTokens;
130
133
  var aavePools = () => getGlobalData2()?.aavePools;
@@ -161,6 +164,8 @@ var siloPeripheralsV3 = () => getGlobalData2()?.siloPeripheralsV3;
161
164
  var fluidResolvers = () => getGlobalData2()?.fluidResolvers;
162
165
  var fluidVaults = () => getGlobalData2()?.fluidVaults;
163
166
  var fluidChains = () => Object.keys(getGlobalData2()?.fluidResolvers ?? {});
167
+ var gearboxResolvers = () => getGlobalData2()?.gearboxResolvers;
168
+ var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers ?? {});
164
169
  var fluidVaultEntries = (chainId) => Object.entries(getGlobalData2()?.fluidVaults?.[chainId] ?? {});
165
170
  function getAaveV4SpokeEntry(chainId, lenderKey) {
166
171
  const parsed = parseAaveV4SpokeLenderKey(lenderKey);
@@ -251,6 +256,19 @@ function getSiloV3MarketEntry(chainId, lenderKey) {
251
256
  (m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower
252
257
  );
253
258
  }
259
+ function gearboxV3LenderKey(creditManager) {
260
+ if (!creditManager || !creditManager.startsWith("0x") || creditManager.length !== 42) {
261
+ throw new Error(
262
+ `gearboxV3LenderKey: invalid creditManager address ${creditManager}`
263
+ );
264
+ }
265
+ return `GEARBOX_V3_${creditManager.slice(2).toUpperCase()}`;
266
+ }
267
+ function parseGearboxV3LenderKey(lenderKey) {
268
+ const match = lenderKey.match(/^GEARBOX_V3_([0-9A-F]{40})$/);
269
+ if (!match) return void 0;
270
+ return { creditManagerAddrLower: "0x" + match[1].toLowerCase() };
271
+ }
254
272
 
255
273
  // src/tokens.ts
256
274
  var getListUrl = (chainId) => `https://raw.githubusercontent.com/1delta-DAO/token-lists/main/${chainId}.json`;
@@ -298,6 +316,9 @@ exports.fluidChains = fluidChains;
298
316
  exports.fluidResolvers = fluidResolvers;
299
317
  exports.fluidVaultEntries = fluidVaultEntries;
300
318
  exports.fluidVaults = fluidVaults;
319
+ exports.gearboxChains = gearboxChains;
320
+ exports.gearboxResolvers = gearboxResolvers;
321
+ exports.gearboxV3LenderKey = gearboxV3LenderKey;
301
322
  exports.getAaveV4GatewayAddresses = getAaveV4GatewayAddresses;
302
323
  exports.getAaveV4PositionManagers = getAaveV4PositionManagers;
303
324
  exports.getAaveV4SpokeEntry = getAaveV4SpokeEntry;
@@ -314,6 +335,7 @@ exports.morphoPools = morphoPools;
314
335
  exports.morphoTypeMarkets = morphoTypeMarkets;
315
336
  exports.morphoTypeOracles = morphoTypeOracles;
316
337
  exports.parseAaveV4SpokeLenderKey = parseAaveV4SpokeLenderKey;
338
+ exports.parseGearboxV3LenderKey = parseGearboxV3LenderKey;
317
339
  exports.parseSiloV2LenderKey = parseSiloV2LenderKey;
318
340
  exports.parseSiloV3LenderKey = parseSiloV3LenderKey;
319
341
  exports.siloMarkets = siloMarkets;
package/dist/index.mjs CHANGED
@@ -45,7 +45,8 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
45
45
  siloMarketsV3: {},
46
46
  siloPeripheralsV3: {},
47
47
  fluidResolvers: {},
48
- fluidVaults: {}
48
+ fluidVaults: {},
49
+ gearboxResolvers: {}
49
50
  };
50
51
  function getGlobalData2() {
51
52
  return globalThis[GLOBAL_LENDER_DATA_KEY];
@@ -84,7 +85,8 @@ function initializeLenderData({
84
85
  siloMarketsV3Override,
85
86
  siloPeripheralsV3Override,
86
87
  fluidResolversOverride,
87
- fluidVaultsOverride
88
+ fluidVaultsOverride,
89
+ gearboxResolversOverride
88
90
  }) {
89
91
  const data = getGlobalData2();
90
92
  if (aaveTokensOverride) data.aaveTokens = aaveTokensOverride;
@@ -123,6 +125,7 @@ function initializeLenderData({
123
125
  data.siloPeripheralsV3 = siloPeripheralsV3Override;
124
126
  if (fluidResolversOverride) data.fluidResolvers = fluidResolversOverride;
125
127
  if (fluidVaultsOverride) data.fluidVaults = fluidVaultsOverride;
128
+ if (gearboxResolversOverride) data.gearboxResolvers = gearboxResolversOverride;
126
129
  }
127
130
  var aaveTokens = () => getGlobalData2()?.aaveTokens;
128
131
  var aavePools = () => getGlobalData2()?.aavePools;
@@ -159,6 +162,8 @@ var siloPeripheralsV3 = () => getGlobalData2()?.siloPeripheralsV3;
159
162
  var fluidResolvers = () => getGlobalData2()?.fluidResolvers;
160
163
  var fluidVaults = () => getGlobalData2()?.fluidVaults;
161
164
  var fluidChains = () => Object.keys(getGlobalData2()?.fluidResolvers ?? {});
165
+ var gearboxResolvers = () => getGlobalData2()?.gearboxResolvers;
166
+ var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers ?? {});
162
167
  var fluidVaultEntries = (chainId) => Object.entries(getGlobalData2()?.fluidVaults?.[chainId] ?? {});
163
168
  function getAaveV4SpokeEntry(chainId, lenderKey) {
164
169
  const parsed = parseAaveV4SpokeLenderKey(lenderKey);
@@ -249,6 +254,19 @@ function getSiloV3MarketEntry(chainId, lenderKey) {
249
254
  (m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower
250
255
  );
251
256
  }
257
+ function gearboxV3LenderKey(creditManager) {
258
+ if (!creditManager || !creditManager.startsWith("0x") || creditManager.length !== 42) {
259
+ throw new Error(
260
+ `gearboxV3LenderKey: invalid creditManager address ${creditManager}`
261
+ );
262
+ }
263
+ return `GEARBOX_V3_${creditManager.slice(2).toUpperCase()}`;
264
+ }
265
+ function parseGearboxV3LenderKey(lenderKey) {
266
+ const match = lenderKey.match(/^GEARBOX_V3_([0-9A-F]{40})$/);
267
+ if (!match) return void 0;
268
+ return { creditManagerAddrLower: "0x" + match[1].toLowerCase() };
269
+ }
252
270
 
253
271
  // src/tokens.ts
254
272
  var getListUrl = (chainId) => `https://raw.githubusercontent.com/1delta-DAO/token-lists/main/${chainId}.json`;
@@ -266,4 +284,4 @@ async function fetchTokenLists(chainIds) {
266
284
  return Object.fromEntries(results);
267
285
  }
268
286
 
269
- 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, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, listaNativeProvider, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, parseAaveV4SpokeLenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey };
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 };
package/dist/lending.d.ts CHANGED
@@ -179,6 +179,13 @@ type MorphoTypeMarkets = {
179
179
  [chainId: string]: string[];
180
180
  };
181
181
  };
182
+ export type GearboxResolvers = {
183
+ addressProvider: string;
184
+ dataCompressor: string;
185
+ };
186
+ export type GearboxResolversType = {
187
+ [chainId: string]: GearboxResolvers;
188
+ };
182
189
  type AaveOraclesConfigEntry = {
183
190
  /** Base asset address (if lender uses non-USD base) */
184
191
  baseAsset?: string;
@@ -376,7 +383,7 @@ export type AaveV4PeripheralsType = {
376
383
  [chainId: string]: AaveV4ChainPeripherals;
377
384
  };
378
385
  /** Override datas used in the SDK - works across all module instances */
379
- 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, }: {
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, }: {
380
387
  aaveTokensOverride?: AaveTokensType;
381
388
  aavePoolsOverride?: AavePoolsType;
382
389
  aaveOraclesOverride?: OracleMap;
@@ -411,6 +418,7 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
411
418
  siloPeripheralsV3Override?: SiloPeripheralsType;
412
419
  fluidResolversOverride?: FluidResolversType;
413
420
  fluidVaultsOverride?: FluidVaultsType;
421
+ gearboxResolversOverride?: GearboxResolversType;
414
422
  }): void;
415
423
  export declare const aaveTokens: () => AaveTokensType;
416
424
  export declare const aavePools: () => AavePoolsType;
@@ -448,6 +456,9 @@ export declare const fluidResolvers: () => FluidResolversType;
448
456
  export declare const fluidVaults: () => FluidVaultsType;
449
457
  /** List of chains where Fluid resolvers are registered. */
450
458
  export declare const fluidChains: () => string[];
459
+ export declare const gearboxResolvers: () => GearboxResolversType;
460
+ /** List of chains where Gearbox V3 resolvers are registered. */
461
+ export declare const gearboxChains: () => string[];
451
462
  /** Vault entries for a chain as `[address, meta]` tuples. */
452
463
  export declare const fluidVaultEntries: (chainId: string) => [string, FluidVaultMeta][];
453
464
  /**
@@ -586,4 +597,25 @@ export declare function parseSiloV3LenderKey(lenderKey: string): {
586
597
  * Returns `undefined` if no entry exists for that chain/config.
587
598
  */
588
599
  export declare function getSiloV3MarketEntry(chainId: string, lenderKey: string): SiloMarketEntry | undefined;
600
+ /**
601
+ * Synthesize the per-CreditManager lender key for a Gearbox V3 market.
602
+ *
603
+ * Mirrors `siloV2LenderKey` / `aaveV4SpokeLenderKey` — each CreditManager
604
+ * is its own isolated lending venue (positions in CM-A are invisible to
605
+ * CM-B even when both draw from the same pool), so it gets its own lender
606
+ * key rather than a config bucket under a shared parent.
607
+ *
608
+ * Format: `GEARBOX_V3_${creditManagerAddr.slice(2).toUpperCase()}`
609
+ *
610
+ * `isGearboxV3()` works on this because it matches `startsWith('GEARBOX_V3')`.
611
+ */
612
+ export declare function gearboxV3LenderKey(creditManager: string): string;
613
+ /**
614
+ * Inverse of `gearboxV3LenderKey`: given a per-CM lender key, return
615
+ * `{ creditManagerAddrLower }`. Returns `undefined` if the key isn't a
616
+ * per-CM Gearbox V3 key (e.g. someone passed the bare prefix `GEARBOX_V3`).
617
+ */
618
+ export declare function parseGearboxV3LenderKey(lenderKey: string): {
619
+ creditManagerAddrLower: string;
620
+ } | undefined;
589
621
  export {};
package/package.json CHANGED
@@ -1,46 +1,46 @@
1
1
  {
2
- "name": "@1delta/data-sdk",
3
- "license": "MIT",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "version": "0.0.23",
8
- "description": "Hold and initialize lending protocol data across a stack",
9
- "files": [
10
- "dist"
11
- ],
12
- "keywords": [
13
- "dex"
14
- ],
15
- "sideEffects": false,
16
- "main": "dist/index.js",
17
- "types": "dist/index.d.ts",
18
- "module": "dist/index.mjs",
19
- "scripts": {
20
- "build": "tsup",
21
- "dev": "tsup --watch",
22
- "test": "vitest --run",
23
- "coverage": "vitest run --coverage",
24
- "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
25
- },
26
- "devDependencies": {
27
- "tsup": "^8.5.1",
28
- "typescript": "^5.9.3"
29
- },
30
- "engines": {
31
- "node": ">=20"
32
- },
33
- "prettier": {
34
- "printWidth": 120,
35
- "semi": false,
36
- "singleQuote": true
37
- },
38
- "exports": {
39
- "./package.json": "./package.json",
40
- ".": {
41
- "types": "./dist/index.d.ts",
42
- "import": "./dist/index.mjs",
43
- "require": "./dist/index.js"
44
- }
45
- }
46
- }
2
+ "name": "@1delta/data-sdk",
3
+ "license": "MIT",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "version": "0.0.24",
8
+ "description": "Hold and initialize lending protocol data across a stack",
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "keywords": [
13
+ "dex"
14
+ ],
15
+ "sideEffects": false,
16
+ "main": "dist/index.js",
17
+ "types": "dist/index.d.ts",
18
+ "module": "dist/index.mjs",
19
+ "devDependencies": {
20
+ "tsup": "^8.5.1",
21
+ "typescript": "^5.9.3"
22
+ },
23
+ "engines": {
24
+ "node": ">=20"
25
+ },
26
+ "prettier": {
27
+ "printWidth": 120,
28
+ "semi": false,
29
+ "singleQuote": true
30
+ },
31
+ "exports": {
32
+ "./package.json": "./package.json",
33
+ ".": {
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/index.mjs",
36
+ "require": "./dist/index.js"
37
+ }
38
+ },
39
+ "scripts": {
40
+ "build": "tsup",
41
+ "dev": "tsup --watch",
42
+ "test": "vitest --run",
43
+ "coverage": "vitest run --coverage",
44
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
45
+ }
46
+ }