@1delta/margin-fetcher 0.0.212 → 0.0.213

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
@@ -6268,6 +6268,7 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
6268
6268
  morphoOracles: {},
6269
6269
  morphoTypeOracles: {},
6270
6270
  morphoTypeMarkets: {},
6271
+ aaveOraclesConfig: {},
6271
6272
  aaveWethGateway: {},
6272
6273
  morphoBundler3: {},
6273
6274
  listaNativeProvider: {},
@@ -6295,6 +6296,7 @@ var compoundV2Pools = () => getGlobalData2()?.compoundV2Pools;
6295
6296
  var compoundV2Tokens = () => getGlobalData2()?.compoundV2Tokens;
6296
6297
  var compoundV2TokenArray = () => getGlobalData2()?.compoundV2TokenArray;
6297
6298
  var initConfig = () => getGlobalData2()?.initConfig;
6299
+ var aaveOraclesConfig = () => getGlobalData2()?.aaveOraclesConfig;
6298
6300
  var eulerConfigs = () => getGlobalData2()?.eulerConfigs;
6299
6301
  var eulerVaults = () => getGlobalData2()?.eulerVaults;
6300
6302
  var getListUrl = (chainId) => `https://raw.githubusercontent.com/1delta-DAO/token-lists/main/${chainId}.json`;
@@ -30396,38 +30398,8 @@ var parseRWADynamicOracleResults = (chainId, data, assetName) => {
30396
30398
  }
30397
30399
  }
30398
30400
  };
30399
- var AAVE_LENDER_OVERRIDES = {
30400
- [Lender.KLAYBANK]: {
30401
- [Chain.KAIA_MAINNET]: {
30402
- // KLAYBANK on KAIA uses WKLAY as base asset
30403
- baseAsset: "0x19aac5f612f524b754ca7e7c41cbfa2e981a4432",
30404
- // BASE_CURRENCY_UNIT call reverts, oracle returns 18 decimals
30405
- baseCurrencyUnit: 1000000000000000000n,
30406
- // Use RHOMBUS oracle for WKLAY USD price
30407
- baseAssetSource: Lender.AVALON
30408
- }
30409
- },
30410
- [Lender.KLAP]: {
30411
- [Chain.KAIA_MAINNET]: {
30412
- // BASE_CURRENCY_UNIT call reverts, oracle returns 18 decimals (USD denominated)
30413
- baseCurrencyUnit: 1000000000000000000n
30414
- }
30415
- },
30416
- [Lender.MOLEND]: {
30417
- [Chain.MODE]: {
30418
- // BASE_CURRENCY_UNIT call reverts, oracle returns 18 decimals (USD denominated)
30419
- baseCurrencyUnit: 100000000n
30420
- }
30421
- },
30422
- [Lender.MOOLA]: {
30423
- [Chain.CELO_MAINNET]: {
30424
- baseAsset: "0x471ece3750da237f93b8e339c536989b8978a438",
30425
- // BASE_CURRENCY_UNIT call reverts, oracle returns 18 decimals
30426
- baseCurrencyUnit: 1000000000000000000n,
30427
- baseAssetSource: Lender.AAVE_V3
30428
- }
30429
- }
30430
- };
30401
+
30402
+ // src/prices/oracle-prices/fetchers/aave.ts
30431
30403
  function getAaveLendersForChain(chainId) {
30432
30404
  const oracles = aaveOracles() ?? {};
30433
30405
  const reserves = aaveReserves() ?? {};
@@ -30461,7 +30433,8 @@ function getAaveCalls2(chainId) {
30461
30433
  params: [asset]
30462
30434
  });
30463
30435
  }
