@1delta/margin-fetcher 0.0.250 → 0.0.252

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.
Files changed (34) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +445 -8
  4. package/dist/index.js.map +1 -1
  5. package/dist/lending/index.d.ts +1 -1
  6. package/dist/lending/index.d.ts.map +1 -1
  7. package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts +44 -0
  8. package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts.map +1 -0
  9. package/dist/lending/user-data/morpho/index.d.ts +1 -0
  10. package/dist/lending/user-data/morpho/index.d.ts.map +1 -1
  11. package/dist/lending/user-data/with-permissions/types.d.ts +6 -0
  12. package/dist/lending/user-data/with-permissions/types.d.ts.map +1 -1
  13. package/dist/vaults/displayName.d.ts +19 -0
  14. package/dist/vaults/displayName.d.ts.map +1 -0
  15. package/dist/vaults/fetchVaultsAll.d.ts +56 -0
  16. package/dist/vaults/fetchVaultsAll.d.ts.map +1 -0
  17. package/dist/vaults/fluid/publicCallParse.d.ts.map +1 -1
  18. package/dist/vaults/fluid/types.d.ts +11 -1
  19. package/dist/vaults/fluid/types.d.ts.map +1 -1
  20. package/dist/vaults/gearbox/publicCallParse.d.ts.map +1 -1
  21. package/dist/vaults/gearbox/types.d.ts +14 -1
  22. package/dist/vaults/gearbox/types.d.ts.map +1 -1
  23. package/dist/vaults/index.d.ts +2 -0
  24. package/dist/vaults/index.d.ts.map +1 -1
  25. package/dist/vaults/morpho/fetchFromApi.d.ts.map +1 -1
  26. package/dist/vaults/morpho/fetchFromSubgraph.d.ts.map +1 -1
  27. package/dist/vaults/morpho/index.d.ts +1 -1
  28. package/dist/vaults/morpho/index.d.ts.map +1 -1
  29. package/dist/vaults/morpho/types.d.ts +28 -1
  30. package/dist/vaults/morpho/types.d.ts.map +1 -1
  31. package/dist/vaults/silo/fetchPublic.d.ts.map +1 -1
  32. package/dist/vaults/silo/types.d.ts +12 -1
  33. package/dist/vaults/silo/types.d.ts.map +1 -1
  34. package/package.json +4 -3
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export { getLenderPublicData, getLenderPublicDataViaApi, getLenderPublicDataAll, getLenderUserDataResult, convertLenderUserDataResult, prepareLenderUserDataRpcCalls, type PreparedUserDataRpcCalls, prepareMergedRpcCalls, parseMergedResult, type PreparedMergedRpcCalls, type MergedUserData, type PermissionParams, prepareMergedMulticallParams, type PreparedMergedMulticallParams, getMergedUserData, needsLenderApproval, needsTokenApproval, type TokenApprovalParams, type TokenApprovalMeta, getLenderUserDataMulti, type ChainQuery, type ProviderOptions, type BaseLendingPosition, type BasicReserveResponse, type AprData, type BalanceData, type UserConfig, type UserData, MORPHO_LENS, decodePackedMorphoUserDataset, decodePackedListaUserDataset, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, decodeMarkets, decodeListaMarkets, normalizeToBytes, getMorphoTypeMarketConverter, buildSummaries, buildPortfolioTotals, fuseLenderData, filterActiveLenders, type PortfolioTotals, type PortfolioSummary, type LenderSummary, type LenderDataEntry, type ChainSummary, type SubAccountSummary, type SummaryBalanceData, type SummaryAprData, type UserDataResult, calculateWeightedAverage, calculateNetApr, calculateLeverage, calculateOverallNetApr, getBalanceForMarketUid, } from './lending';
1
+ export { getLenderPublicData, getLenderPublicDataViaApi, getLenderPublicDataAll, getLenderUserDataResult, convertLenderUserDataResult, prepareLenderUserDataRpcCalls, type PreparedUserDataRpcCalls, prepareMergedRpcCalls, parseMergedResult, type PreparedMergedRpcCalls, type MergedUserData, type PermissionParams, prepareMergedMulticallParams, type PreparedMergedMulticallParams, getMergedUserData, needsLenderApproval, needsTokenApproval, type TokenApprovalParams, type TokenApprovalMeta, getLenderUserDataMulti, type ChainQuery, type ProviderOptions, type BaseLendingPosition, type BasicReserveResponse, type AprData, type BalanceData, type UserConfig, type UserData, MORPHO_LENS, decodePackedMorphoUserDataset, decodePackedListaUserDataset, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, fetchMorphoUserPositionMarkets, fetchMorphoUserBalances, hasMorphoUserSubgraph, hasMorphoUserApi, hasMorphoPositionIndex, type MorphoSubgraphProxyConfig, type MorphoUserMarketBalance, decodeMarkets, decodeListaMarkets, normalizeToBytes, getMorphoTypeMarketConverter, buildSummaries, buildPortfolioTotals, fuseLenderData, filterActiveLenders, type PortfolioTotals, type PortfolioSummary, type LenderSummary, type LenderDataEntry, type ChainSummary, type SubAccountSummary, type SummaryBalanceData, type SummaryAprData, type UserDataResult, calculateWeightedAverage, calculateNetApr, calculateLeverage, calculateOverallNetApr, getBalanceForMarketUid, } from './lending';
2
2
  export { type PoolWithMeta, generateLendingPools, unflattenLenderData, } from './lending-pools';
