@1delta/data-sdk 0.0.25 → 0.0.28

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/chains.d.ts CHANGED
@@ -49,4 +49,17 @@ export declare function initializeChainData({ chainsOverride }: {
49
49
  chainsOverride?: ChainInfoMap;
50
50
  }): void;
51
51
  export declare const chains: () => ChainInfoMap;
52
+ export interface ChainEntry {
53
+ chainId: string;
54
+ name: string;
55
+ logoURI: string;
56
+ }
57
+ export declare function chainLogoURI(chainId: string | number): string;
58
+ /**
59
+ * Build structured chain entries (chainId, name, logoURI) for the supplied
60
+ * chain IDs. Prefers the registry's `shortName` (concise, UI-friendly), falls
61
+ * back to the long `name`, then to `Chain {id}`. Sorted ascending by numeric
62
+ * chainId.
63
+ */
64
+ export declare function getChainEntries(chainIds: readonly string[]): ChainEntry[];
52
65
  export {};
package/dist/index.js CHANGED
@@ -10,6 +10,33 @@ function initializeChainData({ chainsOverride }) {
10
10
  if (chainsOverride) globalThis[GLOBAL_CHAIN_DATA_KEY] = chainsOverride;
11
11
  }
12
12
  var chains = () => getGlobalData();
13
+ var CHAIN_LOGO_BASE = "https://raw.githubusercontent.com/1delta-DAO/chains/main";
14
+ function chainLogoURI(chainId) {
15
+ return `${CHAIN_LOGO_BASE}/${String(chainId)}.webp`;
16
+ }
17
+ function getChainEntries(chainIds) {
18
+ const registry = chains();
19
+ const seen = /* @__PURE__ */ new Set();
20
+ const entries = [];
21
+ for (const id of chainIds) {
22
+ const key = String(id);
23
+ if (seen.has(key)) continue;
24
+ seen.add(key);
25
+ const info = registry[key];
26
+ entries.push({
27
+ chainId: key,
28
+ name: info?.shortName ?? info?.name ?? `Chain ${key}`,
29
+ logoURI: chainLogoURI(key)
30
+ });
31
+ }
32
+ entries.sort((a, b) => {
33
+ const an = Number(a.chainId);
34
+ const bn = Number(b.chainId);
35
+ if (Number.isFinite(an) && Number.isFinite(bn)) return an - bn;
36
+ return a.chainId.localeCompare(b.chainId);
37
+ });
38
+ return entries;
39
+ }
13
40
 
14
41
  // src/lending.ts
15
42
  var GLOBAL_LENDER_DATA_KEY = "__1delta_lender_registry__";
@@ -32,13 +59,17 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
32
59
  morphoOracles: {},
33
60
  morphoTypeOracles: {},
34
61
  morphoTypeMarkets: {},
62
+ morphoTypeVaults: {},
35
63
  aaveOraclesConfig: {},
64
+ compoundV2OraclesConfig: {},
36
65
  aaveWethGateway: {},
37
66
  morphoBundler3: {},
38
67
  listaNativeProvider: {},
39
68
  compoundV3Bulker: {},
40
69
  eulerConfigs: {},
41
70
  eulerVaults: {},
71
+ dolomiteConfigs: {},
72
+ dolomiteEmode: {},
42
73
  aaveV4Spokes: {},
43
74
  aaveV4Oracles: {},
44
75
  aaveV4Peripherals: {},
