@1delta/data-sdk 0.0.36 → 0.0.37

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
@@ -80,6 +80,8 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
80
80
  inverseConfig: {},
81
81
  termMaxConfig: {},
82
82
  inverseMarkets: {},
83
+ usddConfig: {},
84
+ usddMarkets: {},
83
85
  compoundV3Bulker: {},
84
86
  eulerConfigs: {},
85
87
  eulerVaults: {},
@@ -143,6 +145,8 @@ function initializeLenderData({
143
145
  inverseConfigOverride,
144
146
  termMaxConfigOverride,
145
147
  inverseMarketsOverride,
148
+ usddConfigOverride,
149
+ usddMarketsOverride,
146
150
  compoundV3BulkerOverride,
147
151
  eulerConfigsOverride,
148
152
  eulerVaultsOverride,
@@ -199,6 +203,8 @@ function initializeLenderData({
199
203
  if (inverseConfigOverride) data.inverseConfig = inverseConfigOverride;
200
204
  if (termMaxConfigOverride) data.termMaxConfig = termMaxConfigOverride;
201
205
  if (inverseMarketsOverride) data.inverseMarkets = inverseMarketsOverride;
206
+ if (usddConfigOverride) data.usddConfig = usddConfigOverride;
207
+ if (usddMarketsOverride) data.usddMarkets = usddMarketsOverride;
202
208
  if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
203
209
  if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
204
210
  if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
@@ -206,13 +212,11 @@ function initializeLenderData({
206
212
  if (dolomiteEmodeOverride) data.dolomiteEmode = dolomiteEmodeOverride;
207
213
  if (aaveV4SpokesOverride) data.aaveV4Spokes = aaveV4SpokesOverride;
208
214
  if (aaveV4OraclesOverride) data.aaveV4Oracles = aaveV4OraclesOverride;
209
- if (aaveV4PeripheralsOverride)
210
- data.aaveV4Peripherals = aaveV4PeripheralsOverride;
215
+ if (aaveV4PeripheralsOverride) data.aaveV4Peripherals = aaveV4PeripheralsOverride;
211
216
  if (siloMarketsOverride) data.siloMarkets = siloMarketsOverride;
212
217
  if (siloPeripheralsOverride) data.siloPeripherals = siloPeripheralsOverride;
213
218
  if (siloMarketsV3Override) data.siloMarketsV3 = siloMarketsV3Override;
214
- if (siloPeripheralsV3Override)
215
- data.siloPeripheralsV3 = siloPeripheralsV3Override;
219
+ if (siloPeripheralsV3Override) data.siloPeripheralsV3 = siloPeripheralsV3Override;
216
220
  if (fluidResolversOverride) data.fluidResolvers = fluidResolversOverride;
217
221
  if (fluidVaultsOverride) data.fluidVaults = fluidVaultsOverride;
218
222
  if (gearboxResolversOverride) data.gearboxResolvers = gearboxResolversOverride;
@@ -303,9 +307,7 @@ var liquityBranchesByChain = (lender, chainId) => getGlobalData2()?.liquityMarke
303
307
  var liquityBranchByIndex = (lender, chainId, collIndex) => liquityBranchesByChain(lender, chainId).find((b) => b.collIndex === Number(collIndex));
304
308
  var liquityBranchByTroveManager = (lender, chainId, troveManager) => {
305
309
  const lower = troveManager.toLowerCase();
306
- return liquityBranchesByChain(lender, chainId).find(
307
- (b) => b.troveManager.toLowerCase() === lower
308
- );
310
+ return liquityBranchesByChain(lender, chainId).find((b) => b.troveManager.toLowerCase() === lower);
309
311
  };
310
312
  var liquityLendersByChain = (chainId) => {
311
313
  const cfg = getGlobalData2()?.liquityConfig ?? {};
@@ -339,6 +341,16 @@ var inverseLendersByChain = (chainId) => {
339
341
  const chain = String(chainId);
340
342
  return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.dola);
341
343
  };
344
+ var usddConfig = () => getGlobalData2()?.usddConfig;
345
+ var usddConfigFor = (lender, chainId) => getGlobalData2()?.usddConfig?.[lender]?.[String(chainId)];
346
+ var usddMarkets = () => getGlobalData2()?.usddMarkets;
347
+ var usddChainData = (lender, chainId) => getGlobalData2()?.usddMarkets?.[lender]?.[String(chainId)];
348
+ var usddMarketByIlk = (lender, chainId, ilk) => usddChainData(lender, chainId)?.markets?.find((m) => m.ilk === ilk);
349
+ var usddLendersByChain = (chainId) => {
350
+ const cfg = getGlobalData2()?.usddConfig ?? {};
351
+ const chain = String(chainId);
352
+ return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.vat);
353
+ };
342
354
  var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
343
355
  var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
344
356
  var eulerVaults = () => getGlobalData2()?.eulerVaults;
@@ -438,9 +450,7 @@ function getSiloV2MarketEntry(chainId, lenderKey) {
438
450
  if (!parsed) return void 0;
439
451
  const list = getGlobalData2()?.siloMarkets?.[chainId];
440
452
  if (!list) return void 0;
441
- return list.find(
442
- (m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower
443
- );
453
+ return list.find((m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower);
444
454
  }
445
455
  function siloV3LenderKey(siloConfig) {
446
456
  if (!siloConfig || !siloConfig.startsWith("0x") || siloConfig.length !== 42) {
@@ -458,15 +468,11 @@ function getSiloV3MarketEntry(chainId, lenderKey) {
458
468
  if (!parsed) return void 0;
459
469
  const list = getGlobalData2()?.siloMarketsV3?.[chainId];
460
470
  if (!list) return void 0;
461
- return list.find(
462
- (m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower
463
- );
471
+ return list.find((m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower);
464
472
  }
465
473
  function gearboxV3LenderKey(creditManager) {
466
474
  if (!creditManager || !creditManager.startsWith("0x") || creditManager.length !== 42) {
467
- throw new Error(
468
- `gearboxV3LenderKey: invalid creditManager address ${creditManager}`
469
- );
475
+ throw new Error(`gearboxV3LenderKey: invalid creditManager address ${creditManager}`);
470
476
  }
471
477
  return `GEARBOX_V3_${creditManager.slice(2).toUpperCase()}`;
472
478
  }
@@ -641,3 +647,9 @@ exports.termMaxChainIds = termMaxChainIds;
641
647
  exports.termMaxConfig = termMaxConfig;
642
648
  exports.termMaxConfigByChain = termMaxConfigByChain;
643
649
  exports.termMaxLenderKey = termMaxLenderKey;
650
+ exports.usddChainData = usddChainData;
651
+ exports.usddConfig = usddConfig;
652
+ exports.usddConfigFor = usddConfigFor;
653
+ exports.usddLendersByChain = usddLendersByChain;
654
+ exports.usddMarketByIlk = usddMarketByIlk;
655
+ exports.usddMarkets = usddMarkets;
package/dist/index.mjs CHANGED
@@ -78,6 +78,8 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
78
78
  inverseConfig: {},
79
79
  termMaxConfig: {},
80
80
  inverseMarkets: {},
81
+ usddConfig: {},
82
+ usddMarkets: {},
81
83
  compoundV3Bulker: {},
82
84
  eulerConfigs: {},
83
85
  eulerVaults: {},
@@ -141,6 +143,8 @@ function initializeLenderData({
141
143
  inverseConfigOverride,
142
144
  termMaxConfigOverride,
143
145
  inverseMarketsOverride,
146
+ usddConfigOverride,
147
+ usddMarketsOverride,
144
148
  compoundV3BulkerOverride,
145
149
  eulerConfigsOverride,
146
150
  eulerVaultsOverride,
@@ -197,6 +201,8 @@ function initializeLenderData({
197
201
  if (inverseConfigOverride) data.inverseConfig = inverseConfigOverride;
198
202
  if (termMaxConfigOverride) data.termMaxConfig = termMaxConfigOverride;
199
203
  if (inverseMarketsOverride) data.inverseMarkets = inverseMarketsOverride;
204
+ if (usddConfigOverride) data.usddConfig = usddConfigOverride;
205
+ if (usddMarketsOverride) data.usddMarkets = usddMarketsOverride;
200
206
  if (compoundV3BulkerOverride) data.compoundV3Bulker = compoundV3BulkerOverride;
201
207
  if (eulerConfigsOverride) data.eulerConfigs = eulerConfigsOverride;
202
208
  if (eulerVaultsOverride) data.eulerVaults = eulerVaultsOverride;
@@ -204,13 +210,11 @@ function initializeLenderData({
204
210
  if (dolomiteEmodeOverride) data.dolomiteEmode = dolomiteEmodeOverride;
205
211
  if (aaveV4SpokesOverride) data.aaveV4Spokes = aaveV4SpokesOverride;
206
212
  if (aaveV4OraclesOverride) data.aaveV4Oracles = aaveV4OraclesOverride;
207
- if (aaveV4PeripheralsOverride)
208
- data.aaveV4Peripherals = aaveV4PeripheralsOverride;
213
+ if (aaveV4PeripheralsOverride) data.aaveV4Peripherals = aaveV4PeripheralsOverride;
209
214
  if (siloMarketsOverride) data.siloMarkets = siloMarketsOverride;
210
215
  if (siloPeripheralsOverride) data.siloPeripherals = siloPeripheralsOverride;
211
216
  if (siloMarketsV3Override) data.siloMarketsV3 = siloMarketsV3Override;
212
- if (siloPeripheralsV3Override)
213
- data.siloPeripheralsV3 = siloPeripheralsV3Override;
217
+ if (siloPeripheralsV3Override) data.siloPeripheralsV3 = siloPeripheralsV3Override;
214
218
  if (fluidResolversOverride) data.fluidResolvers = fluidResolversOverride;
215
219
  if (fluidVaultsOverride) data.fluidVaults = fluidVaultsOverride;
216
220
  if (gearboxResolversOverride) data.gearboxResolvers = gearboxResolversOverride;
@@ -301,9 +305,7 @@ var liquityBranchesByChain = (lender, chainId) => getGlobalData2()?.liquityMarke
301
305
  var liquityBranchByIndex = (lender, chainId, collIndex) => liquityBranchesByChain(lender, chainId).find((b) => b.collIndex === Number(collIndex));
302
306
  var liquityBranchByTroveManager = (lender, chainId, troveManager) => {
303
307
  const lower = troveManager.toLowerCase();
304
- return liquityBranchesByChain(lender, chainId).find(
305
- (b) => b.troveManager.toLowerCase() === lower
306
- );
308
+ return liquityBranchesByChain(lender, chainId).find((b) => b.troveManager.toLowerCase() === lower);
307
309
  };
308
310
  var liquityLendersByChain = (chainId) => {
309
311
  const cfg = getGlobalData2()?.liquityConfig ?? {};
@@ -337,6 +339,16 @@ var inverseLendersByChain = (chainId) => {
337
339
  const chain = String(chainId);
338
340
  return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.dola);
339
341
  };
342
+ var usddConfig = () => getGlobalData2()?.usddConfig;
343
+ var usddConfigFor = (lender, chainId) => getGlobalData2()?.usddConfig?.[lender]?.[String(chainId)];
344
+ var usddMarkets = () => getGlobalData2()?.usddMarkets;
345
+ var usddChainData = (lender, chainId) => getGlobalData2()?.usddMarkets?.[lender]?.[String(chainId)];
346
+ var usddMarketByIlk = (lender, chainId, ilk) => usddChainData(lender, chainId)?.markets?.find((m) => m.ilk === ilk);
347
+ var usddLendersByChain = (chainId) => {
348
+ const cfg = getGlobalData2()?.usddConfig ?? {};
349
+ const chain = String(chainId);
350
+ return Object.keys(cfg).filter((lender) => !!cfg[lender]?.[chain]?.vat);
351
+ };
340
352
  var compoundV3Bulker = () => getGlobalData2()?.compoundV3Bulker;
341
353
  var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
342
354
  var eulerVaults = () => getGlobalData2()?.eulerVaults;
@@ -436,9 +448,7 @@ function getSiloV2MarketEntry(chainId, lenderKey) {
436
448
  if (!parsed) return void 0;
437
449
  const list = getGlobalData2()?.siloMarkets?.[chainId];
438
450
  if (!list) return void 0;
439
- return list.find(
440
- (m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower
441
- );
451
+ return list.find((m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower);
442
452
  }
443
453
  function siloV3LenderKey(siloConfig) {
444
454
  if (!siloConfig || !siloConfig.startsWith("0x") || siloConfig.length !== 42) {
@@ -456,15 +466,11 @@ function getSiloV3MarketEntry(chainId, lenderKey) {
456
466
  if (!parsed) return void 0;
457
467
  const list = getGlobalData2()?.siloMarketsV3?.[chainId];
458
468
  if (!list) return void 0;
459
- return list.find(
460
- (m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower
461
- );
469
+ return list.find((m) => m.siloConfig.toLowerCase() === parsed.siloConfigAddrLower);
462
470
  }
463
471
  function gearboxV3LenderKey(creditManager) {
464
472
  if (!creditManager || !creditManager.startsWith("0x") || creditManager.length !== 42) {
465
- throw new Error(
466
- `gearboxV3LenderKey: invalid creditManager address ${creditManager}`
467
- );
473
+ throw new Error(`gearboxV3LenderKey: invalid creditManager address ${creditManager}`);
468
474
  }
469
475
  return `GEARBOX_V3_${creditManager.slice(2).toUpperCase()}`;
470
476
  }
@@ -516,4 +522,4 @@ async function fetchMainTokensMap() {
516
522
  return await data.json();
517
523
  }
518
524
 
519
- 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, exactlyConfig, exactlyMarketByAddress, exactlyMarketByAsset, exactlyMarkets, exactlyMarketsByChain, fetchMainTokensMap, fetchTokenList, fetchTokenListFile, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, inverseChainData, inverseConfig, inverseConfigFor, inverseLendersByChain, inverseMarketByAddress, inverseMarkets, liquityBranchByIndex, liquityBranchByTroveManager, liquityBranchesByChain, liquityConfig, liquityConfigFor, liquityLendersByChain, liquityMarkets, listaNativeProvider, midnightApiBaseOverride, midnightConfig, midnightMarketById, midnightMarkets, midnightMarketsByChain, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, parseTermMaxLenderKey, resolveMidnightApiBase, resolveTermApiBase, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setTermApiBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey, tellerConfig, tellerConfigByChain, tellerPoolByAddress, tellerPools, tellerPoolsByChain, termApiBaseOverride, termConfig, termMarketById, termMarkets, termMarketsByChain, termMaxApiBaseUrl, termMaxChainIds, termMaxConfig, termMaxConfigByChain, termMaxLenderKey };
525
+ 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, exactlyConfig, exactlyMarketByAddress, exactlyMarketByAsset, exactlyMarkets, exactlyMarketsByChain, fetchMainTokensMap, fetchTokenList, fetchTokenListFile, fetchTokenLists, findAaveV4PositionManager, fluidChains, fluidResolvers, fluidVaultEntries, fluidVaults, gearboxAccountCompressor, gearboxAddressProviderV310, gearboxBotListV3, gearboxChains, gearboxMarketCompressor, gearboxMarketConfigurators, gearboxResolvers, gearboxV3LenderKey, getAaveV4GatewayAddresses, getAaveV4PositionManagers, getAaveV4SpokeEntry, getAaveV4SpokePeripherals, getChainEntries, getSiloV2MarketEntry, getSiloV3MarketEntry, initConfig, initializeChainData, initializeLenderData, inverseChainData, inverseConfig, inverseConfigFor, inverseLendersByChain, inverseMarketByAddress, inverseMarkets, liquityBranchByIndex, liquityBranchByTroveManager, liquityBranchesByChain, liquityConfig, liquityConfigFor, liquityLendersByChain, liquityMarkets, listaNativeProvider, midnightApiBaseOverride, midnightConfig, midnightMarketById, midnightMarkets, midnightMarketsByChain, morphoBundler3, morphoOracles, morphoPools, morphoTypeMarkets, morphoTypeOracles, morphoTypeVaults, parseAaveV4SpokeLenderKey, parseGearboxV3LenderKey, parseSiloV2LenderKey, parseSiloV3LenderKey, parseTermMaxLenderKey, resolveMidnightApiBase, resolveTermApiBase, riverChainData, riverConfig, riverConfigFor, riverLendersByChain, riverMarketByIndex, riverMarkets, setMidnightApiBase, setTermApiBase, siloMarkets, siloMarketsV3, siloPeripherals, siloPeripheralsV3, siloV2LenderKey, siloV3LenderKey, tellerConfig, tellerConfigByChain, tellerPoolByAddress, tellerPools, tellerPoolsByChain, termApiBaseOverride, termConfig, termMarketById, termMarkets, termMarketsByChain, termMaxApiBaseUrl, termMaxChainIds, termMaxConfig, termMaxConfigByChain, termMaxLenderKey, usddChainData, usddConfig, usddConfigFor, usddLendersByChain, usddMarketByIlk, usddMarkets };
package/dist/lending.d.ts CHANGED
@@ -535,6 +535,89 @@ export type InverseMarketsType = {
535
535
  [chainId: string]: InverseChainData;
536
536
  };
537
537
  };
538
+ /** One USDD PSM (1:1 stable swap module; NOT a lending market). */
539
+ export type UsddPsmConfig = {
540
+ ilk: string;
541
+ psm: string;
542
+ /** Approval target for `sellGem` (the PSM's own gem adapter). */
543
+ gemJoin: string;
544
+ gem: string;
545
+ gemSymbol?: string;
546
+ /** 6 on Ethereum (USDT/USDC), 18 on BNB (BSC-USDT). */
547
+ gemDecimals: number;
548
+ };
549
+ /** Per-chain USDD deployment seed (hand-maintained). */
550
+ export type UsddConfigChain = {
551
+ /** Core accounting engine — ilk params + urns live here. */
552
+ vat: string;
553
+ /** Stability-fee module (`ilks(ilk).duty`, per-second ray). */
554
+ jug: string;
555
+ /** Oracle liaison (`ilks(ilk)` → pip + mat). */
556
+ spot: string;
557
+ /** Liquidation module (clip, chop, hole per ilk). */
558
+ dog: string;
559
+ /** DssCdpManager — CDP ids, urn handles, `cdpAllow` grants. */
560
+ cdpManager: string;
561
+ /** DssProxyActions — the atomic one-shot target (via DSProxy.execute). */
562
+ proxyActions: string;
563
+ /** ProxyRegistry — `proxies(user)` / `build()` for the DSProxy route. */
564
+ proxyRegistry: string;
565
+ /** The debt token. */
566
+ usdd: string;
567
+ /** DaiJoin-equivalent for USDD enter/exit. */
568
+ usddJoin: string;
569
+ /** Debt decimals (18). */
570
+ debtDecimals?: number;
571
+ /** The savings Pot (sDAI-style; savings side lives in margin-fetcher's
572
+ * SAVINGS_REGISTRY, carried here for completeness). */
573
+ pot?: string;
574
+ susdd?: string;
575
+ /** 1:1 stable PSMs (swap modules — not lending markets). */
576
+ psms?: UsddPsmConfig[];
577
+ };
578
+ export type UsddConfigType = {
579
+ [lender: string]: {
580
+ [chainId: string]: UsddConfigChain;
581
+ };
582
+ };
583
+ /** One USDD market (= one collateral ilk). */
584
+ export type UsddMarketConfig = {
585
+ /** Ilk string (e.g. `WBTC-A`) — also the per-market key suffix
586
+ * (`USDD_<chainId>_<ILK>`). bytes32-encode via stringToHex(size 32). */
587
+ ilk: string;
588
+ /** Collateral adapter — approval target for deposits. */
589
+ gemJoin: string;
590
+ collToken: string;
591
+ collDecimals: number;
592
+ collSymbol?: string;
593
+ /** Price feed behind the Spot (OSM/Median). */
594
+ pip?: string;
595
+ /** Liquidation ratio, ray (Spot.mat). */
596
+ mat: string;
597
+ /** Per-second stability fee, ray (Jug.duty). */
598
+ duty: string;
599
+ /** Dutch-auction contract (Dog.clip). */
600
+ clip?: string;
601
+ /** Liquidation penalty, wad (Dog.chop; 1e18 = none). */
602
+ chop?: string;
603
+ /** Debt ceiling, rad (Vat.ilks.line). */
604
+ line: string;
605
+ /** Per-CDP debt floor, rad (Vat.ilks.dust). */
606
+ dust: string;
607
+ name?: string;
608
+ };
609
+ /** Generated per-chain data: verified ilk list + the cdpi trigger snapshot. */
610
+ export type UsddChainData = {
611
+ markets: UsddMarketConfig[];
612
+ /** `cdpManager.cdpi()` at generation time — the USDD_PLAN.md
613
+ * re-evaluation trigger (0 = no CDP ever opened on this chain). */
614
+ cdpi?: string;
615
+ };
616
+ export type UsddMarketsType = {
617
+ [lender: string]: {
618
+ [chainId: string]: UsddChainData;
619
+ };
620
+ };
538
621
  type OracleMap = {
539
622
  [lender: string]: {
540
623
  [chainId: string]: string;
@@ -949,7 +1032,7 @@ export type AaveV4PeripheralsType = {
949
1032
  [chainId: string]: AaveV4ChainPeripherals;
950
1033
  };
951
1034
  /** Override datas used in the SDK - works across all module instances */
952
- 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, midnightConfigOverride, midnightMarketsOverride, termConfigOverride, termMarketsOverride, exactlyConfigOverride, exactlyMarketsOverride, tellerConfigOverride, tellerPoolsOverride, liquityConfigOverride, liquityMarketsOverride, riverConfigOverride, riverMarketsOverride, inverseConfigOverride, termMaxConfigOverride, inverseMarketsOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
1035
+ 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, midnightConfigOverride, midnightMarketsOverride, termConfigOverride, termMarketsOverride, exactlyConfigOverride, exactlyMarketsOverride, tellerConfigOverride, tellerPoolsOverride, liquityConfigOverride, liquityMarketsOverride, riverConfigOverride, riverMarketsOverride, inverseConfigOverride, termMaxConfigOverride, inverseMarketsOverride, usddConfigOverride, usddMarketsOverride, compoundV3BulkerOverride, eulerConfigsOverride, eulerVaultsOverride, dolomiteConfigsOverride, dolomiteEmodeOverride, aaveV4SpokesOverride, aaveV4OraclesOverride, aaveV4PeripheralsOverride, siloMarketsOverride, siloPeripheralsOverride, siloMarketsV3Override, siloPeripheralsV3Override, fluidResolversOverride, fluidVaultsOverride, gearboxResolversOverride, }: {
953
1036
  aaveTokensOverride?: AaveTokensType;
954
1037
  aavePoolsOverride?: AavePoolsType;
955
1038
  aaveOraclesOverride?: OracleMap;
@@ -989,6 +1072,8 @@ export declare function initializeLenderData({ aaveTokensOverride, aavePoolsOver
989
1072
  inverseConfigOverride?: InverseConfigType;
990
1073
  termMaxConfigOverride?: TermMaxConfigType;
991
1074
  inverseMarketsOverride?: InverseMarketsType;
1075
+ usddConfigOverride?: UsddConfigType;
1076
+ usddMarketsOverride?: UsddMarketsType;
992
1077
  compoundV3BulkerOverride?: CompoundV3BulkerType;
993
1078
  eulerConfigsOverride?: EulerConfigsType;
994
1079
  eulerVaultsOverride?: EulerVaultsType;
@@ -1113,6 +1198,19 @@ export declare const riverMarketByIndex: (lender: string, chainId: string | numb
1113
1198
  export declare const riverLendersByChain: (chainId: string | number) => string[];
1114
1199
  /** All Inverse lender keys with config on a chain (drives getLendersForChain). */
1115
1200
  export declare const inverseLendersByChain: (chainId: string | number) => string[];
1201
+ export declare const usddConfig: () => UsddConfigType;
1202
+ /** Deployment seed for one USDD lender on a chain (undefined if unloaded). */
1203
+ export declare const usddConfigFor: (lender: string, chainId: string | number) => UsddConfigChain | undefined;
1204
+ export declare const usddMarkets: () => UsddMarketsType;
1205
+ /** Generated chain data (verified ilk list + cdpi snapshot; undefined if unloaded). */
1206
+ export declare const usddChainData: (lender: string, chainId: string | number) => UsddChainData | undefined;
1207
+ /** Look up one USDD market by its ilk string (the per-market key suffix). */
1208
+ export declare const usddMarketByIlk: (lender: string, chainId: string | number, ilk: string) => UsddMarketConfig | undefined;
1209
+ /** All USDD lender keys with config on a chain (drives getLendersForChain).
1210
+ * NB: config presence (`vat`) — not market presence — gates the fan-out, so
1211
+ * the (empty-roster) provider still runs and reports zero markets rather
1212
+ * than being invisible; the per-ilk keys only exist once metadata fills. */
1213
+ export declare const usddLendersByChain: (chainId: string | number) => string[];
1116
1214
  export declare const compoundV3Bulker: () => CompoundV3BulkerType;
1117
1215
  export declare const eulerConfigs: () => EulerConfigsType;
1118
1216
  export declare const eulerVaults: () => EulerVaultsType;
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "0.0.36",
7
+ "version": "0.0.37",
8
8
  "description": "Hold and initialize lending protocol data across a stack",
9
9
  "files": [
10
10
  "dist"