@1delta/margin-fetcher 0.0.311 → 0.0.313

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
@@ -32033,6 +32033,7 @@ var usdaiFetcher = {
32033
32033
  var MAPLE_URL = "https://api.maple.finance/v2/graphql";
32034
32034
  var SYRUP_USDT_ID = "0x356b8d89c1e1239cbbb9de4815c39a1474d5ba7d";
32035
32035
  var SYRUP_USDC_ID = "0x80ac24aa929eaf5013f6436cda2a7ba190f5cc0b";
32036
+ var SYRUP_USDG_ID = "0x87b65c4aaffa76881f9e96f3e7ed945ddfc3cd7a";
32036
32037
  var mapleFetcher = {
32037
32038
  label: "MAPLE",
32038
32039
  fetch: async () => {
@@ -32058,10 +32059,12 @@ var mapleFetcher = {
32058
32059
  const pools = res.data.poolV2S;
32059
32060
  const usdtPool = pools.find((p) => p.id === SYRUP_USDT_ID);
32060
32061
  const usdcPool = pools.find((p) => p.id === SYRUP_USDC_ID);
32062
+ const usdgPool = pools.find((p) => p.id === SYRUP_USDG_ID);
32061
32063
  const parseApy = (raw) => Number(raw) / 1e28;
32062
32064
  return {
32063
32065
  SYRUPUSDT: apyToAprPercent(parseApy(usdtPool.weeklyApy)),
32064
- SYRUPUSDC: apyToAprPercent(parseApy(usdcPool.weeklyApy))
32066
+ SYRUPUSDC: apyToAprPercent(parseApy(usdcPool.weeklyApy)),
32067
+ SYRUPUSDG: apyToAprPercent(parseApy(usdgPool.weeklyApy))
32065
32068
  };
32066
32069
  }
32067
32070
  };
@@ -38369,15 +38372,15 @@ async function getJson(url) {
38369
38372
  clearTimeout(timer);
38370
38373
  }
38371
38374
  }
38372
- function mapApiDetail(d, chainId, prices, tokenList) {
38375
+ function mapApiDetail(d, chainId, prices, tokenList, shareDecimalsByVault) {
38373
38376
  const address = (d.address ?? "").toLowerCase();
38374
38377
  const underlying = (d.asset?.address ?? "").toLowerCase();
38375
38378
  if (!address || !underlying) return null;
38376
38379
  const assetMeta = tokenList[underlying];
38377
- const decimals = Number(d.decimals ?? d.asset?.decimals ?? 18);
38378
38380
  const assetDecimals = Number(
38379
- d.asset?.decimals ?? assetMeta?.decimals ?? decimals
38381
+ d.asset?.decimals ?? assetMeta?.decimals ?? 18
38380
38382
  );
38383
+ const decimals = shareDecimalsByVault.get(address) ?? assetDecimals;
38381
38384
  const totalAssetsRaw = String(d.totalAssets ?? "0");
38382
38385
  const totalSupplyRaw = String(d.totalShares ?? "0");
38383
38386
  const convertToAssets = d.exchangeRate != null ? rescaleExchangeRate(d.exchangeRate, decimals) : deriveConvertToAssets(totalAssetsRaw, totalSupplyRaw, decimals);
@@ -38444,7 +38447,7 @@ async function mapWithConcurrency(items, limit, fn) {
38444
38447
  );
38445
38448
  return out;
38446
38449
  }
38447
- async function fetchEulerEarnVaultsFromApi(chainId, prices = {}, tokenList = {}) {
38450
+ async function fetchEulerEarnVaultsFromApi(chainId, prices = {}, tokenList = {}, multicallRetry) {
38448
38451
  const list = await getJson(
38449
38452
  `${EULER_DATA_API_BASE2}/earn/vaults?chainId=${chainId}&limit=200`
38450
38453
  );
@@ -38458,10 +38461,16 @@ async function fetchEulerEarnVaultsFromApi(chainId, prices = {}, tokenList = {})
38458
38461
  `${EULER_DATA_API_BASE2}/earn/vaults/${chainId}/${row.address}?include=strategies`
38459
38462
  ).then((d) => d?.data)
38460
38463
  );
38464
+ const vaultAddrs = details.map((d) => d?.address).filter((a) => !!a);
38465
+ const shareDecimalsByVault = await fetchShareDecimals(
38466
+ chainId,
38467
+ vaultAddrs,
38468
+ multicallRetry
38469
+ );
38461
38470
  const out = {};
38462
38471
  for (const d of details) {
38463
38472
  if (!d) continue;
38464
- const v = mapApiDetail(d, chainId, prices, tokenList);
38473
+ const v = mapApiDetail(d, chainId, prices, tokenList, shareDecimalsByVault);
38465
38474
  if (v) out[v.address] = v;
38466
38475
  }
38467
38476
  return out;
@@ -38473,7 +38482,8 @@ var fetchEulerEarnVaults = async (chainId, prices = {}, tokenList = {}, multical
38473
38482
  const fromApi = await fetchEulerEarnVaultsFromApi(
38474
38483
  chainId,
38475
38484
  prices,
38476
- tokenList
38485
+ tokenList,
38486
+ multicallRetry
38477
38487
  ).catch(() => void 0);
38478
38488
  if (isNonEmpty(fromApi)) return fromApi;
38479
38489
  const subgraphUrl = getEulerEarnSubgraphUrl(chainId);
@@ -45183,6 +45193,20 @@ var SINGLE_CHAIN_ENTRIES = {
45183
45193
  yieldFetcher: mapleFetcher,
45184
45194
  yieldKey: "SYRUPUSDT"
45185
45195
  },
45196
+ {
45197
+ address: "0x87b65c4aaffa76881f9e96f3e7ed945ddfc3cd7a",
45198
+ underlying: "0xe343167631d89b6ffc58b88d6b7fb0228795491d",
45199
+ // USDG
45200
+ symbol: "syrupUSDG",
45201
+ brand: "Maple",
45202
+ decimals: 6,
45203
+ isRebasing: false,
45204
+ isMintable: true,
45205
+ withdrawalMode: "request-based",
45206
+ withdrawalCooldownSeconds: 604800,
45207
+ yieldFetcher: mapleFetcher,
45208
+ yieldKey: "SYRUPUSDG"
45209
+ },
45186
45210
  {
45187
45211
  // Hastra Democratized PRIME — ERC-4626 over wYLDS (itself ERC-4626 over
45188
45212
  // USDC), so the share/asset ratio accrues on-chain (`convertToAssets`).
@@ -45801,15 +45825,12 @@ var fetchAaveEarnVaults = async (chainId, multicallRetry, prices = {}, tokenList
45801
45825
  const depositRate = supplyRate + rewardsRate;
45802
45826
  const fee = num2(v.fee?.value);
45803
45827
  const symbol = (v.shareSymbol ?? "").trim();
45804
- const name = (v.shareName ?? "").trim() || symbol;
45828
+ const shareName = (v.shareName ?? "").trim();
45829
+ const name = shareName || symbol;
45830
+ const assetForName = asset ?? (token.symbol ? {
45831
+ symbol: token.symbol} : void 0);
45805
45832
  const curatorName = resolveAaveEarnCuratorName(chainId, v.owner);
45806
- const displayName = composeVaultDisplayName(
45807
- BRAND2,
45808
- curatorName,
45809
- asset ?? (token.symbol ? {
45810
- symbol: token.symbol} : void 0),
45811
- name
45812
- );
45833
+ const displayName = curatorName ? composeVaultDisplayName(BRAND2, curatorName, assetForName, name) : shareName || composeVaultDisplayName(BRAND2, void 0, assetForName, symbol);
45813
45834
  out[addressLc] = {
45814
45835
  address: addressLc,
45815
45836
  underlying: underlyingLc,