@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 +24 -2
- package/dist/index.mjs +21 -3
- package/dist/lending.d.ts +33 -1
- package/package.json +45 -45
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
+
}
|