@1delta/margin-fetcher 0.0.250 → 0.0.251
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.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +370 -7
- package/dist/index.js.map +1 -1
- package/dist/lending/index.d.ts +1 -1
- package/dist/lending/index.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts +44 -0
- package/dist/lending/user-data/morpho/fetchUserPositionsFromSubgraph.d.ts.map +1 -0
- package/dist/lending/user-data/morpho/index.d.ts +1 -0
- package/dist/lending/user-data/morpho/index.d.ts.map +1 -1
- package/dist/lending/user-data/with-permissions/types.d.ts +6 -0
- package/dist/lending/user-data/with-permissions/types.d.ts.map +1 -1
- package/dist/vaults/fetchVaultsAll.d.ts +56 -0
- package/dist/vaults/fetchVaultsAll.d.ts.map +1 -0
- package/dist/vaults/index.d.ts +1 -0
- package/dist/vaults/index.d.ts.map +1 -1
- 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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,WAAW,EACX,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAE5B,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EAEnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,YAAY,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAA;AAC5E,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,eAAe,EACf,KAAK,SAAS,EACd,KAAK,UAAU,
|
|
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
|
|
28339
|
-
if (
|
|
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
|
|
30788
|
-
if (!
|
|
30789
|
-
const lender =
|
|
30790
|
-
const reward = ensureReward(result, chainId, lender,
|
|
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") {
|
|
@@ -33805,6 +34003,110 @@ var fetchFluidFTokens = async (chainId, multicallRetry, prices = {}, tokenList =
|
|
|
33805
34003
|
return converter(raw) ?? {};
|
|
33806
34004
|
};
|
|
33807
34005
|
|
|
34006
|
+
// src/vaults/gearbox/publicCallBuild.ts
|
|
34007
|
+
var buildGearboxV3PoolsCall = (chainId) => {
|
|
34008
|
+
const compressor = gearboxMarketCompressor();
|
|
34009
|
+
const configurators = gearboxMarketConfigurators(chainId);
|
|
34010
|
+
if (!compressor || !configurators) return [];
|
|
34011
|
+
const curatorAddrs = Object.keys(configurators);
|
|
34012
|
+
if (curatorAddrs.length === 0) return [];
|
|
34013
|
+
return [
|
|
34014
|
+
{
|
|
34015
|
+
address: compressor,
|
|
34016
|
+
name: "getMarkets",
|
|
34017
|
+
params: [
|
|
34018
|
+
{
|
|
34019
|
+
configurators: curatorAddrs,
|
|
34020
|
+
pools: [],
|
|
34021
|
+
underlying: zeroAddress
|
|
34022
|
+
}
|
|
34023
|
+
]
|
|
34024
|
+
}
|
|
34025
|
+
];
|
|
34026
|
+
};
|
|
34027
|
+
|
|
34028
|
+
// src/vaults/gearbox/publicCallParse.ts
|
|
34029
|
+
var WETH_MAINNET = "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";
|
|
34030
|
+
var normalizeUnderlying5 = (addr, chainId) => {
|
|
34031
|
+
const lower = addr.toLowerCase();
|
|
34032
|
+
if (chainId === "1" && lower === WETH_MAINNET) return zeroAddress;
|
|
34033
|
+
return lower;
|
|
34034
|
+
};
|
|
34035
|
+
var RAY_TO_PERCENT2 = 1e25;
|
|
34036
|
+
var scaleRate = (raw) => {
|
|
34037
|
+
if (raw === void 0 || raw === null) return 0;
|
|
34038
|
+
return Number(raw) / RAY_TO_PERCENT2;
|
|
34039
|
+
};
|
|
34040
|
+
var getGearboxV3PoolsConverter = (chainId, prices = {}, tokenList = {}) => {
|
|
34041
|
+
const expectedNumberOfCalls = 1;
|
|
34042
|
+
return [
|
|
34043
|
+
(data) => {
|
|
34044
|
+
if (data.length !== expectedNumberOfCalls) return void 0;
|
|
34045
|
+
const [markets] = data;
|
|
34046
|
+
return parseMarkets(markets ?? [], chainId, prices, tokenList);
|
|
34047
|
+
},
|
|
34048
|
+
expectedNumberOfCalls
|
|
34049
|
+
];
|
|
34050
|
+
};
|
|
34051
|
+
function parseMarkets(markets, chainId, prices, tokenList) {
|
|
34052
|
+
const out = {};
|
|
34053
|
+
for (const m of markets) {
|
|
34054
|
+
const pool = m?.pool;
|
|
34055
|
+
if (!pool) continue;
|
|
34056
|
+
if (pool.isPaused) continue;
|
|
34057
|
+
const rawAddress = (pool.baseParams?.addr ?? "").toString().toLowerCase();
|
|
34058
|
+
const rawUnderlying = (pool.underlying ?? "").toString().toLowerCase();
|
|
34059
|
+
if (!rawAddress || !rawUnderlying) continue;
|
|
34060
|
+
const underlying = normalizeUnderlying5(rawUnderlying, chainId);
|
|
34061
|
+
const assetMeta = tokenList[underlying];
|
|
34062
|
+
const decimals = Number(assetMeta?.decimals ?? pool.decimals ?? 18);
|
|
34063
|
+
const totalAssetsRaw = pool.expectedLiquidity?.toString() ?? "0";
|
|
34064
|
+
const totalAssetsFormatted = Number(
|
|
34065
|
+
parseRawAmount(totalAssetsRaw, decimals)
|
|
34066
|
+
);
|
|
34067
|
+
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
|
|
34068
|
+
const priceUsd = prices[oracleKey] ?? prices[underlying] ?? 0;
|
|
34069
|
+
const liquidityRaw = pool.availableLiquidity?.toString() ?? "0";
|
|
34070
|
+
const liquidityFormatted = Number(parseRawAmount(liquidityRaw, decimals));
|
|
34071
|
+
const entry = {
|
|
34072
|
+
address: rawAddress,
|
|
34073
|
+
underlying,
|
|
34074
|
+
symbol: pool.symbol ?? "",
|
|
34075
|
+
name: pool.name ?? "",
|
|
34076
|
+
decimals,
|
|
34077
|
+
totalAssets: totalAssetsRaw,
|
|
34078
|
+
totalSupply: pool.totalSupply?.toString() ?? "0",
|
|
34079
|
+
totalBorrowed: pool.totalBorrowed?.toString() ?? "0",
|
|
34080
|
+
availableLiquidity: pool.availableLiquidity?.toString() ?? "0",
|
|
34081
|
+
expectedLiquidity: pool.expectedLiquidity?.toString() ?? "0",
|
|
34082
|
+
dieselRate: pool.dieselRate?.toString() ?? "0",
|
|
34083
|
+
withdrawFeeBps: Number(pool.withdrawFee ?? 0),
|
|
34084
|
+
supplyRate: scaleRate(pool.supplyRate),
|
|
34085
|
+
baseInterestRate: scaleRate(pool.baseInterestRate),
|
|
34086
|
+
asset: assetMeta,
|
|
34087
|
+
priceUsd: priceUsd || void 0,
|
|
34088
|
+
totalAssetsFormatted,
|
|
34089
|
+
totalAssetsUsd: totalAssetsFormatted * priceUsd,
|
|
34090
|
+
liquidity: liquidityRaw,
|
|
34091
|
+
liquidityFormatted,
|
|
34092
|
+
liquidityUsd: liquidityFormatted * priceUsd
|
|
34093
|
+
};
|
|
34094
|
+
out[underlying] = entry;
|
|
34095
|
+
}
|
|
34096
|
+
return out;
|
|
34097
|
+
}
|
|
34098
|
+
var fetchGearboxV3Pools = async (chainId, multicallRetry, prices = {}, tokenList = {}) => {
|
|
34099
|
+
const calls = buildGearboxV3PoolsCall(chainId);
|
|
34100
|
+
if (calls.length === 0) return {};
|
|
34101
|
+
const raw = await multicallRetry({
|
|
34102
|
+
chain: chainId,
|
|
34103
|
+
calls,
|
|
34104
|
+
abi: calls.map(() => GearboxMarketCompressorV310Abi)
|
|
34105
|
+
});
|
|
34106
|
+
const [converter] = getGearboxV3PoolsConverter(chainId, prices, tokenList);
|
|
34107
|
+
return converter(raw) ?? {};
|
|
34108
|
+
};
|
|
34109
|
+
|
|
33808
34110
|
// src/vaults/morpho/fetchFromApi.ts
|
|
33809
34111
|
var MORPHO_API_URL = "https://blue-api.morpho.org/graphql";
|
|
33810
34112
|
var PAGE_SIZE = 200;
|
|
@@ -34172,6 +34474,67 @@ var fetchSiloVaults = async (chainId, prices = {}, tokenList = {}, options) => {
|
|
|
34172
34474
|
}
|
|
34173
34475
|
return out;
|
|
34174
34476
|
};
|
|
34477
|
+
var warn3 = (...args) => {
|
|
34478
|
+
};
|
|
34479
|
+
var getVaultPublicDataAll = async (chainId, providers, multicallRetry, prices = {}, tokenList = {}, options) => {
|
|
34480
|
+
const requested = new Set(providers);
|
|
34481
|
+
if (requested.size === 0) return {};
|
|
34482
|
+
const tasks = [];
|
|
34483
|
+
const out = {};
|
|
34484
|
+
if (requested.has("fluid")) {
|
|
34485
|
+
tasks.push(
|
|
34486
|
+
fetchFluidFTokens(chainId, multicallRetry, prices, tokenList).then((res) => {
|
|
34487
|
+
out.fluid = res;
|
|
34488
|
+
}).catch((e) => {
|
|
34489
|
+
warn3(
|
|
34490
|
+
`[vaults] fluid fetch failed for chain ${chainId}:`,
|
|
34491
|
+
e?.message ?? e
|
|
34492
|
+
);
|
|
34493
|
+
})
|
|
34494
|
+
);
|
|
34495
|
+
}
|
|
34496
|
+
if (requested.has("gearbox")) {
|
|
34497
|
+
tasks.push(
|
|
34498
|
+
fetchGearboxV3Pools(chainId, multicallRetry, prices, tokenList).then((res) => {
|
|
34499
|
+
out.gearbox = res;
|
|
34500
|
+
}).catch((e) => {
|
|
34501
|
+
warn3(
|
|
34502
|
+
`[vaults] gearbox fetch failed for chain ${chainId}:`,
|
|
34503
|
+
e?.message ?? e
|
|
34504
|
+
);
|
|
34505
|
+
})
|
|
34506
|
+
);
|
|
34507
|
+
}
|
|
34508
|
+
if (requested.has("morpho")) {
|
|
34509
|
+
tasks.push(
|
|
34510
|
+
fetchMorphoVaults(chainId, prices, tokenList).then((res) => {
|
|
34511
|
+
out.morpho = res;
|
|
34512
|
+
}).catch((e) => {
|
|
34513
|
+
warn3(
|
|
34514
|
+
`[vaults] morpho fetch failed for chain ${chainId}:`,
|
|
34515
|
+
e?.message ?? e
|
|
34516
|
+
);
|
|
34517
|
+
})
|
|
34518
|
+
);
|
|
34519
|
+
}
|
|
34520
|
+
if (requested.has("silo")) {
|
|
34521
|
+
tasks.push(
|
|
34522
|
+
fetchSiloVaults(chainId, prices, tokenList, {
|
|
34523
|
+
protocolVersion: options?.siloProtocolVersion,
|
|
34524
|
+
limit: options?.siloLimit
|
|
34525
|
+
}).then((res) => {
|
|
34526
|
+
out.silo = res;
|
|
34527
|
+
}).catch((e) => {
|
|
34528
|
+
warn3(
|
|
34529
|
+
`[vaults] silo fetch failed for chain ${chainId}:`,
|
|
34530
|
+
e?.message ?? e
|
|
34531
|
+
);
|
|
34532
|
+
})
|
|
34533
|
+
);
|
|
34534
|
+
}
|
|
34535
|
+
await Promise.all(tasks);
|
|
34536
|
+
return out;
|
|
34537
|
+
};
|
|
34175
34538
|
|
|
34176
34539
|
// src/lending/margin/e-mode/index.ts
|
|
34177
34540
|
function computeEModeSwitchHealth(positions, lenderMeta, currentCollateral, currentAdjustedDebt, currentMode, targetMode) {
|
|
@@ -34659,6 +35022,6 @@ async function fetchTokenBalances(chainId, account, tokens, options = {}) {
|
|
|
34659
35022
|
return parseTokenBalanceResult(rawResult, prepared.query);
|
|
34660
35023
|
}
|
|
34661
35024
|
|
|
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 };
|
|
35025
|
+
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
35026
|
//# sourceMappingURL=index.js.map
|
|
34664
35027
|
//# sourceMappingURL=index.js.map
|