3
3
  export { fetchGeneralYields, fetchGeneralYieldsByMarketUid } from './yields';
4
4
  export { fetchPendlePrices, fetchOraclePrices, selectAssetGroupPrices, type TokenListInput, type FetchOraclePricesOptions, type OraclePriceEntry, type StructuredOraclePrices, type USDPriceMap, type MorphoMarketOverrides, type ListaMarketOverrides, type OracleDiagnostics, type OraclePricesResult, type ChainDiagnostic, type TrackerDiagnostic, type StaleFeedEntry, } from './prices';
5
5
  export { getLendersForChain, filterLendersByProtocol, getAavesForChain, getLenderAssets, isCompoundV3, isCompoundV3Type, isInit, isMorphoType, isAaveV3Type, isAaveV2Type, isYLDR, isAaveV32Type, isAaveType, isMultiMarket, createMarketUid, } from './utils';
6
6
  export { fetchFlashLiquidityForChain, attachPricesToFlashLiquidity, } from './flash-liquidity';
7
- export { buildFluidFTokensCall, getFluidFTokensConverter, fetchFluidFTokens, type FluidFToken, type FluidFTokens, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromSubgraph, hasMorphoVaultSubgraph, type MorphoVault, type MorphoVaults, fetchSiloVaults, type SiloVault, type SiloVaults, } from './vaults';
7
+ export { buildFluidFTokensCall, getFluidFTokensConverter, fetchFluidFTokens, type FluidFToken, type FluidFTokens, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromSubgraph, hasMorphoVaultSubgraph, type MorphoVault, type MorphoVaults, fetchSiloVaults, type SiloVault, type SiloVaults, getVaultPublicDataAll, type VaultProvider, type VaultPublicDataAll, type GetVaultPublicDataAllOptions, } from './vaults';
8
8
  export { type GenericCurrency, type GenericTokenList, type ParsedResponse, type ChainLinkResponse, type LenderRewardsMap, type NumberMap, type FullLenderRewardsMap, type AdditionalYields, type TokenList, type LenderUserQuery, type UserLendingPosition, type LenderUserResponse, type AaveV2UserReserveResponse, type AaveV3UserReserveResponse, type MorphoUserReserveResponse, type CompoundV3UserReserveResponse, type AaveV3Public, type LenderPublicBase, type LenderYields, type LenderTotalAmounts, type LenderConfigMap, type LenderConfigData, type ModeBase, type EModeData, type AaveV2Public, type CompoundV3Public, type UserApr, type InitUserReserveResponse, type InitPublic, type LenderData, type PoolData, type ConfigEntry, } from './types';
9
9
  export { computeDepositDelta, computeWithdrawDelta, computeBorrowDelta, computeRepayDelta, getHealthFactor, getBorrowCapacity, getAssetConfig, computePostTradeMetrics, EMPTY_BALANCE, } from './lending/margin/base';
10
10
  export type { PostTradeMetrics } from './lending/margin/base';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ import { getEvmChain, getEvmClient, getEvmClientUniversal, multicallRetryUnivers
8
8
  import { FluidLendingResolverAbi, MorphoLensAbi, AaveV4SpokeAbi, AaveV4OracleAbi, AaveV4HubAbi, FluidVaultResolverAbi, GearboxMarketCompressorV310Abi, MorphoBlueAbi, GearboxCreditAccountCompressorV310Abi } from '@1delta/abis';
9
9
  export { MorphoLensAbi } from '@1delta/abis';
10
10
  import { prepareDebitDataMulticall, prepareLenderDebitMulticall, parseDebitDataResult, parseLenderDebitResult, getPermit2ContractAddress, getCompoundV3CometAddress as getCompoundV3CometAddress$1, getMorphoAddress, getAaveCollateralTokenAddress, getSiloHalfForUnderlying, InitMarginAddresses } from '@1delta/calldata-sdk';
11
+ import { proxyNativeFetch } from '@1delta/proxy-fetch';
11
12
  import { BALANCER_V2_FORKS, BALANCER_V3_FORKS, UNISWAP_V4_FORKS, isFlashLoanSourceExcluded, FLASH_LOAN_IDS } from '@1delta/dex-registry';
12
13
 
13
14
  // src/abis/aave-v2/ProtocolDataProvider.ts
@@ -7542,6 +7543,9 @@ var Chain = /* @__PURE__ */ ((Chain2) => {
7542
7543
  Chain2["STUDIO_BLOCKCHAIN_MAINNET"] = "240241";
7543
7544
  Chain2["JOVAY_MAINNET"] = "5734951";
7544
7545
  Chain2["MANTRACHAIN_MAINNET"] = "5888";
7546
+ Chain2["MEGAETH_MAINNET"] = "4326";
7547
+ Chain2["STABLE_MAINNET"] = "988";
7548
+ Chain2["PHAROS_MAINNET"] = "1672";
7545
7549
  return Chain2;
7546
7550
  })(Chain || {});
7547
7551
 
@@ -28335,8 +28339,8 @@ function resolveDebitDataKey(chainId, lender, tokenAddress, cToken, isProtected)
28335
28339
  if (cToken) return cToken.toLowerCase();
28336
28340
  const tokenMap = getCompoundV2CollateralTokens(chainId, lender);
28337
28341
  if (tokenMap) {
28338
- const resolved = tokenMap[tokenAddress.toLowerCase()];
28339
- if (resolved) return resolved.toLowerCase();
28342
+ const resolved2 = tokenMap[tokenAddress.toLowerCase()];
28343
+ if (resolved2) return resolved2.toLowerCase();
28340
28344
  }
28341
28345
  }
