@1delta/margin-fetcher 0.0.338 → 0.0.340

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
@@ -22206,6 +22206,15 @@ function liquityKeyParts(key) {
22206
22206
  return { lender: base, chainId: m[1], collIndex: Number(m[2]) };
22207
22207
  }
22208
22208
  var WAD6 = 1e18;
22209
+ var MAX_PLAUSIBLE_UNIT_USD = 1e7;
22210
+ function liquityCollateralPrice(raw, collDecimals, priceDecimals) {
22211
+ if (raw == null || raw <= 0n) return 0;
22212
+ if (priceDecimals != null) return Number(raw) / 10 ** priceDecimals;
22213
+ const plain = Number(raw) / WAD6;
22214
+ if (collDecimals >= 18 || plain <= MAX_PLAUSIBLE_UNIT_USD) return plain;
22215
+ const adjusted = Number(raw) / 10 ** (36 - collDecimals);
22216
+ return adjusted <= MAX_PLAUSIBLE_UNIT_USD ? adjusted : 0;
22217
+ }
22209
22218
  function toHuman2(raw, decimals) {
22210
22219
  return Number(raw) / 10 ** decimals;
22211
22220
  }
@@ -22237,7 +22246,7 @@ function convertLiquityMarketsToResponse(raw, chainId, prices = {}, _additionalY
22237
22246
  const collSymbol = collToken?.symbol ?? branch.name?.split(" / ").pop() ?? "COLL";
22238
22247
  const marketName = branch.name ?? `${stableSymbol} / ${collSymbol}`;
22239
22248
  const collPriceKey = toOracleKey(collToken?.assetGroup) || toGenericPriceKey(collAddr, chainId);
22240
- const collPrice = (b.collPrice !== null ? Number(b.collPrice) / WAD6 : 0) || (prices[collPriceKey] ?? 0);
22249
+ const collPrice = liquityCollateralPrice(b.collPrice, collDecimals, branch.priceDecimals) || (prices[collPriceKey] ?? 0);
22241
22250
  const entireDebt = b.entireDebt !== null ? toHuman2(b.entireDebt, stableDecimals) : 0;
22242
22251
  const entireColl = b.entireColl !== null ? toHuman2(b.entireColl, collDecimals) : 0;
22243
22252
  const spDeposits = b.spDeposits !== null ? toHuman2(b.spDeposits, stableDecimals) : 0;
@@ -35199,7 +35208,12 @@ var osethFetcher = {
35199
35208
  operationName: "osTokenApy"
35200
35209
  })
35201
35210
  }).then((r) => r.json());
35202
- return { [osETH]: apyToAprPercent(res.data?.osTokens?.[0]?.apy) };
35211
+ const apr = apyToAprPercent(res.data?.osTokens?.[0]?.apy);
35212
+ return {
35213
+ [osETH]: apr,
35214
+ // token-lists unifies every osETH deployment (incl. bridged) to the bare `OSETH` group — emit there too.
35215
+ OSETH: apr
35216
+ };
35203
35217
  }
35204
35218
  };
35205
35219
 
@@ -37541,6 +37555,8 @@ var angleFetcher = {
37541
37555
  label: "ANGLE",
37542
37556
  fetch: async () => ({
37543
37557
  [stEur]: 0,
37558
+ // token-lists unifies every stEUR deployment to the bare `STEUR` group — emit there too.
37559
+ STEUR: 0,
37544
37560
  [stUSD]: 0
37545
37561
  })
37546
37562
  };