@@ -76,13 +107,17 @@ function initializeLenderData({
76
107
  morphoOraclesOverride,
77
108
  morphoTypeOraclesOverride,
78
109
  morphoTypeMarketsOverride,
110
+ morphoTypeVaultsOverride,
79
111
  aaveOraclesConfigOverride,
112
+ compoundV2OraclesConfigOverride,
80
113
  aaveWethGatewayOverride,
81
114
  morphoBundler3Override,
82
115
  listaNativeProviderOverride,
83
116
  compoundV3BulkerOverride,
84
117
  eulerConfigsOverride,
85
118
  eulerVaultsOverride,
119
+ dolomiteConfigsOverride,
120
+ dolomiteEmodeOverride,
86
121
  aaveV4SpokesOverride,
87
122
  aaveV4OraclesOverride,
88
123
  aaveV4PeripheralsOverride,
@@ -113,13 +148,17 @@ function initializeLenderData({
113
148
  if (morphoOraclesOverride) data.morphoOracles = morphoOraclesOverride;
114
149
  if (morphoTypeOraclesOverride) data.morphoTypeOracles = morphoTypeOraclesOverride;
115
150
  if (morphoTypeMarketsOverride) data.morphoTypeMarkets = morphoTypeMarketsOverride;
151
+ if (morphoTypeVaultsOverride) data.morphoTypeVaults = morphoTypeVaultsOverride;
116
152
  if (aaveOraclesConfigOverride) data.aaveOraclesConfig = aaveOraclesConfigOverride;
153
+ if (compoundV2OraclesConfigOverride) data.compoundV2OraclesConfig = compoundV2OraclesConfigOverride;
117
154
  if (aaveWethGatewayOverride) data.aaveWethGateway = aaveWethGatewayOverride;
118
155
  if (morphoBundler3Override) data.morphoBundler3 = morphoBundler3Override;
119
156
  if (listaNativeProviderOverride) data.listaNativeProvider = listaNativeProviderOverride;
120
157
  if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
121
158
  if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
122
159
  if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
160
+ if (dolomiteConfigsOverride) data.dolomiteConfigs = dolomiteConfigsOverride;
161
+ if (dolomiteEmodeOverride) data.dolomiteEmode = dolomiteEmodeOverride;
123
162
  if (aaveV4SpokesOverride) data.aaveV4Spokes = aaveV4SpokesOverride;
124
163
  if (aaveV4OraclesOverride) data.aaveV4Oracles = aaveV4OraclesOverride;
125
164
  if (aaveV4PeripheralsOverride)
@@ -141,6 +180,7 @@ var compoundV3OraclesData = () => getGlobalData2()?.compoundV3OraclesData;
141
180
  var morphoOracles = () => getGlobalData2()?.morphoOracles;
142
181
  var morphoTypeOracles = () => getGlobalData2()?.morphoTypeOracles;
143
182
  var morphoTypeMarkets = () => getGlobalData2()?.morphoTypeMarkets;
183
+ var morphoTypeVaults = () => getGlobalData2()?.morphoTypeVaults;
144
184
  var aaveReserves = () => getGlobalData2()?.aaveReserves;
145
185
  var compoundV3Reserves = () => getGlobalData2()?.compoundV3Reserves;
146
186
  var compoundV2Reserves = () => getGlobalData2()?.compoundV2Reserves;
@@ -152,12 +192,25 @@ var compoundV2Tokens = () => getGlobalData2()?.compoundV2Tokens;
152
192
  var compoundV2TokenArray = () => getGlobalData2()?.compoundV2TokenArray;
153
193
  var initConfig = () => getGlobalData2()?.initConfig;
154
194
  var aaveOraclesConfig = () => getGlobalData2()?.aaveOraclesConfig;
195
+ var compoundV2OraclesConfig = () => getGlobalData2()?.compoundV2OraclesConfig;
155
196
  var aaveWethGateway = () => getGlobalData2()?.aaveWethGateway;
156
197
  var morphoBundler3 = () => getGlobalData2()?.morphoBundler3;
157
198
  var listaNativeProvider = () => getGlobalData2()?.listaNativeProvider;
158
199
  var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
159
200
  var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
160
201
  var eulerVaults = () => getGlobalData2()?.eulerVaults;
202
+ var dolomiteConfigs = () => getGlobalData2()?.dolomiteConfigs;
203
+ var dolomiteChains = () => Object.keys(getGlobalData2()?.dolomiteConfigs ?? {});
204
+ var dolomiteEmode = () => getGlobalData2()?.dolomiteEmode;
205
+ var dolomiteMarketIdByToken = (chainId, token) => {
206
+ const markets = getGlobalData2()?.dolomiteConfigs?.[chainId]?.markets;
207
+ if (!markets) return void 0;
208
+ const lower = token.toLowerCase();
209
+ for (const marketId in markets) {
210
+ if (markets[marketId]?.toLowerCase() === lower) return marketId;
211
+ }
212
+ return void 0;
213
+ };
161
214
  var aaveV4Spokes = () => getGlobalData2()?.aaveV4Spokes;
162
215
  var aaveV4Oracles = () => getGlobalData2()?.aaveV4Oracles;
163
216
  var aaveV4Peripherals = () => getGlobalData2()?.aaveV4Peripherals;
@@ -172,6 +225,7 @@ var gearboxResolvers = () => getGlobalData2()?.gearboxResolvers;
172
225
  var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers?.chains ?? {});
173
226
  var gearboxMarketCompressor = () => getGlobalData2()?.gearboxResolvers?.marketCompressorV310 || void 0;
174
227
  var gearboxAddressProviderV310 = () => getGlobalData2()?.gearboxResolvers?.addressProviderV310 || void 0;
228
+ var gearboxBotListV3 = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.botList || void 0;
175
229
  var GEARBOX_ACCOUNT_COMPRESSOR_V310 = "0x4115708Fc8fe6bB392De2e0C21c2C81dA2222394";
176
230
  var gearboxAccountCompressor = () => GEARBOX_ACCOUNT_COMPRESSOR_V310;
177
231
  var gearboxMarketConfigurators = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.marketConfigurators;
@@ -306,8 +360,10 @@ exports.aaveV4Peripherals = aaveV4Peripherals;
306
360
  exports.aaveV4SpokeLenderKey = aaveV4SpokeLenderKey;
307
361
  exports.aaveV4Spokes = aaveV4Spokes;
308
362
  exports.aaveWethGateway = aaveWethGateway;
363
+ exports.chainLogoURI = chainLogoURI;
309
364
  exports.chains = chains;
310
365
  exports.compoundV2Oracles = compoundV2Oracles;
366
+ exports.compoundV2OraclesConfig = compoundV2OraclesConfig;
311
367
  exports.compoundV2Pools = compoundV2Pools;
312
368
  exports.compoundV2Reserves = compoundV2Reserves;
313
369
  exports.compoundV2TokenArray = compoundV2TokenArray;
@@ -317,6 +373,10 @@ exports.compoundV3Bulker = compoundV3Bulker;
317
373
  exports.compoundV3OraclesData = compoundV3OraclesData;
318
374
  exports.compoundV3Pools = compoundV3Pools;
319
375
  exports.compoundV3Reserves = compoundV3Reserves;
376
+ exports.dolomiteChains = dolomiteChains;
377
+ exports.dolomiteConfigs = dolomiteConfigs;
378
+ exports.dolomiteEmode = dolomiteEmode;
379
+ exports.dolomiteMarketIdByToken = dolomiteMarketIdByToken;
320
380
  exports.eulerConfigs = eulerConfigs;
321
381
  exports.eulerVaults = eulerVaults;
322
382
  exports.fetchTokenList = fetchTokenList;
@@ -328,6 +388,7 @@ exports.fluidVaultEntries = fluidVaultEntries;
328
388
  exports.fluidVaults = fluidVaults;
329
389
  exports.gearboxAccountCompressor = gearboxAccountCompressor;
330
390
  exports.gearboxAddressProviderV310 = gearboxAddressProviderV310;
391
+ exports.gearboxBotListV3 = gearboxBotListV3;
331
392
  exports.gearboxChains = gearboxChains;
332
393
  exports.gearboxMarketCompressor = gearboxMarketCompressor;
333
394
  exports.gearboxMarketConfigurators = gearboxMarketConfigurators;
@@ -337,6 +398,7 @@ exports.getAaveV4GatewayAddresses = getAaveV4GatewayAddresses;
337
398
  exports.getAaveV4PositionManagers = getAaveV4PositionManagers;
338
399
  exports.getAaveV4SpokeEntry = getAaveV4SpokeEntry;
339
400
  exports.getAaveV4SpokePeripherals = getAaveV4SpokePeripherals;
401
+ exports.getChainEntries = getChainEntries;
340
402
  exports.getSiloV2MarketEntry = getSiloV2MarketEntry;
341
403
  exports.getSiloV3MarketEntry = getSiloV3MarketEntry;
342
404
  exports.initConfig = initConfig;
@@ -348,6 +410,7 @@ exports.morphoOracles = morphoOracles;
348
410
  exports.morphoPools = morphoPools;
349
411
  exports.morphoTypeMarkets = morphoTypeMarkets;
350
412
  exports.morphoTypeOracles = morphoTypeOracles;
413
+ exports.morphoTypeVaults = morphoTypeVaults;
351
414
  exports.parseAaveV4SpokeLenderKey = parseAaveV4SpokeLenderKey;
352
415
  exports.parseGearboxV3LenderKey = parseGearboxV3LenderKey;
353
416
  exports.parseSiloV2LenderKey = parseSiloV2LenderKey;
package/dist/index.mjs CHANGED
@@ -8,6 +8,33 @@ function initializeChainData({ chainsOverride }) {
8
8
  if (chainsOverride) globalThis[GLOBAL_CHAIN_DATA_KEY] = chainsOverride;
9
9
  }
10
10
  var chains = () => getGlobalData();
11
+ var CHAIN_LOGO_BASE = "https://raw.githubusercontent.com/1delta-DAO/chains/main";
12
+ function chainLogoURI(chainId) {
13
+ return `${CHAIN_LOGO_BASE}/${String(chainId)}.webp`;
14
+ }
15
+ function getChainEntries(chainIds) {
16
+ const registry = chains();
17
+ const seen = /* @__PURE__ */ new Set();
18
+ const entries = [];
19
+ for (const id of chainIds) {
20
+ const key = String(id);
21
+ if (seen.has(key)) continue;
22
+ seen.add(key);
23
+ const info = registry[key];
24
+ entries.push({
25
+ chainId: key,
26
+ name: info?.shortName ?? info?.name ?? `Chain ${key}`,
27
+ logoURI: chainLogoURI(key)
28
+ });
29
+ }
30
+ entries.sort((a, b) => {
31
+ const an = Number(a.chainId);
32
+ const bn = Number(b.chainId);
33
+ if (Number.isFinite(an) && Number.isFinite(bn)) return an - bn;
34
+ return a.chainId.localeCompare(b.chainId);
35
+ });
36
+ return entries;
37
+ }
11
38
 
12
39
  // src/lending.ts
13
40
  var GLOBAL_LENDER_DATA_KEY = "__1delta_lender_registry__";
@@ -30,13 +57,17 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
30
57
  morphoOracles: {},
31
58
  morphoTypeOracles: {},
32
59
  morphoTypeMarkets: {},
60
+ morphoTypeVaults: {},
33
61
  aaveOraclesConfig: {},
62
+ compoundV2OraclesConfig: {},
34
63
  aaveWethGateway: {},
35
64
  morphoBundler3: {},
36
65
  listaNativeProvider: {},
37
66
  compoundV3Bulker: {},
38
67
  eulerConfigs: {},
39
68
  eulerVaults: {},
69
+ dolomiteConfigs: {},
70
+ dolomiteEmode: {},
40
71
  aaveV4Spokes: {},
41
72
  aaveV4Oracles: {},
42
73
  aaveV4Peripherals: {},
@@ -74,13 +105,17 @@ function initializeLenderData({
74
105
  morphoOraclesOverride,
75
106
  morphoTypeOraclesOverride,
76
107
  morphoTypeMarketsOverride,
108
+ morphoTypeVaultsOverride,
77
109
  aaveOraclesConfigOverride,
110
+ compoundV2OraclesConfigOverride,
78
111
  aaveWethGatewayOverride,
79
112
  morphoBundler3Override,
80
113
  listaNativeProviderOverride,
81
114
  compoundV3BulkerOverride,
82
115
  eulerConfigsOverride,
83
116
  eulerVaultsOverride,
117
+ dolomiteConfigsOverride,
118
+ dolomiteEmodeOverride,
84
119
  aaveV4SpokesOverride,
85
120
  aaveV4OraclesOverride,
86
121
  aaveV4PeripheralsOverride,
@@ -111,13 +146,17 @@ function initializeLenderData({
111
146
  if (morphoOraclesOverride) data.morphoOracles = morphoOraclesOverride;
112
147
  if (morphoTypeOraclesOverride) data.morphoTypeOracles = morphoTypeOraclesOverride;
113
148
  if (morphoTypeMarketsOverride) data.morphoTypeMarkets = morphoTypeMarketsOverride;
149
+ if (morphoTypeVaultsOverride) data.morphoTypeVaults = morphoTypeVaultsOverride;
114
150
  if (aaveOraclesConfigOverride) data.aaveOraclesConfig = aaveOraclesConfigOverride;
151
+ if (compoundV2OraclesConfigOverride) data.compoundV2OraclesConfig = compoundV2OraclesConfigOverride;
115
152
  if (aaveWethGatewayOverride) data.aaveWethGateway = aaveWethGatewayOverride;
116
153
  if (morphoBundler3Override) data.morphoBundler3 = morphoBundler3Override;
117
154
  if (listaNativeProviderOverride) data.listaNativeProvider = listaNativeProviderOverride;
118
155
  if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
119
156
  if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
120
157
  if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
158
+ if (dolomiteConfigsOverride) data.dolomiteConfigs = dolomiteConfigsOverride;
159
+ if (dolomiteEmodeOverride) data.dolomiteEmode = dolomiteEmodeOverride;
121
160
  if (aaveV4SpokesOverride) data.aaveV4Spokes = aaveV4SpokesOverride;
122
161
  if (aaveV4OraclesOverride) data.aaveV4Oracles = aaveV4OraclesOverride;
123
162
  if (aaveV4PeripheralsOverride)
@@ -139,6 +178,7 @@ var compoundV3OraclesData = () => getGlobalData2()?.compoundV3OraclesData;
139
178
  var morphoOracles = () => getGlobalData2()?.morphoOracles;
140
179
  var morphoTypeOracles = () => getGlobalData2()?.morphoTypeOracles;
141
180
  var morphoTypeMarkets = () => getGlobalData2()?.morphoTypeMarkets;
181
+ var morphoTypeVaults = () => getGlobalData2()?.morphoTypeVaults;
142
182
  var aaveReserves = () => getGlobalData2()?.aaveReserves;
143
183
  var compoundV3Reserves = () => getGlobalData2()?.compoundV3Reserves;
144
184
  var compoundV2Reserves = () => getGlobalData2()?.compoundV2Reserves;
@@ -150,12 +190,25 @@ var compoundV2Tokens = () => getGlobalData2()?.compoundV2Tokens;
150
190
  var compoundV2TokenArray = () => getGlobalData2()?.compoundV2TokenArray;
151
191
  var initConfig = () => getGlobalData2()?.initConfig;
152
192
  var aaveOraclesConfig = () => getGlobalData2()?.aaveOraclesConfig;
193
+ var compoundV2OraclesConfig = () => getGlobalData2()?.compoundV2OraclesConfig;
153
194
  var aaveWethGateway = () => getGlobalData2()?.aaveWethGateway;
154
195
  var morphoBundler3 = () => getGlobalData2()?.morphoBundler3;
155
196
  var listaNativeProvider = () => getGlobalData2()?.listaNativeProvider;
156
197
  var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
157
198
  var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
158
199
  var eulerVaults = () => getGlobalData2()?.eulerVaults;
200
+ var dolomiteConfigs = () => getGlobalData2()?.dolomiteConfigs;
201
+ var dolomiteChains = () => Object.keys(getGlobalData2()?.dolomiteConfigs ?? {});
202
+ var dolomiteEmode = () => getGlobalData2()?.dolomiteEmode;
203
+ var dolomiteMarketIdByToken = (chainId, token) => {
204
+ const markets = getGlobalData2()?.dolomiteConfigs?.[chainId]?.markets;
205
+ if (!markets) return void 0;
206
+ const lower = token.toLowerCase();
207
+ for (const marketId in markets) {
208
+ if (markets[marketId]?.toLowerCase() === lower) return marketId;
209
+ }
210
+ return void 0;
211
+ };
159
212
  var aaveV4Spokes = () => getGlobalData2()?.aaveV4Spokes;
160
213
  var aaveV4Oracles = () => getGlobalData2()?.aaveV4Oracles;
161
214
  var aaveV4Peripherals = () => getGlobalData2()?.aaveV4Peripherals;
@@ -170,6 +223,7 @@ var gearboxResolvers = () => getGlobalData2()?.gearboxResolvers;
170
223
  var gearboxChains = () => Object.keys(getGlobalData2()?.gearboxResolvers?.chains ?? {});
171
224
  var gearboxMarketCompressor = () => getGlobalData2()?.gearboxResolvers?.marketCompressorV310 || void 0;
172
225
  var gearboxAddressProviderV310 = () => getGlobalData2()?.gearboxResolvers?.addressProviderV310 || void 0;
226
+ var gearboxBotListV3 = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.botList || void 0;
173
227
  var GEARBOX_ACCOUNT_COMPRESSOR_V310 = "0x4115708Fc8fe6bB392De2e0C21c2C81dA2222394";
174
228
  var gearboxAccountCompressor = () => GEARBOX_ACCOUNT_COMPRESSOR_V310;
175
229
  var gearboxMarketConfigurators = (chainId) => getGlobalData2()?.gearboxResolvers?.chains?.[chainId]?.marketConfigurators;
@@ -293,4 +347,4 @@ async function fetchTokenLists(chainIds) {
293
347
  return Object.fromEntries(results);
294
348
  }
295
349
 
296
- 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, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, 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 };
350
+ export { GEARBOX_ACCOUNT_COMPRESSOR_V310, aaveOracles, aaveOraclesConfig, aavePools, aaveReserves, aaveTokens, aaveV4Oracles, aaveV4Peripherals, aaveV4SpokeLenderKey, aaveV4Spokes, aaveWethGateway, chainLogoURI, chains, compoundV2Oracles, compoundV2OraclesConfig, compoundV2Pools, compoundV2Reserves, compoundV2TokenArray, compoundV2Tokens, compoundV3BaseData, compoundV3Bulker, compoundV3OraclesData, compoundV3Pools, compoundV3Reserves, dolomiteChains, dolomiteConfigs, dolomiteEmode, dolomiteMarketIdByToken, eulerConfigs, eulerVaults, fetchTokenList, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, 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,11 +179,36 @@ type MorphoTypeMarkets = {
179
179
  [chainId: string]: string[];
180
180
  };
181
181
  };
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
+ };
182
201
  export type GearboxChainResolvers = {
183
202
  /** curator address (lowercased) → curator display name */
184
203
  marketConfigurators: {
185
204
  [addr: string]: string;
186
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;
187
212
  };
188
213
  export type GearboxResolversType = {
189
214
  addressProviderV310: string;
@@ -205,6 +230,17 @@ type AaveOraclesConfigType = {
205
230
  [chainId: string]: AaveOraclesConfigEntry;
206
231
  };
207
232
  };
233
+ type CompoundV2OraclesConfigEntry = {
234
+ /** Base asset address (if oracle quotes in a non-USD asset, e.g. native token) */
235
+ baseAsset?: string;
236
+ /** Fixed scaling decimals override (defaults to 36 - underlyingDecimals) */
237
+ scalingDecimals?: number;
238
+ };
239
+ type CompoundV2OraclesConfigType = {
240
+ [lender: string]: {
241
+ [chainId: string]: CompoundV2OraclesConfigEntry;
242
+ };
243
+ };
208
244
  type AaveWethGatewayType = {
209
245
  [fork: string]: {
210
246
  [chainId: string]: string;
@@ -234,6 +270,50 @@ type EulerVaultsType = {
234
270
  [chainId: string]: EulerVaultEntry[];
235
271
  };
236
272
  };
273
+ export type DolomiteAggregator = 'odos' | 'paraswap' | 'oogabooga' | 'enso';
274
+ export type DolomiteConfigEntry = {
275
+ dolomiteMargin: string;
276
+ expiry?: string;
277
+ markets?: {
278
+ [marketId: string]: string;
279
+ };
280
+ depositWithdrawalProxy?: string;
281
+ borrowPositionProxy?: string;
282
+ genericTraderProxy?: string;
283
+ aggregatorTraders?: {
284
+ [K in DolomiteAggregator]?: string;
285
+ };
286
+ };
287
+ export type DolomiteConfigsType = {
288
+ [chainId: string]: DolomiteConfigEntry;
289
+ };
290
+ export type DolomiteCategoryParam = {
291
+ marginRatioOverride: number;
292
+ liquidationRewardOverride: number;
293
+ };
294
+ export type DolomiteSingleCollateral = {
295
+ debtMarketIds: string[];
296
+ marginRatioOverride: number;
297
+ liquidationRewardOverride: number;
298
+ };
299
+ export type DolomiteEmodeChain = {
300
+ setter: string;
301
+ categories: {
302
+ [category: string]: DolomiteCategoryParam;
303
+ };
304
+ marketCategories: {
305
+ [marketId: string]: string;
306
+ };
307
+ riskFeatures: {
308
+ [marketId: string]: {
309
+ feature: string;
310
+ singleCollateral?: DolomiteSingleCollateral[];
311
+ };
312
+ };
313
+ };
314
+ export type DolomiteEmodeType = {
315
+ [chainId: string]: DolomiteEmodeChain;
316
+ };
237
317
  export type SiloHalfStatic = {
238
318
  /** silo (vault) address */
239
319
  silo: string;
@@ -389,7 +469,7 @@ export type AaveV4PeripheralsType = {
389
469
  [chainId: string]: AaveV4ChainPeripherals;
390
470
  };
391
471
  /** Override datas used in the SDK - works across all module instances */
392
- 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, }: {
472
+ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOverride, aaveOraclesOverride, compoundV2OraclesOverride, compoundV3OraclesDataOverride, compoundV3PoolsOverride, compoundV3BaseDataOverride, morphoPoolsOverride, compoundV2TokensOverride, compoundV2TokenArrayOverride, compoundV2PoolsOverride, initConfigOverride, aaveReservesOverride, compoundV3ReservesOverride, compoundV2ReservesOverride, morphoOraclesOverride, morphoTypeOraclesOverride, morphoTypeMarketsOverride, morphoTypeVaultsOverride, aaveOraclesConfigOverride, compoundV2OraclesConfigOverride, aaveWethGatewayOverride, morphoBundler3Override, listaNativeProviderOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
393
473
  aaveTokensOverride?: AaveTokensType;
394
474
  aavePoolsOverride?: AavePoolsType;
395
475
  aaveOraclesOverride?: OracleMap;
@@ -408,13 +488,17 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
408
488
  morphoOraclesOverride?: MorphoOracles;
409
489
  morphoTypeOraclesOverride?: MorphoTypeOracles;
410
490
  morphoTypeMarketsOverride?: MorphoTypeMarkets;
491
+ morphoTypeVaultsOverride?: MorphoTypeVaultsType;
411
492
  aaveOraclesConfigOverride?: AaveOraclesConfigType;
493
+ compoundV2OraclesConfigOverride?: CompoundV2OraclesConfigType;
412
494
  aaveWethGatewayOverride?: AaveWethGatewayType;
413
495
  morphoBundler3Override?: MorphoBundler3Type;
414
496
  listaNativeProviderOverride?: ListaNativeProviderType;
415
497
  compoundV3BulkerOverride?: CompoundV3BulkerType;
416
498
  eulerConfigsOverride?: EulerConfigsType;
417
499
  eulerVaultsOverride?: EulerVaultsType;
500
+ dolomiteConfigsOverride?: DolomiteConfigsType;
501
+ dolomiteEmodeOverride?: DolomiteEmodeType;
418
502
  aaveV4SpokesOverride?: AaveV4SpokesType;
419
503
  aaveV4OraclesOverride?: AaveV4OraclesType;
420
504
  aaveV4PeripheralsOverride?: AaveV4PeripheralsType;
@@ -434,6 +518,7 @@ export declare const compoundV3OraclesData: () => CompoundV3OracleDataMap;
434
518
  export declare const morphoOracles: () => MorphoOracles;
435
519
  export declare const morphoTypeOracles: () => MorphoTypeOracles;
436
520
  export declare const morphoTypeMarkets: () => MorphoTypeMarkets;
521
+ export declare const morphoTypeVaults: () => MorphoTypeVaultsType;
437
522
  export declare const aaveReserves: () => GeneralReservesMap;
438
523
  export declare const compoundV3Reserves: () => GeneralReservesMap;
439
524
  export declare const compoundV2Reserves: () => GeneralReservesMap;
@@ -445,12 +530,17 @@ export declare const compoundV2Tokens: () => CompoundV2TokensType;
445
530
  export declare const compoundV2TokenArray: () => CompoundV2TokenArrayType;
446
531
  export declare const initConfig: () => InitConfigType;
447
532
  export declare const aaveOraclesConfig: () => AaveOraclesConfigType;
533
+ export declare const compoundV2OraclesConfig: () => CompoundV2OraclesConfigType;
448
534
  export declare const aaveWethGateway: () => AaveWethGatewayType;
449
535
  export declare const morphoBundler3: () => MorphoBundler3Type;
450
536
  export declare const listaNativeProvider: () => ListaNativeProviderType;
451
537
  export declare const compoundV3Bulker: () => CompoundV3BulkerType;
452
538
  export declare const eulerConfigs: () => EulerConfigsType;
453
539
  export declare const eulerVaults: () => EulerVaultsType;
540
+ export declare const dolomiteConfigs: () => DolomiteConfigsType;
541
+ export declare const dolomiteChains: () => string[];
542
+ export declare const dolomiteEmode: () => DolomiteEmodeType;
543
+ export declare const dolomiteMarketIdByToken: (chainId: string, token: string) => string | undefined;
454
544
  export declare const aaveV4Spokes: () => AaveV4SpokesType;
455
545
  export declare const aaveV4Oracles: () => AaveV4OraclesType;
456
546
  export declare const aaveV4Peripherals: () => AaveV4PeripheralsType;
@@ -469,6 +559,13 @@ export declare const gearboxChains: () => string[];
469
559
  export declare const gearboxMarketCompressor: () => string | undefined;
470
560
  /** V3.1 deterministic AddressProvider address (same on every chain). */
471
561
  export declare const gearboxAddressProviderV310: () => string | undefined;
562
+ /**
563
+ * BotListV3 contract address for a chain — used by the lender-permission
564
+ * fetch to read `botPermissions(bot, creditManager, borrower)`. Read from
565
+ * the per-chain `gearbox-resolvers.json` entry (`chains[chainId].botList`).
566
+ * Returns `undefined` when the metadata layer hasn't provided one yet.
567
+ */
568
+ export declare const gearboxBotListV3: (chainId: string) => string | undefined;
472
569
  /**
473
570
  * V3.1 deterministic CreditAccountCompressor address.
474
571
  *
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.0.25",
7
+ "version": "0.0.28",
8
8
  "description": "Hold and initialize lending protocol data across a stack",
9
9
  "files": [
10
10
  "dist"