28342
28346
  if (isCompoundV3Type(lender)) {
@@ -28408,6 +28412,200 @@ function needsTokenApproval(params) {
28408
28412
  const allowance = debitData.allowances?.[spenderLower] ?? 0n;
28409
28413
  return allowance < amount;
28410
28414
  }
28415
+ var MORPHO_USER_SUBGRAPH_URLS = {
28416
+ [Chain.SEI_NETWORK]: "https://api.goldsky.com/api/public/project_cmiergfbv4vma01vb642yaeam/subgraphs/morphoblue-sei/1.0.1/gn",
28417
+ [Chain.CELO_MAINNET]: "https://api.goldsky.com/api/public/project_cmiergfbv4vma01vb642yaeam/subgraphs/morphoblue-celo/1.0.4/gn",
28418
+ [Chain.LISK]: "https://api.goldsky.com/api/public/project_cmiergfbv4vma01vb642yaeam/subgraphs/morphobluelisk/1.0.1/gn",
28419
+ [Chain.SONEIUM]: "https://api.goldsky.com/api/public/project_cmiergfbv4vma01vb642yaeam/subgraphs/morphobluesoneium/1.0.2/gn",
28420
+ [Chain.TAC_MAINNET]: "https://api.goldsky.com/api/public/project_cmiergfbv4vma01vb642yaeam/subgraphs/morphoblue-tac/1.0.0/gn",
28421
+ // Hemi uses a different provider, but speaks the same GraphQL schema.
28422
+ [Chain.HEMI_NETWORK]: "https://feather.securesecrets.org/hemi-mopho-blue/"
28423
+ };
28424
+ var MORPHO_BLUE_API_URL = "https://blue-api.morpho.org/graphql";
28425
+ var MORPHO_API_CHAIN_IDS = {
28426
+ [Chain.ETHEREUM_MAINNET]: 1,
28427
+ [Chain.BASE]: 8453,
28428
+ [Chain.ARBITRUM_ONE]: 42161,
28429
+ [Chain.OP_MAINNET]: 10,
28430
+ [Chain.POLYGON_MAINNET]: 137,
28431
+ [Chain.GNOSIS]: 100,
28432
+ [Chain.FRAXTAL]: 252,
28433
+ [Chain.BLAST]: 81457,
28434
+ [Chain.LINEA]: 59144,
28435
+ [Chain.TAIKO_ALETHIA]: 167e3,
28436
+ [Chain.AVALANCHE_C_CHAIN]: 43114,
28437
+ [Chain.ZKSYNC_MAINNET]: 324,
28438
+ [Chain.SONIC_MAINNET]: 146,
28439
+ [Chain.SCROLL]: 534352,
28440
+ [Chain.BERACHAIN]: 80094,
28441
+ [Chain.HYPEREVM]: 999,
28442
+ [Chain.UNICHAIN]: 130
28443
+ };
28444
+ var FETCH_TIMEOUT_MS = 3e3;
28445
+ var CACHE_TTL_MS = 2e3;
28446
+ var buildSubgraphQuery = (account) => `
28447
+ {
28448
+ account(id: "${account.toLowerCase()}") {
28449
+ positions {
28450
+ market { id }
28451
+ side
28452
+ balance
28453
+ shares
28454
+ }
28455
+ }
28456
+ }`;
28457
+ var buildApiQuery = (account, chainId) => `
28458
+ {
28459
+ userByAddress(address: "${account}", chainId: ${chainId}) {
28460
+ marketPositions {
28461
+ market { uniqueKey }
28462
+ supplyShares
28463
+ borrowShares
28464
+ collateral
28465
+ }
28466
+ }
28467
+ }`;
28468
+ function isNonZero(value) {
28469
+ if (value === null || value === void 0) return false;
28470
+ return value !== "0" && value !== 0;
28471
+ }
28472
+ async function attemptFetchJson(url, body, proxyConfig) {
28473
+ const controller = new AbortController();
28474
+ const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
28475
+ try {
28476
+ const response = await proxyNativeFetch(url, proxyConfig, {
28477
+ method: "POST",
28478
+ headers: { "Content-Type": "application/json" },
28479
+ body,
28480
+ signal: controller.signal
28481
+ });
28482
+ if (!response.ok) return void 0;
28483
+ return await response.json();
28484
+ } catch {
28485
+ return void 0;
28486
+ } finally {
28487
+ clearTimeout(timer);
28488
+ }
28489
+ }
28490
+ async function fetchJsonWithProxyFallback(url, body, proxyConfig) {
28491
+ const direct = await attemptFetchJson(url, body, void 0);
28492
+ if (direct !== void 0) return direct;
28493
+ if (!proxyConfig) return void 0;
28494
+ return attemptFetchJson(url, body, proxyConfig);
28495
+ }
28496
+ var inflight = /* @__PURE__ */ new Map();
28497
+ var resolved = /* @__PURE__ */ new Map();
28498
+ function cacheKey(chainId, account) {
28499
+ return `${chainId}:${account.toLowerCase()}`;
28500
+ }
28501
+ async function dedupedFetch(chainId, account, loader) {
28502
+ const key = cacheKey(chainId, account);
28503
+ const now = Date.now();
28504
+ const cached = resolved.get(key);
28505
+ if (cached && cached.expiresAt > now) {
28506
+ return cached.value;
28507
+ }
28508
+ const existing = inflight.get(key);
28509
+ if (existing) return existing;
28510
+ const promise = loader().then((value) => {
28511
+ resolved.set(key, { value, expiresAt: Date.now() + CACHE_TTL_MS });
28512
+ return value;
28513
+ }).finally(() => {
28514
+ inflight.delete(key);
28515
+ });
28516
+ inflight.set(key, promise);
28517
+ return promise;
28518
+ }
28519
+ function hasMorphoUserSubgraph(chainId) {
28520
+ return chainId in MORPHO_USER_SUBGRAPH_URLS;
28521
+ }
28522
+ function hasMorphoUserApi(chainId) {
28523
+ return chainId in MORPHO_API_CHAIN_IDS;
28524
+ }
28525
+ function hasMorphoPositionIndex(chainId) {
28526
+ return hasMorphoUserSubgraph(chainId) || hasMorphoUserApi(chainId);
28527
+ }
28528
+ async function fetchMorphoUserBalances(chainId, account, proxyConfig) {
28529
+ if (hasMorphoUserSubgraph(chainId)) {
28530
+ return dedupedFetch(
28531
+ chainId,
28532
+ account,
28533
+ () => fetchBalancesFromSubgraph(chainId, account, proxyConfig)
28534
+ );
28535
+ }
28536
+ if (hasMorphoUserApi(chainId)) {
28537
+ return dedupedFetch(
28538
+ chainId,
28539
+ account,
28540
+ () => fetchBalancesFromApi(chainId, account, proxyConfig)
28541
+ );
28542
+ }
28543
+ return void 0;
28544
+ }
28545
+ async function fetchMorphoUserPositionMarkets(chainId, account, proxyConfig) {
28546
+ const balances = await fetchMorphoUserBalances(chainId, account, proxyConfig);
28547
+ if (balances === void 0) return void 0;
28548
+ return new Set(balances.map((b) => b.marketId));
28549
+ }
28550
+ async function fetchBalancesFromSubgraph(chainId, account, proxyConfig) {
28551
+ const subgraphUrl = MORPHO_USER_SUBGRAPH_URLS[chainId];
28552
+ const json = await fetchJsonWithProxyFallback(
28553
+ subgraphUrl,
28554
+ JSON.stringify({ query: buildSubgraphQuery(account) }),
28555
+ proxyConfig
28556
+ );
28557
+ if (!json) return void 0;
28558
+ const positions = json.data?.account?.positions ?? [];
28559
+ const byMarket = /* @__PURE__ */ new Map();
28560
+ for (const pos of positions) {
28561
+ const marketId = pos.market.id.toLowerCase();
28562
+ if (!byMarket.has(marketId)) {
28563
+ byMarket.set(marketId, {
28564
+ supplyShares: "0",
28565
+ borrowShares: "0",
28566
+ collateral: "0"
28567
+ });
28568
+ }
28569
+ const entry = byMarket.get(marketId);
28570
+ if (pos.side === "SUPPLIER" && pos.shares) {
28571
+ entry.supplyShares = pos.shares;
28572
+ } else if (pos.side === "BORROWER" && pos.shares) {
28573
+ entry.borrowShares = pos.shares;
28574
+ } else if (pos.side === "COLLATERAL") {
28575
+ entry.collateral = pos.balance ?? "0";
28576
+ }
28577
+ }
28578
+ const result = [];
28579
+ for (const [marketId, entry] of byMarket) {
28580
+ if (isNonZero(entry.supplyShares) || isNonZero(entry.borrowShares) || isNonZero(entry.collateral)) {
28581
+ result.push({ marketId, ...entry });
28582
+ }
28583
+ }
28584
+ return result;
28585
+ }
28586
+ async function fetchBalancesFromApi(chainId, account, proxyConfig) {
28587
+ const numericChainId = MORPHO_API_CHAIN_IDS[chainId];
28588
+ const json = await fetchJsonWithProxyFallback(
28589
+ MORPHO_BLUE_API_URL,
28590
+ JSON.stringify({ query: buildApiQuery(account, numericChainId) }),
28591
+ proxyConfig
28592
+ );
28593
+ if (!json) return void 0;
28594
+ const positions = json.data?.userByAddress?.marketPositions ?? [];
28595
+ const result = [];
28596
+ for (const pos of positions) {
28597
+ if (!isNonZero(pos.supplyShares) && !isNonZero(pos.borrowShares) && !isNonZero(pos.collateral)) {
28598
+ continue;
28599
+ }
28600
+ result.push({
28601
+ marketId: pos.market.uniqueKey.toLowerCase(),
28602
+ supplyShares: String(pos.supplyShares),
28603
+ borrowShares: String(pos.borrowShares),
28604
+ collateral: String(pos.collateral)
28605
+ });
28606
+ }
28607
+ return result;
28608
+ }
28411
28609
 
28412
28610
  // src/lending/user-data/summary/utils.ts
28413
28611
  function calculateWeightedAverage(items) {
@@ -30784,10 +30982,10 @@ function createMerklRewardFetcher(config) {
30784
30982
  for (const opp of opps) {
30785
30983
  if (opp.action !== "LEND" && opp.action !== "BORROW") continue;
30786
30984
  if (!opp.apr || opp.apr <= 0) continue;
30787
- const resolved = resolve(opp);
30788
- if (!resolved) continue;
30789
- const lender = resolved.lender ?? config.lenderKey;
30790
- const reward = ensureReward(result, chainId, lender, resolved.asset);
30985
+ const resolved2 = resolve(opp);
30986
+ if (!resolved2) continue;
30987
+ const lender = resolved2.lender ?? config.lenderKey;
30988
+ const reward = ensureReward(result, chainId, lender, resolved2.asset);
30791
30989
  const breakdowns = extractRewardBreakdowns(opp);
30792
30990
  reward.link = getMerkleUrl(opp);
30793
30991
  if (opp.action === "LEND") {
@@ -33730,6 +33928,15 @@ var buildFluidFTokensCall = (chainId) => {
33730
33928
  ];
33731
33929
  };
33732
33930
 
33931
+ // src/vaults/displayName.ts
33932
+ var composeVaultDisplayName = (brand, curatorName, asset, fallbackName) => {
33933
+ const symbol = (asset?.symbol ?? "").trim();
33934
+ const label = (curatorName ?? brand).trim() || brand;
33935
+ if (symbol) return `${label} ${symbol}`;
33936
+ const fallback = (fallbackName ?? "").trim();
33937
+ return fallback || brand;
33938
+ };
33939
+
33733
33940
  // src/vaults/fluid/publicCallParse.ts
33734
33941
  var FLUID_EEE_LOWER4 = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
33735
33942
  var normalizeUnderlying4 = (addr) => addr === FLUID_EEE_LOWER4 ? zeroAddress : addr;
@@ -33766,11 +33973,21 @@ function parseFTokens(fTokens, chainId, prices, tokenList) {
33766
33973
  const rewardsRate = scaleFluidRate2(ft.rewardsRate);
33767
33974
  const liquidityRaw = ft.liquidityUserSupplyData?.withdrawable?.toString() ?? "0";
33768
33975
  const liquidityFormatted = Number(parseRawAmount(liquidityRaw, decimals));
33976
+ const onchainName = (ft.name ?? "").toString().trim();
33977
+ const underlyingSymbol = (assetMeta?.symbol ?? ft.symbol ?? "").toString().replace(/^f/, "").trim();
33978
+ const displayName = onchainName ? onchainName : underlyingSymbol ? `Fluid ${underlyingSymbol}` : "Fluid";
33769
33979
  const entry = {
33770
33980
  address: ft.tokenAddress,
33771
33981
  underlying,
33772
33982
  symbol: ft.symbol ?? "",
33773
- name: ft.name ?? "",
33983
+ name: displayName,
33984
+ displayName: composeVaultDisplayName(
33985
+ "Fluid",
33986
+ void 0,
33987
+ assetMeta,
33988
+ displayName
33989
+ ),
33990
+ curatorName: "Fluid",
33774
33991
  decimals,
33775
33992
  totalAssets: ft.totalAssets?.toString() ?? "0",
33776
33993
  totalSupply: ft.totalSupply?.toString() ?? "0",
@@ -33805,6 +34022,121 @@ var fetchFluidFTokens = async (chainId, multicallRetry, prices = {}, tokenList =
33805
34022
  return converter(raw) ?? {};
33806
34023
  };
33807
34024
 
34025
+ // src/vaults/gearbox/publicCallBuild.ts
34026
+ var buildGearboxV3PoolsCall = (chainId) => {
34027
+ const compressor = gearboxMarketCompressor();
34028
+ const configurators = gearboxMarketConfigurators(chainId);
34029
+ if (!compressor || !configurators) return [];
34030
+ const curatorAddrs = Object.keys(configurators);
34031
+ if (curatorAddrs.length === 0) return [];
34032
+ return [
34033
+ {
34034
+ address: compressor,
34035
+ name: "getMarkets",
34036
+ params: [
34037
+ {
34038
+ configurators: curatorAddrs,
34039
+ pools: [],
34040
+ underlying: zeroAddress
34041
+ }
34042
+ ]
34043
+ }
34044
+ ];
34045
+ };
34046
+
34047
+ // src/vaults/gearbox/publicCallParse.ts
34048
+ var WETH_MAINNET = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
34049
+ var normalizeUnderlying5 = (addr, chainId) => {
34050
+ const lower = addr.toLowerCase();
34051
+ if (chainId === "1" && lower === WETH_MAINNET) return zeroAddress;
34052
+ return lower;
34053
+ };
34054
+ var RAY_TO_PERCENT2 = 1e25;
34055
+ var scaleRate = (raw) => {
34056
+ if (raw === void 0 || raw === null) return 0;
34057
+ return Number(raw) / RAY_TO_PERCENT2;
34058
+ };
34059
+ var getGearboxV3PoolsConverter = (chainId, prices = {}, tokenList = {}) => {
34060
+ const expectedNumberOfCalls = 1;
34061
+ return [
34062
+ (data) => {
34063
+ if (data.length !== expectedNumberOfCalls) return void 0;
34064
+ const [markets] = data;
34065
+ return parseMarkets(markets ?? [], chainId, prices, tokenList);
34066
+ },
34067
+ expectedNumberOfCalls
34068
+ ];
34069
+ };
34070
+ function parseMarkets(markets, chainId, prices, tokenList) {
34071
+ const out = {};
34072
+ const configuratorNames = gearboxMarketConfigurators(chainId) ?? {};
34073
+ for (const m of markets) {
34074
+ const pool = m?.pool;
34075
+ if (!pool) continue;
34076
+ if (pool.isPaused) continue;
34077
+ const rawAddress = (pool.baseParams?.addr ?? "").toString().toLowerCase();
34078
+ const rawUnderlying = (pool.underlying ?? "").toString().toLowerCase();
34079
+ if (!rawAddress || !rawUnderlying) continue;
34080
+ const underlying = normalizeUnderlying5(rawUnderlying, chainId);
34081
+ const assetMeta = tokenList[underlying];
34082
+ const decimals = Number(assetMeta?.decimals ?? pool.decimals ?? 18);
34083
+ const totalAssetsRaw = pool.expectedLiquidity?.toString() ?? "0";
34084
+ const totalAssetsFormatted = Number(
34085
+ parseRawAmount(totalAssetsRaw, decimals)
34086
+ );
34087
+ const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
34088
+ const priceUsd = prices[oracleKey] ?? prices[underlying] ?? 0;
34089
+ const liquidityRaw = pool.availableLiquidity?.toString() ?? "0";
34090
+ const liquidityFormatted = Number(parseRawAmount(liquidityRaw, decimals));
34091
+ const configurator = (m?.configurator ?? "").toString().toLowerCase();
34092
+ const curatorName = configurator ? configuratorNames[configurator] : void 0;
34093
+ const entry = {
34094
+ address: rawAddress,
34095
+ underlying,
34096
+ symbol: pool.symbol ?? "",
34097
+ name: pool.name ?? "",
34098
+ displayName: composeVaultDisplayName(
34099
+ "Gearbox",
34100
+ curatorName,
34101
+ assetMeta,
34102
+ pool.name ?? void 0
34103
+ ),
34104
+ decimals,
34105
+ totalAssets: totalAssetsRaw,
34106
+ totalSupply: pool.totalSupply?.toString() ?? "0",
34107
+ totalBorrowed: pool.totalBorrowed?.toString() ?? "0",
34108
+ availableLiquidity: pool.availableLiquidity?.toString() ?? "0",
34109
+ expectedLiquidity: pool.expectedLiquidity?.toString() ?? "0",
34110
+ dieselRate: pool.dieselRate?.toString() ?? "0",
34111
+ withdrawFeeBps: Number(pool.withdrawFee ?? 0),
34112
+ curator: configurator || void 0,
34113
+ curatorName,
34114
+ supplyRate: scaleRate(pool.supplyRate),
34115
+ baseInterestRate: scaleRate(pool.baseInterestRate),
34116
+ asset: assetMeta,
34117
+ priceUsd: priceUsd || void 0,
34118
+ totalAssetsFormatted,
34119
+ totalAssetsUsd: totalAssetsFormatted * priceUsd,
34120
+ liquidity: liquidityRaw,
34121
+ liquidityFormatted,
34122
+ liquidityUsd: liquidityFormatted * priceUsd
34123
+ };
34124
+ out[underlying] = entry;
34125
+ }
34126
+ return out;
34127
+ }
34128
+ var fetchGearboxV3Pools = async (chainId, multicallRetry, prices = {}, tokenList = {}) => {
34129
+ const calls = buildGearboxV3PoolsCall(chainId);
34130
+ if (calls.length === 0) return {};
34131
+ const raw = await multicallRetry({
34132
+ chain: chainId,
34133
+ calls,
34134
+ abi: calls.map(() => GearboxMarketCompressorV310Abi)
34135
+ });
34136
+ const [converter] = getGearboxV3PoolsConverter(chainId, prices, tokenList);
34137
+ return converter(raw) ?? {};
34138
+ };
34139
+
33808
34140
  // src/vaults/morpho/fetchFromApi.ts
33809
34141
  var MORPHO_API_URL = "https://blue-api.morpho.org/graphql";
33810
34142
  var PAGE_SIZE = 200;
@@ -33844,6 +34176,12 @@ query GetVaults {
33844
34176
  owner
33845
34177
  curator
33846
34178
  guardian
34179
+ curators {
34180
+ id
34181
+ name
34182
+ image
34183
+ verified
34184
+ }
33847
34185
  rewards {
33848
34186
  supplyApr
33849
34187
  asset {
@@ -33869,6 +34207,21 @@ async function fetchPage(chainId, first, skip) {
33869
34207
  const json = await response.json();
33870
34208
  return json?.data?.vaults?.items ?? [];
33871
34209
  }
34210
+ var parseCurators = (curators) => {
34211
+ if (!curators?.length) return void 0;
34212
+ const out = [];
34213
+ for (const c of curators) {
34214
+ const name = c?.name?.trim();
34215
+ if (!name) continue;
34216
+ out.push({
34217
+ id: c.id ?? "",
34218
+ name,
34219
+ image: c.image ?? void 0,
34220
+ verified: c.verified ?? void 0
34221
+ });
34222
+ }
34223
+ return out.length > 0 ? out : void 0;
34224
+ };
33872
34225
  var sumRewardsApr = (rewards) => {
33873
34226
  if (!rewards) return 0;
33874
34227
  let total = 0;
@@ -33898,11 +34251,19 @@ function parseVault2(v, chainId, prices, tokenList) {
33898
34251
  const rewardsRate = sumRewardsApr(state.rewards);
33899
34252
  const apiTotalAssetsUsd = Number(state.totalAssetsUsd ?? 0);
33900
34253
  const totalAssetsUsd = apiTotalAssetsUsd || totalAssetsFormatted * resolvedPriceUsd;
34254
+ const curators = parseCurators(state.curators);
34255
+ const primaryCurator = curators?.[0];
33901
34256
  return {
33902
34257
  address,
33903
34258
  underlying: assetAddr,
33904
34259
  symbol: v.symbol ?? "",
33905
34260
  name: v.name ?? "",
34261
+ displayName: composeVaultDisplayName(
34262
+ "Morpho",
34263
+ primaryCurator?.name,
34264
+ assetMeta,
34265
+ v.name ?? void 0
34266
+ ),
33906
34267
  decimals,
33907
34268
  totalAssets: totalAssetsRaw,
33908
34269
  totalSupply: state.totalSupply?.toString() ?? "0",
@@ -33915,6 +34276,9 @@ function parseVault2(v, chainId, prices, tokenList) {
33915
34276
  owner: state.owner?.toLowerCase() || void 0,
33916
34277
  curator: state.curator?.toLowerCase() || void 0,
33917
34278
  guardian: state.guardian?.toLowerCase() || void 0,
34279
+ curatorName: primaryCurator?.name,
34280
+ curatorImage: primaryCurator?.image,
34281
+ curators,
33918
34282
  asset: assetMeta,
33919
34283
  priceUsd: resolvedPriceUsd || void 0,
33920
34284
  totalAssetsFormatted,
@@ -33992,6 +34356,12 @@ function parseVault3(v, chainId, prices, tokenList) {
33992
34356
  underlying: assetAddr,
33993
34357
  symbol: v.symbol ?? "",
33994
34358
  name: v.name ?? "",
34359
+ displayName: composeVaultDisplayName(
34360
+ "Morpho",
34361
+ void 0,
34362
+ assetMeta,
34363
+ v.name ?? void 0
34364
+ ),
33995
34365
  decimals,
33996
34366
  totalAssets: totalAssetsRaw,
33997
34367
  totalSupply: v.totalShares?.toString() ?? "0",
@@ -34113,6 +34483,12 @@ function parseVault4(v, chainId, prices, tokenList) {
34113
34483
  underlying: assetAddr,
34114
34484
  symbol: v.symbol ?? "",
34115
34485
  name: v.name ?? "",
34486
+ displayName: composeVaultDisplayName(
34487
+ "Silo",
34488
+ void 0,
34489
+ assetMeta,
34490
+ v.name ?? void 0
34491
+ ),
34116
34492
  decimals,
34117
34493
  protocolVersion: v.protocol?.protocolVersion ?? "",
34118
34494
  protocolId: (v.protocolId ?? v.protocol?.id ?? "").toLowerCase(),
@@ -34172,6 +34548,67 @@ var fetchSiloVaults = async (chainId, prices = {}, tokenList = {}, options) => {
34172
34548
  }
34173
34549
  return out;
34174
34550
  };
34551
+ var warn3 = (...args) => {
34552
+ };
34553
+ var getVaultPublicDataAll = async (chainId, providers, multicallRetry, prices = {}, tokenList = {}, options) => {
34554
+ const requested = new Set(providers);
34555
+ if (requested.size === 0) return {};
34556
+ const tasks = [];
34557
+ const out = {};
34558
+ if (requested.has("fluid")) {
34559
+ tasks.push(
34560
+ fetchFluidFTokens(chainId, multicallRetry, prices, tokenList).then((res) => {
34561
+ out.fluid = res;
34562
+ }).catch((e) => {
34563
+ warn3(
34564
+ `[vaults] fluid fetch failed for chain ${chainId}:`,
34565
+ e?.message ?? e
34566
+ );
34567
+ })
34568
+ );
34569
+ }
34570
+ if (requested.has("gearbox")) {
34571
+ tasks.push(
34572
+ fetchGearboxV3Pools(chainId, multicallRetry, prices, tokenList).then((res) => {
34573
+ out.gearbox = res;
34574
+ }).catch((e) => {
34575
+ warn3(
34576
+ `[vaults] gearbox fetch failed for chain ${chainId}:`,
34577
+ e?.message ?? e
34578
+ );
34579
+ })
34580
+ );
34581
+ }
34582
+ if (requested.has("morpho")) {
34583
+ tasks.push(
34584
+ fetchMorphoVaults(chainId, prices, tokenList).then((res) => {
34585
+ out.morpho = res;
34586
+ }).catch((e) => {
34587
+ warn3(
34588
+ `[vaults] morpho fetch failed for chain ${chainId}:`,
34589
+ e?.message ?? e
34590
+ );
34591
+ })
34592
+ );
34593
+ }
34594
+ if (requested.has("silo")) {
34595
+ tasks.push(
34596
+ fetchSiloVaults(chainId, prices, tokenList, {
34597
+ protocolVersion: options?.siloProtocolVersion,
34598
+ limit: options?.siloLimit
34599
+ }).then((res) => {
34600
+ out.silo = res;
34601
+ }).catch((e) => {
34602
+ warn3(
34603
+ `[vaults] silo fetch failed for chain ${chainId}:`,
34604
+ e?.message ?? e
34605
+ );
34606
+ })
34607
+ );
34608
+ }
34609
+ await Promise.all(tasks);
34610
+ return out;
34611
+ };
34175
34612
 
34176
34613
  // src/lending/margin/e-mode/index.ts
34177
34614
  function computeEModeSwitchHealth(positions, lenderMeta, currentCollateral, currentAdjustedDebt, currentMode, targetMode) {
@@ -34659,6 +35096,6 @@ async function fetchTokenBalances(chainId, account, tokens, options = {}) {
34659
35096
  return parseTokenBalanceResult(rawResult, prepared.query);
34660
35097
  }
34661
35098
 
34662
- export { EMPTY_BALANCE, MORPHO_LENS, MaxParamThresholds, applyPositionDelta, attachPricesToFlashLiquidity, buildFluidFTokensCall, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, convertLenderUserDataResult, createMarketUid, createMulticallRpcCall, createRawRpcCalls, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, encodeBalanceFetcherCalldata, fetchEulerSubAccountIndexes, fetchFlashLiquidityForChain, fetchFluidFTokens, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromSubgraph, fetchOraclePrices, fetchPendlePrices, fetchSiloVaults, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getFluidFTokensConverter, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMaxAmountClose, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getSubAccountAddress, getSubAccountIndex, hasMorphoVaultSubgraph, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
35099
+ export { EMPTY_BALANCE, MORPHO_LENS, MaxParamThresholds, applyPositionDelta, attachPricesToFlashLiquidity, buildFluidFTokensCall, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, convertLenderUserDataResult, createMarketUid, createMulticallRpcCall, createRawRpcCalls, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, encodeBalanceFetcherCalldata, fetchEulerSubAccountIndexes, fetchFlashLiquidityForChain, fetchFluidFTokens, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchMorphoUserBalances, fetchMorphoUserPositionMarkets, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromSubgraph, fetchOraclePrices, fetchPendlePrices, fetchSiloVaults, fetchTokenBalances, fetchTokenMetadata, filterActiveLenders, filterLendersByProtocol, fuseLenderData, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getFluidFTokensConverter, getHealthFactor, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getMaxAmountClose, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getSubAccountAddress, getSubAccountIndex, getVaultPublicDataAll, hasMorphoPositionIndex, hasMorphoUserApi, hasMorphoUserSubgraph, hasMorphoVaultSubgraph, keysFromMaps, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseMergedResult, parseMulticallRpcResponses, parseRawRpcBatchResponses, parseRawRpcResponses, parseTokenBalanceResult, positivePart2 as positivePart, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, selectAssetGroupPrices, unflattenLenderData };
34663
35100
  //# sourceMappingURL=index.js.map
34664
35101
  //# sourceMappingURL=index.js.map