@@ -38289,10 +38305,13 @@ var rtokensFetcher = {
38289
38305
  const data = res?.rtokens?.["8453"];
38290
38306
  const dataMainnet = res?.rtokens?.["1"];
38291
38307
  const dataMainnetColalterals = res?.collaterals?.["1"];
38308
+ const sfrxethApr = apyToAprPercent((dataMainnetColalterals?.sfrxeth ?? 0) / 100) * 100;
38292
38309
  return {
38293
38310
  [bsdETH]: apyToAprPercent((data?.bsdETH ?? 0) / 100) * 100,
38294
38311
  [hyUSD]: apyToAprPercent((data?.hyUSD ?? 0) / 100) * 100,
38295
- [sfrxeth]: apyToAprPercent((dataMainnetColalterals?.sfrxeth ?? 0) / 100) * 100,
38312
+ [sfrxeth]: sfrxethApr,
38313
+ // token-lists unifies every sfrxETH deployment to the bare `SFRXETH` group — emit there too.
38314
+ SFRXETH: sfrxethApr,
38296
38315
  [sfrax]: apyToAprPercent((dataMainnetColalterals?.sfrax ?? 0) / 100) * 100,
38297
38316
  [ceth]: apyToAprPercent((dataMainnetColalterals?.ceth ?? 0) / 100) * 100,
38298
38317
  [ethPlus]: apyToAprPercent((dataMainnet?.["ETH+"] ?? 0) / 100) * 100,
@@ -38453,7 +38472,8 @@ async function fetchPendleYields(lists = {}) {
38453
38472
  const ptPrice = prices[market.pt];
38454
38473
  const ytPrice = prices[market.yt];
38455
38474
  const [chainId, address] = market.pt.split("-");
38456
- const assetKey = lists[chainId]?.list?.[address.toLowerCase()]?.assetGroup ?? market.pt;
38475
+ const assetKey = lists[chainId]?.list?.[address.toLowerCase()]?.assetGroup;
38476
+ if (!assetKey) return;
38457
38477
  const expiry = new Date(market.expiry);
38458
38478
  if (expiry <= now) {
38459
38479
  yields[assetKey] = 0;
@@ -38808,6 +38828,50 @@ var yearnKatanaFetcher = {
38808
38828
  }
38809
38829
  };
38810
38830
 
38831
+ // src/yields/intrinsic/fetchers/liquidCollective.ts
38832
+ var LSETH_POOL_ID = "465d177e-3d0d-42c0-b5f5-31c857567135";
38833
+ var KEYS = ["Liquid Staked ETH::LSETH", "LSETH"];
38834
+ var lsethFetcher = {
38835
+ label: "LSETH",
38836
+ fetch: async () => {
38837
+ const apr = apyToAprPercent(await fetchDefiLlamaApy(LSETH_POOL_ID));
38838
+ return Object.fromEntries(KEYS.map((k) => [k, apr]));
38839
+ }
38840
+ };
38841
+
38842
+ // src/yields/intrinsic/fetchers/treehouse.ts
38843
+ var TETH_POOL_ID = "5762f4a8-bb48-45d6-90ed-2d93d1777169";
38844
+ var KEYS2 = ["Treehouse ETH::tETH"];
38845
+ var tethFetcher = {
38846
+ label: "TETH",
38847
+ fetch: async () => {
38848
+ const apr = apyToAprPercent(await fetchDefiLlamaApy(TETH_POOL_ID));
38849
+ return Object.fromEntries(KEYS2.map((k) => [k, apr]));
38850
+ }
38851
+ };
38852
+
38853
+ // src/yields/intrinsic/fetchers/strata.ts
38854
+ var SRNUSD_POOL_ID = "979711ce-d0c0-4aae-a5fc-d7b76e868649";
38855
+ var KEYS3 = ["Strata Senior NUSD::srNUSD"];
38856
+ var srnusdFetcher = {
38857
+ label: "SRNUSD",
38858
+ fetch: async () => {
38859
+ const apr = apyToAprPercent(await fetchDefiLlamaApy(SRNUSD_POOL_ID));
38860
+ return Object.fromEntries(KEYS3.map((k) => [k, apr]));
38861
+ }
38862
+ };
38863
+
38864
+ // src/yields/intrinsic/fetchers/anzen.ts
38865
+ var SUSDZ_POOL_ID = "46518e93-8197-4539-9861-2340c2ac965a";
38866
+ var KEYS4 = ["Anzen Staked USDz::SUSDZ", "Anzen Staked USDz::sUSDz", "Staked USDz::sUSDz"];
38867
+ var susdzFetcher = {
38868
+ label: "SUSDZ",
38869
+ fetch: async () => {
38870
+ const apr = apyToAprPercent(await fetchDefiLlamaApy(SUSDZ_POOL_ID));
38871
+ return Object.fromEntries(KEYS4.map((k) => [k, apr]));
38872
+ }
38873
+ };
38874
+
38811
38875
  // src/yields/intrinsic/fetcherRegistry.ts
38812
38876
  var LENDING_ONLY_FETCHERS = [
38813
38877
  stmaticFetcher,
@@ -38833,7 +38897,12 @@ var LENDING_ONLY_FETCHERS = [
38833
38897
  nestFetcher,
38834
38898
  accountableFetcher,
38835
38899
  upshiftFetcher,
38836
- yearnKatanaFetcher
38900
+ yearnKatanaFetcher,
38901
+ // DefiLlama-mapped intrinsic yields for classifier assets lacking a bespoke source
38902
+ lsethFetcher,
38903
+ tethFetcher,
38904
+ srnusdFetcher,
38905
+ susdzFetcher
38837
38906
  ];
38838
38907
  var collectVaultFetchers = () => {
38839
38908
  const seen = /* @__PURE__ */ new Set();
@@ -39787,7 +39856,6 @@ var termFetcher = {
39787
39856
  parse: parseTermResults,
39788
39857
  getAbi: getTermAbi
39789
39858
  };
39790
- var SANITY_MAX_USD = 1e9;
39791
39859
  function getLiquityCalls(chainId) {
39792
39860
  const results = [];
39793
39861
  for (const lender of LIQUITY_FAMILY_LENDERS) {
@@ -39806,6 +39874,8 @@ function getLiquityCalls(chainId) {
39806
39874
  chainId,
39807
39875
  collIndex: b.collIndex,
39808
39876
  collToken: b.collToken.toLowerCase(),
39877
+ collDecimals: b.collDecimals,
39878
+ priceDecimals: b.priceDecimals,
39809
39879
  debtToken: debtToken?.toLowerCase()
39810
39880
  },
39811
39881
  lender: liquityLenderKey(lender, chainId, b.collIndex)
@@ -39820,8 +39890,12 @@ function parseLiquityResults(data, meta, context) {
39820
39890
  const entries = [];
39821
39891
  const raw = data?.[0];
39822
39892
  const price2 = typeof raw === "bigint" ? raw : raw != null && raw !== "0x" ? BigInt(raw) : 0n;
39823
- const collUSD = Number(price2) / 1e18;
39824
- if (collUSD > 0 && collUSD < SANITY_MAX_USD) {
39893
+ const collUSD = liquityCollateralPrice(
39894
+ price2,
39895
+ meta.collDecimals,
39896
+ meta.priceDecimals
39897
+ );
39898
+ if (collUSD > 0) {
39825
39899
  entries.push({
39826
39900
  asset: meta.collToken,
39827
39901
  price: collUSD,