30464
- const lenderOverride = AAVE_LENDER_OVERRIDES[lender]?.[chainId];
30436
+ const config = aaveOraclesConfig() ?? {};
30437
+ const lenderOverride = config[lender]?.[chainId];
30465
30438
  results.push({
30466
30439
  calls,
30467
30440
  meta: {
@@ -30471,7 +30444,7 @@ function getAaveCalls2(chainId) {
30471
30444
  baseCurrencyUnitIndex: 0,
30472
30445
  assetCallCount: assets.length,
30473
30446
  baseAssetOverride: lenderOverride?.baseAsset,
30474
- baseCurrencyUnitOverride: lenderOverride?.baseCurrencyUnit,
30447
+ baseCurrencyUnitOverride: lenderOverride?.baseCurrencyUnit ? BigInt(lenderOverride.baseCurrencyUnit) : void 0,
30475
30448
  baseAssetSource: lenderOverride?.baseAssetSource
30476
30449
  },
30477
30450
  lender
@@ -30511,13 +30484,15 @@ function parseAaveResults2(data, meta, context) {
30511
30484
  );
30512
30485
  if (isNaN(rawPriceNum) || rawPriceNum === 0) continue;
30513
30486
  const priceUSD = rawPriceNum * baseAssetUSD;
30487
+ const isBaseAsset = meta.baseAssetOverride && asset.toLowerCase() === meta.baseAssetOverride.toLowerCase();
30514
30488
  entries.push({
30515
30489
  asset: asset.toLowerCase(),
30516
30490
  price: rawPriceNum,
30517
30491
  // Raw price (in base asset terms)
30518
30492
  priceUSD,
30519
30493
  marketUid: createMarketUid(chainId, meta.fork, asset),
30520
- staticBase: meta.baseAssetOverride
30494
+ staticBase: isBaseAsset || void 0,
30495
+ baseAsset: meta.baseAssetOverride
30521
30496
  });
30522
30497
  } catch {
30523
30498
  continue;
@@ -30626,7 +30601,8 @@ function parseMorphoResults2(data, meta, context) {
30626
30601
  marketUid: createMarketUid(chainId, lenderKey, loanAsset),
30627
30602
  targetLender: lenderKey,
30628
30603
  description: "Morpho loan asset",
30629
- staticBase: loanAsset
30604
+ staticBase: true,
30605
+ baseAsset: loanAsset
30630
30606
  });
30631
30607
  const collateralPriceUSD = priceDebtToCollateral * loanAssetUSD;
30632
30608
  entries.push({
@@ -30636,7 +30612,7 @@ function parseMorphoResults2(data, meta, context) {
30636
30612
  priceUSD: collateralPriceUSD,
30637
30613
  marketUid: createMarketUid(chainId, lenderKey, collateralAsset),
30638
30614
  targetLender: lenderKey,
30639
- staticBase: loanAsset
30615
+ baseAsset: loanAsset
30640
30616
  });
30641
30617
  }
30642
30618
  }
@@ -30753,7 +30729,7 @@ function processMarketsToEntries(chainId, allMarkets, source) {
30753
30729
  priceUSD: resolvedCollateralUSD,
30754
30730
  marketUid: createMarketUid(chainId, lenderKey, collateralAsset),
30755
30731
  targetLender: lenderKey,
30756
- staticBase: loanAsset
30732
+ baseAsset: loanAsset
30757
30733
  });
30758
30734
  }
30759
30735
  if (resolvedLoanUSD > 0) {
@@ -30764,7 +30740,8 @@ function processMarketsToEntries(chainId, allMarkets, source) {
30764
30740
  marketUid: createMarketUid(chainId, lenderKey, loanAsset),
30765
30741
  targetLender: lenderKey,
30766
30742
  description: "Morpho loan asset",
30767
- staticBase: loanAsset
30743
+ staticBase: true,
30744
+ baseAsset: loanAsset
30768
30745
  });
30769
30746
  }
30770
30747
  }
@@ -30890,13 +30867,9 @@ function getCompoundV3Calls(chainId) {
30890
30867
  const skipBaseScaling = USD_PRICED_OVERRIDES[lender]?.has(chainId);
30891
30868
  const baseAsset = skipBaseScaling ? void 0 : baseData[lender]?.[chainId]?.baseAsset?.toLowerCase();
30892
30869
  const entries = Object.entries(assetOracles);
30893
- const constantEntry = entries.find(
30870
+ const hasConstantFeed = entries.some(
30894
30871
  ([, e]) => e.description?.toLowerCase().includes("constant price")
30895
30872
  );
30896
- let staticBase;
30897
- if (constantEntry && baseAsset) {
30898
- staticBase = baseAsset;
30899
- }
30900
30873
  const calls = [];
30901
30874
  const meta = [];
30902
30875
  for (const [asset, entry] of entries) {
@@ -30905,13 +30878,14 @@ function getCompoundV3Calls(chainId) {
30905
30878
  name: "latestRoundData",
30906
30879
  params: []
30907
30880
  });
30881
+ const isBaseAsset = hasConstantFeed && baseAsset && asset.toLowerCase() === baseAsset;
30908
30882
  meta.push({
30909
30883
  asset,
30910
30884
  oracle: entry.oracle,
30911
30885
  baseAsset,
30912
30886
  lender,
30913
30887
  description: entry.description,
30914
- staticBase
30888
+ staticBase: isBaseAsset || void 0
30915
30889
  });
30916
30890
  }
30917
30891
  if (calls.length > 0) {
@@ -30954,7 +30928,8 @@ function parseCompoundV3Results(data, meta, context) {
30954
30928
  priceUSD,
30955
30929
  marketUid: createMarketUid(chainId, queryMeta.lender, queryMeta.asset),
30956
30930
  description: queryMeta.description,
30957
- staticBase: queryMeta.staticBase
30931
+ staticBase: queryMeta.staticBase || void 0,
30932
+ baseAsset: queryMeta.baseAsset
30958
30933
  });
30959
30934
  } catch {
30960
30935
  }