@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 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
- "name": "@1delta/data-sdk",
3
- "license": "MIT",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "version": "0.0.22",
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
- }
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
+ }