@1delta/data-sdk 0.0.22 → 0.0.23
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 +16 -2
- package/dist/index.mjs +13 -3
- package/dist/lending.d.ts +56 -1
- package/package.json +45 -45
package/dist/index.js
CHANGED
|
@@ -45,7 +45,9 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
45
45
|
siloMarkets: {},
|
|
46
46
|
siloPeripherals: {},
|
|
47
47
|
siloMarketsV3: {},
|
|
48
|
-
siloPeripheralsV3: {}
|
|
48
|
+
siloPeripheralsV3: {},
|
|
49
|
+
fluidResolvers: {},
|
|
50
|
+
fluidVaults: {}
|
|
49
51
|
};
|
|
50
52
|
function getGlobalData2() {
|
|
51
53
|
return globalThis[GLOBAL_LENDER_DATA_KEY];
|
|
@@ -82,7 +84,9 @@ function initializeLenderData({
|
|
|
82
84
|
siloMarketsOverride,
|
|
83
85
|
siloPeripheralsOverride,
|
|
84
86
|
siloMarketsV3Override,
|
|
85
|
-
siloPeripheralsV3Override
|
|
87
|
+
siloPeripheralsV3Override,
|
|
88
|
+
fluidResolversOverride,
|
|
89
|
+
fluidVaultsOverride
|
|
86
90
|
}) {
|
|
87
91
|
const data = getGlobalData2();
|
|
88
92
|
if (aaveTokensOverride) data.aaveTokens = aaveTokensOverride;
|
|
@@ -119,6 +123,8 @@ function initializeLenderData({
|
|
|
119
123
|
if (siloMarketsV3Override) data.siloMarketsV3 = siloMarketsV3Override;
|
|
120
124
|
if (siloPeripheralsV3Override)
|
|
121
125
|
data.siloPeripheralsV3 = siloPeripheralsV3Override;
|
|
126
|
+
if (fluidResolversOverride) data.fluidResolvers = fluidResolversOverride;
|
|
127
|
+
if (fluidVaultsOverride) data.fluidVaults = fluidVaultsOverride;
|
|
122
128
|
}
|
|
123
129
|
var aaveTokens = () => getGlobalData2()?.aaveTokens;
|
|
124
130
|
var aavePools = () => getGlobalData2()?.aavePools;
|
|
@@ -152,6 +158,10 @@ var siloMarkets = () => getGlobalData2()?.siloMarkets;
|
|
|
152
158
|
var siloPeripherals = () => getGlobalData2()?.siloPeripherals;
|
|
153
159
|
var siloMarketsV3 = () => getGlobalData2()?.siloMarketsV3;
|
|
154
160
|
var siloPeripheralsV3 = () => getGlobalData2()?.siloPeripheralsV3;
|
|
161
|
+
var fluidResolvers = () => getGlobalData2()?.fluidResolvers;
|
|
162
|
+
var fluidVaults = () => getGlobalData2()?.fluidVaults;
|
|
163
|
+
var fluidChains = () => Object.keys(getGlobalData2()?.fluidResolvers ?? {});
|
|
164
|
+
var fluidVaultEntries = (chainId) => Object.entries(getGlobalData2()?.fluidVaults?.[chainId] ?? {});
|
|
155
165
|
function getAaveV4SpokeEntry(chainId, lenderKey) {
|
|
156
166
|
const parsed = parseAaveV4SpokeLenderKey(lenderKey);
|
|
157
167
|
if (!parsed) return void 0;
|
|
@@ -284,6 +294,10 @@ exports.eulerVaults = eulerVaults;
|
|
|
284
294
|
exports.fetchTokenList = fetchTokenList;
|
|
285
295
|
exports.fetchTokenLists = fetchTokenLists;
|
|
286
296
|
exports.findAaveV4PositionManager = findAaveV4PositionManager;
|
|
297
|
+
exports.fluidChains = fluidChains;
|
|
298
|
+
exports.fluidResolvers = fluidResolvers;
|
|
299
|
+
exports.fluidVaultEntries = fluidVaultEntries;
|
|
300
|
+
exports.fluidVaults = fluidVaults;
|
|
287
301
|
exports.getAaveV4GatewayAddresses = getAaveV4GatewayAddresses;
|
|
288
302
|
exports.getAaveV4PositionManagers = getAaveV4PositionManagers;
|
|
289
303
|
exports.getAaveV4SpokeEntry = getAaveV4SpokeEntry;
|
package/dist/index.mjs
CHANGED
|
@@ -43,7 +43,9 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
43
43
|
siloMarkets: {},
|
|
44
44
|
siloPeripherals: {},
|
|
45
45
|
siloMarketsV3: {},
|
|
46
|
-
siloPeripheralsV3: {}
|
|
46
|
+
siloPeripheralsV3: {},
|
|
47
|
+
fluidResolvers: {},
|
|
48
|
+
fluidVaults: {}
|
|
47
49
|
};
|
|
48
50
|
function getGlobalData2() {
|
|
49
51
|
return globalThis[GLOBAL_LENDER_DATA_KEY];
|
|
@@ -80,7 +82,9 @@ function initializeLenderData({
|
|
|
80
82
|
siloMarketsOverride,
|
|
81
83
|
siloPeripheralsOverride,
|
|
82
84
|
siloMarketsV3Override,
|
|
83
|
-
siloPeripheralsV3Override
|
|
85
|
+
siloPeripheralsV3Override,
|
|
86
|
+
fluidResolversOverride,
|
|
87
|
+
fluidVaultsOverride
|
|
84
88
|
}) {
|
|
85
89
|
const data = getGlobalData2();
|
|
86
90
|
if (aaveTokensOverride) data.aaveTokens = aaveTokensOverride;
|
|
@@ -117,6 +121,8 @@ function initializeLenderData({
|
|
|
117
121
|
if (siloMarketsV3Override) data.siloMarketsV3 = siloMarketsV3Override;
|
|
118
122
|
if (siloPeripheralsV3Override)
|
|
119
123
|
data.siloPeripheralsV3 = siloPeripheralsV3Override;
|
|
124
|
+
if (fluidResolversOverride) data.fluidResolvers = fluidResolversOverride;
|
|
125
|
+
if (fluidVaultsOverride) data.fluidVaults = fluidVaultsOverride;
|
|
120
126
|
}
|
|
121
127
|
var aaveTokens = () => getGlobalData2()?.aaveTokens;
|
|
122
128
|
var aavePools = () => getGlobalData2()?.aavePools;
|
|
@@ -150,6 +156,10 @@ var siloMarkets = () => getGlobalData2()?.siloMarkets;
|
|
|
150
156
|
var siloPeripherals = () => getGlobalData2()?.siloPeripherals;
|
|
151
157
|
var siloMarketsV3 = () => getGlobalData2()?.siloMarketsV3;
|
|
152
158
|
var siloPeripheralsV3 = () => getGlobalData2()?.siloPeripheralsV3;
|
|
159
|
+
var fluidResolvers = () => getGlobalData2()?.fluidResolvers;
|
|
160
|
+
var fluidVaults = () => getGlobalData2()?.fluidVaults;
|
|
161
|
+
var fluidChains = () => Object.keys(getGlobalData2()?.fluidResolvers ?? {});
|
|
162
|
+
var fluidVaultEntries = (chainId) => Object.entries(getGlobalData2()?.fluidVaults?.[chainId] ?? {});
|
|
153
163
|
function getAaveV4SpokeEntry(chainId, lenderKey) {
|
|
154
164
|
const parsed = parseAaveV4SpokeLenderKey(lenderKey);
|
|
155
165
|
if (!parsed) return void 0;
|
|
@@ -256,4 +266,4 @@ async function fetchTokenLists(chainIds) {
|
|
|
256
266
|
return Object.fromEntries(results);
|
|
257
267
|
}
|
|
258
268
|
|
|
259
|
-
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, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, listaNativeProvider, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, parseAaveV4SpokeLenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey };
|
|
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 };
|
package/dist/lending.d.ts
CHANGED
|
@@ -122,6 +122,53 @@ interface MrophoOracleInfo {
|
|
|
122
122
|
type MorphoOracles = {
|
|
123
123
|
[c: string]: MrophoOracleInfo[];
|
|
124
124
|
};
|
|
125
|
+
export type FluidResolvers = {
|
|
126
|
+
lendingResolver: string;
|
|
127
|
+
vaultResolver: string;
|
|
128
|
+
liquidityResolver: string;
|
|
129
|
+
};
|
|
130
|
+
export type FluidResolversType = {
|
|
131
|
+
[chainId: string]: FluidResolvers;
|
|
132
|
+
};
|
|
133
|
+
/** One asset on a vault side — underlying token and its fToken wrapper (if any). */
|
|
134
|
+
export type FluidVaultAsset = {
|
|
135
|
+
/** Lowercased underlying ERC20 address. Native ETH is represented by
|
|
136
|
+
* `zeroAddress` (`0x0000…0000`) — the Fluid on-chain EEE sentinel is
|
|
137
|
+
* normalized away at the parser boundary to match the rest of the
|
|
138
|
+
* lending stack's convention. Use `isNativeAddress` in calldata-sdk
|
|
139
|
+
* if you need to accept either form. */
|
|
140
|
+
underlying: string;
|
|
141
|
+
/** Lowercased fToken address wrapping this underlying, or `null` if none.
|
|
142
|
+
* `null` does NOT imply "not borrowable" — borrowability is a separate
|
|
143
|
+
* Liquidity/vault-config property. */
|
|
144
|
+
fToken: string | null;
|
|
145
|
+
};
|
|
146
|
+
/** One side of a Fluid vault — supply or borrow. Uniform shape across all vault
|
|
147
|
+
* types: `assets.length === 1` means simple, `> 1` means smart (DEX LP).
|
|
148
|
+
* `dex !== null` is equivalent. */
|
|
149
|
+
export type FluidVaultSide = {
|
|
150
|
+
/** 1 entry for simple sides, 2 entries for smart (DEX LP) sides. Order matches
|
|
151
|
+
* the vault's `constantsView().{supply|borrow}Token.{token0,token1}`. */
|
|
152
|
+
assets: FluidVaultAsset[];
|
|
153
|
+
/** Fluid DEX pool contract. `null` for simple sides. */
|
|
154
|
+
dex: string | null;
|
|
155
|
+
/** Optional SmartLending wrapper over the DEX LP (ERC4626-like). `null` when unused. */
|
|
156
|
+
smartLending: string | null;
|
|
157
|
+
};
|
|
158
|
+
export type FluidVaultMeta = {
|
|
159
|
+
vaultId: number;
|
|
160
|
+
/** Raw `IFluidVault.TYPE()` — Fluid uses scaled constants 10000/20000/30000/40000
|
|
161
|
+
* for T1/T2/T3/T4. Prefer `side.dex !== null` for smart-side detection. */
|
|
162
|
+
type: 10000 | 20000 | 30000 | 40000;
|
|
163
|
+
supply: FluidVaultSide;
|
|
164
|
+
borrow: FluidVaultSide;
|
|
165
|
+
};
|
|
166
|
+
/** Keyed by vault contract address (lowercased) for O(1) lookup. */
|
|
167
|
+
export type FluidVaultsType = {
|
|
168
|
+
[chainId: string]: {
|
|
169
|
+
[vaultAddress: string]: FluidVaultMeta;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
125
172
|
type MorphoTypeOracles = {
|
|
126
173
|
[chainId: string]: {
|
|
127
174
|
[protocol: string]: MrophoOracleInfo[];
|
|
@@ -329,7 +376,7 @@ export type AaveV4PeripheralsType = {
|
|
|
329
376
|
[chainId: string]: AaveV4ChainPeripherals;
|
|
330
377
|
};
|
|
331
378
|
/** Override datas used in the SDK - works across all module instances */
|
|
332
|
-
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, }: {
|
|
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, }: {
|
|
333
380
|
aaveTokensOverride?: AaveTokensType;
|
|
334
381
|
aavePoolsOverride?: AavePoolsType;
|
|
335
382
|
aaveOraclesOverride?: OracleMap;
|
|
@@ -362,6 +409,8 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
|
|
|
362
409
|
siloPeripheralsOverride?: SiloPeripheralsType;
|
|
363
410
|
siloMarketsV3Override?: SiloMarketsType;
|
|
364
411
|
siloPeripheralsV3Override?: SiloPeripheralsType;
|
|
412
|
+
fluidResolversOverride?: FluidResolversType;
|
|
413
|
+
fluidVaultsOverride?: FluidVaultsType;
|
|
365
414
|
}): void;
|
|
366
415
|
export declare const aaveTokens: () => AaveTokensType;
|
|
367
416
|
export declare const aavePools: () => AavePoolsType;
|
|
@@ -395,6 +444,12 @@ export declare const siloMarkets: () => SiloMarketsType;
|
|
|
395
444
|
export declare const siloPeripherals: () => SiloPeripheralsType;
|
|
396
445
|
export declare const siloMarketsV3: () => SiloMarketsType;
|
|
397
446
|
export declare const siloPeripheralsV3: () => SiloPeripheralsType;
|
|
447
|
+
export declare const fluidResolvers: () => FluidResolversType;
|
|
448
|
+
export declare const fluidVaults: () => FluidVaultsType;
|
|
449
|
+
/** List of chains where Fluid resolvers are registered. */
|
|
450
|
+
export declare const fluidChains: () => string[];
|
|
451
|
+
/** Vault entries for a chain as `[address, meta]` tuples. */
|
|
452
|
+
export declare const fluidVaultEntries: (chainId: string) => [string, FluidVaultMeta][];
|
|
398
453
|
/**
|
|
399
454
|
* Look up the spoke entry for a per-spoke V4 lender key (`AAVE_V4_<HEX>`).
|
|
400
455
|
* Returns `undefined` if no entry exists for that chain/spoke.
|
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.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
|
+
}
|