@1delta/margin-fetcher 0.0.252 → 0.0.254
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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +443 -6
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/fetchLender.d.ts.map +1 -1
- package/dist/lending/public-data/fetchLenderAll.d.ts.map +1 -1
- package/dist/lending/public-data/morpho/publicCallBuild.d.ts.map +1 -1
- package/dist/lending/user-data/morpho/userCallBuild.d.ts.map +1 -1
- package/dist/prices/oracle-prices/fetchers/morpho.d.ts.map +1 -1
- package/dist/vaults/euler-earn/fetchFromSubgraph.d.ts +12 -0
- package/dist/vaults/euler-earn/fetchFromSubgraph.d.ts.map +1 -0
- package/dist/vaults/euler-earn/fetchPublic.d.ts +24 -0
- package/dist/vaults/euler-earn/fetchPublic.d.ts.map +1 -0
- package/dist/vaults/euler-earn/index.d.ts +4 -0
- package/dist/vaults/euler-earn/index.d.ts.map +1 -0
- package/dist/vaults/euler-earn/types.d.ts +70 -0
- package/dist/vaults/euler-earn/types.d.ts.map +1 -0
- package/dist/vaults/fetchVaultsAll.d.ts +4 -2
- package/dist/vaults/fetchVaultsAll.d.ts.map +1 -1
- package/dist/vaults/index.d.ts +1 -0
- package/dist/vaults/index.d.ts.map +1 -1
- package/dist/vaults/morpho/fetchFromChain.d.ts +30 -0
- package/dist/vaults/morpho/fetchFromChain.d.ts.map +1 -0
- package/dist/vaults/morpho/fetchListaFromChain.d.ts +34 -0
- package/dist/vaults/morpho/fetchListaFromChain.d.ts.map +1 -0
- package/dist/vaults/morpho/index.d.ts +2 -0
- package/dist/vaults/morpho/index.d.ts.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ 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, getVaultPublicDataAll, type VaultProvider, type VaultPublicDataAll, type GetVaultPublicDataAllOptions, } from './vaults';
|
|
7
|
+
export { buildFluidFTokensCall, getFluidFTokensConverter, fetchFluidFTokens, type FluidFToken, type FluidFTokens, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromSubgraph, fetchMorphoVaultsFromChain, type FetchMorphoVaultsFromChainOptions, fetchListaVaultsFromChain, type FetchListaVaultsFromChainOptions, hasMorphoVaultSubgraph, type MorphoVault, type MorphoVaults, fetchSiloVaults, type SiloVault, type SiloVaults, fetchEulerEarnVaults, fetchEulerEarnVaultsFromSubgraph, hasEulerEarnVaultSubgraph, type EulerEarnVault, type EulerEarnVaults, 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":"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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
|
@@ -5,7 +5,7 @@ import { Lender, isAaveType, isCompoundV3, isMultiMarket, isSiloV2Type, isSiloV3
|
|
|
5
5
|
export { isAaveType, isAaveV2Type, isAaveV32Type, isAaveV3Type, isCompoundV3, isCompoundV3Type, isInit, isMorphoType, isMultiMarket, isYLDR } from '@1delta/lender-registry';
|
|
6
6
|
import lodash from 'lodash';
|
|
7
7
|
import { getEvmChain, getEvmClient, getEvmClientUniversal, multicallRetryUniversal } from '@1delta/providers';
|
|
8
|
-
import { FluidLendingResolverAbi, MorphoLensAbi, AaveV4SpokeAbi, AaveV4OracleAbi, AaveV4HubAbi, FluidVaultResolverAbi, GearboxMarketCompressorV310Abi, MorphoBlueAbi, GearboxCreditAccountCompressorV310Abi } from '@1delta/abis';
|
|
8
|
+
import { FluidLendingResolverAbi, MetaMorphoAbi, MoolahVaultAbi, 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
11
|
import { proxyNativeFetch } from '@1delta/proxy-fetch';
|
|
@@ -6269,6 +6269,7 @@ globalThis[GLOBAL_LENDER_DATA_KEY] = {
|
|
|
6269
6269
|
morphoOracles: {},
|
|
6270
6270
|
morphoTypeOracles: {},
|
|
6271
6271
|
morphoTypeMarkets: {},
|
|
6272
|
+
morphoTypeVaults: {},
|
|
6272
6273
|
aaveOraclesConfig: {},
|
|
6273
6274
|
aaveWethGateway: {},
|
|
6274
6275
|
morphoBundler3: {},
|
|
@@ -6300,6 +6301,7 @@ var aaveOracles = () => getGlobalData2()?.aaveOracles;
|
|
|
6300
6301
|
var compoundV2Oracles = () => getGlobalData2()?.compoundV2Oracles;
|
|
6301
6302
|
var compoundV3OraclesData = () => getGlobalData2()?.compoundV3OraclesData;
|
|
6302
6303
|
var morphoTypeMarkets = () => getGlobalData2()?.morphoTypeMarkets;
|
|
6304
|
+
var morphoTypeVaults = () => getGlobalData2()?.morphoTypeVaults;
|
|
6303
6305
|
var aaveReserves = () => getGlobalData2()?.aaveReserves;
|
|
6304
6306
|
var compoundV3Reserves = () => getGlobalData2()?.compoundV3Reserves;
|
|
6305
6307
|
var compoundV2Reserves = () => getGlobalData2()?.compoundV2Reserves;
|
|
@@ -8118,6 +8120,9 @@ function encode(type, value, isArray2 = false) {
|
|
|
8118
8120
|
throw new UnsupportedPackedAbiType(type);
|
|
8119
8121
|
}
|
|
8120
8122
|
|
|
8123
|
+
// ../../node_modules/.pnpm/viem@2.45.3_bufferutil@4.1.0_typescript@5.9.3_utf-8-validate@6.0.6_zod@4.3.6/node_modules/viem/_esm/constants/bytes.js
|
|
8124
|
+
var zeroHash = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
8125
|
+
|
|
8121
8126
|
// ../../node_modules/.pnpm/viem@2.45.3_bufferutil@4.1.0_typescript@5.9.3_utf-8-validate@6.0.6_zod@4.3.6/node_modules/viem/_esm/errors/unit.js
|
|
8122
8127
|
var InvalidDecimalNumberError = class extends BaseError {
|
|
8123
8128
|
constructor({ value }) {
|
|
@@ -11097,7 +11102,13 @@ var MORPHO_LENS = {
|
|
|
11097
11102
|
[Chain.UNICHAIN]: "0xA453ba397c61B0c292EA3959A858821145B2707F",
|
|
11098
11103
|
[Chain.SEI_NETWORK]: "0xcB6Eb8df68153cebF60E1872273Ef52075a5C297",
|
|
11099
11104
|
[Chain.MONAD_MAINNET]: "0x0bd7473CbBf81d9dD936c61117eD230d95006CA2",
|
|
11100
|
-
[Chain.CELO_MAINNET]: "0x4b5458BB47dCBC1a41B31b41e1a8773dE312BE9d"
|
|
11105
|
+
[Chain.CELO_MAINNET]: "0x4b5458BB47dCBC1a41B31b41e1a8773dE312BE9d",
|
|
11106
|
+
[Chain.PLUME_MAINNET]: "0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201",
|
|
11107
|
+
[Chain.FLARE_MAINNET]: "0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201",
|
|
11108
|
+
[Chain.STABLE_MAINNET]: "0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201",
|
|
11109
|
+
[Chain.CORN]: "0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201",
|
|
11110
|
+
[Chain.LISK]: "0x8E24CfC19c6C00c524353CB8816f5f1c2F33c201",
|
|
11111
|
+
[Chain.ABSTRACT]: "0x8e24cfc19c6c00c524353cb8816f5f1c2f33c201"
|
|
11101
11112
|
};
|
|
11102
11113
|
var buildMorphoUserCallWithLens = (chainId, account, lender, marketsToQuery) => {
|
|
11103
11114
|
const marketSlices = chunk(marketsToQuery, 100);
|
|
@@ -19835,11 +19846,14 @@ var getLenderPublicData = async (chainId, lenders, prices, additionalYields, mul
|
|
|
19835
19846
|
return {};
|
|
19836
19847
|
}) => {
|
|
19837
19848
|
let calls = [];
|
|
19849
|
+
const validLenders = [];
|
|
19838
19850
|
for (const lender of lenders) {
|
|
19839
19851
|
const abi = getAbi(lender);
|
|
19840
19852
|
const callData = buildLenderCall(chainId, lender);
|
|
19853
|
+
if (callData.some((c) => !c.address)) continue;
|
|
19841
19854
|
const mappedCalls = callData.map((call) => ({ call, abi: call.abi ?? abi }));
|
|
19842
19855
|
calls.push(...mappedCalls);
|
|
19856
|
+
validLenders.push(lender);
|
|
19843
19857
|
}
|
|
19844
19858
|
const [rawResults, list] = await Promise.all([
|
|
19845
19859
|
multicallRetry({
|
|
@@ -19853,7 +19867,7 @@ var getLenderPublicData = async (chainId, lenders, prices, additionalYields, mul
|
|
|
19853
19867
|
const invalidLenders = [];
|
|
19854
19868
|
let lenderData = {};
|
|
19855
19869
|
let currentSlice = 0;
|
|
19856
|
-
for (const lender of
|
|
19870
|
+
for (const lender of validLenders) {
|
|
19857
19871
|
const [converter, sliceLength] = getLenderDataConverter(
|
|
19858
19872
|
lender,
|
|
19859
19873
|
chainId,
|
|
@@ -20501,6 +20515,10 @@ function lenderApiOnly(lender, chainId) {
|
|
|
20501
20515
|
if (chainId === Chain.BERACHAIN) return false;
|
|
20502
20516
|
if (chainId === Chain.SEI_NETWORK) return false;
|
|
20503
20517
|
if (chainId === Chain.CELO_MAINNET) return false;
|
|
20518
|
+
if (chainId === Chain.CORN) return false;
|
|
20519
|
+
if (chainId === Chain.ABSTRACT) return false;
|
|
20520
|
+
if (chainId === Chain.PLUME_MAINNET) return false;
|
|
20521
|
+
if (chainId === Chain.LISK) return false;
|
|
20504
20522
|
return true;
|
|
20505
20523
|
}
|
|
20506
20524
|
return false;
|
|
@@ -31305,6 +31323,9 @@ function morphoApiAvailable(chainId) {
|
|
|
31305
31323
|
if (chainId === Chain.BERACHAIN) return false;
|
|
31306
31324
|
if (chainId === Chain.SEI_NETWORK) return false;
|
|
31307
31325
|
if (chainId === Chain.CELO_MAINNET) return false;
|
|
31326
|
+
if (chainId === Chain.CORN) return false;
|
|
31327
|
+
if (chainId === Chain.ABSTRACT) return false;
|
|
31328
|
+
if (chainId === Chain.PLUME_MAINNET) return false;
|
|
31308
31329
|
if (chainId === Chain.LISK) return false;
|
|
31309
31330
|
if (chainId === Chain.BNB_SMART_CHAIN_MAINNET) return false;
|
|
31310
31331
|
return true;
|
|
@@ -34420,6 +34441,289 @@ var fetchMorphoVaults = async (chainId, prices = {}, tokenList = {}) => {
|
|
|
34420
34441
|
}
|
|
34421
34442
|
return fetchMorphoVaultsFromApi(chainId, prices, tokenList);
|
|
34422
34443
|
};
|
|
34444
|
+
var VAULT_CALLS = [
|
|
34445
|
+
"name",
|
|
34446
|
+
"symbol",
|
|
34447
|
+
"decimals",
|
|
34448
|
+
"totalAssets",
|
|
34449
|
+
"totalSupply",
|
|
34450
|
+
"fee",
|
|
34451
|
+
"timelock",
|
|
34452
|
+
"owner",
|
|
34453
|
+
"curator",
|
|
34454
|
+
"guardian"
|
|
34455
|
+
];
|
|
34456
|
+
var CALLS_PER_VAULT = VAULT_CALLS.length;
|
|
34457
|
+
var FEE_SCALE = 1e18;
|
|
34458
|
+
var isHex40 = (addr) => typeof addr === "string" && /^0x[0-9a-f]{40}$/i.test(addr);
|
|
34459
|
+
var lcOrUndefined = (addr) => isHex40(addr) ? addr.toLowerCase() : void 0;
|
|
34460
|
+
var toNumberSafe = (raw, fallback = 0) => {
|
|
34461
|
+
if (raw === void 0 || raw === null) return fallback;
|
|
34462
|
+
const n = Number(raw);
|
|
34463
|
+
return Number.isFinite(n) ? n : fallback;
|
|
34464
|
+
};
|
|
34465
|
+
var toStringSafe = (raw, fallback = "") => {
|
|
34466
|
+
if (raw === void 0 || raw === null) return fallback;
|
|
34467
|
+
return String(raw);
|
|
34468
|
+
};
|
|
34469
|
+
var DEFAULT_SKIP_PROTOCOLS = /* @__PURE__ */ new Set(["LISTA_DAO"]);
|
|
34470
|
+
var collectEntries = (chainId, protocols, skip) => {
|
|
34471
|
+
const all = morphoTypeVaults() ?? {};
|
|
34472
|
+
const out = [];
|
|
34473
|
+
const seen = /* @__PURE__ */ new Set();
|
|
34474
|
+
const protocolKeys = protocols && protocols.length > 0 ? protocols : Object.keys(all);
|
|
34475
|
+
for (const protocol of protocolKeys) {
|
|
34476
|
+
if (skip?.has(protocol)) continue;
|
|
34477
|
+
const list = all[protocol]?.[chainId] ?? [];
|
|
34478
|
+
for (const entry of list) {
|
|
34479
|
+
const vaultAddr = entry?.vault?.toLowerCase();
|
|
34480
|
+
if (!vaultAddr || seen.has(vaultAddr)) continue;
|
|
34481
|
+
seen.add(vaultAddr);
|
|
34482
|
+
out.push({ protocol, entry });
|
|
34483
|
+
}
|
|
34484
|
+
}
|
|
34485
|
+
return out;
|
|
34486
|
+
};
|
|
34487
|
+
var fetchMorphoVaultsFromChain = async (chainId, multicallRetry, prices = {}, tokenList = {}, opts = {}) => {
|
|
34488
|
+
const entries = opts.vaultsOverride ? opts.vaultsOverride.map((entry) => ({ protocol: "", entry })) : collectEntries(chainId, opts.protocols, DEFAULT_SKIP_PROTOCOLS);
|
|
34489
|
+
if (entries.length === 0) return {};
|
|
34490
|
+
const calls = entries.flatMap(
|
|
34491
|
+
({ entry }) => VAULT_CALLS.map((name) => ({
|
|
34492
|
+
address: entry.vault,
|
|
34493
|
+
name,
|
|
34494
|
+
params: []
|
|
34495
|
+
}))
|
|
34496
|
+
);
|
|
34497
|
+
const raw = await multicallRetry({
|
|
34498
|
+
chain: chainId,
|
|
34499
|
+
calls,
|
|
34500
|
+
abi: calls.map(() => MetaMorphoAbi),
|
|
34501
|
+
allowFailure: true
|
|
34502
|
+
});
|
|
34503
|
+
const out = {};
|
|
34504
|
+
for (let i = 0; i < entries.length; i++) {
|
|
34505
|
+
const { entry } = entries[i];
|
|
34506
|
+
const base = i * CALLS_PER_VAULT;
|
|
34507
|
+
const slice = raw.slice(base, base + CALLS_PER_VAULT);
|
|
34508
|
+
const parsed = parseVault4(entry, slice, chainId, prices, tokenList);
|
|
34509
|
+
if (parsed) out[parsed.address] = parsed;
|
|
34510
|
+
}
|
|
34511
|
+
return out;
|
|
34512
|
+
};
|
|
34513
|
+
function parseVault4(entry, results, chainId, prices, tokenList) {
|
|
34514
|
+
const address = entry?.vault?.toLowerCase();
|
|
34515
|
+
const underlying = entry?.underlying?.toLowerCase();
|
|
34516
|
+
if (!address || !underlying) return null;
|
|
34517
|
+
const [
|
|
34518
|
+
nameRaw,
|
|
34519
|
+
symbolRaw,
|
|
34520
|
+
decimalsRaw,
|
|
34521
|
+
totalAssetsRaw,
|
|
34522
|
+
totalSupplyRaw,
|
|
34523
|
+
feeRaw,
|
|
34524
|
+
timelockRaw,
|
|
34525
|
+
ownerRaw,
|
|
34526
|
+
curatorRaw,
|
|
34527
|
+
guardianRaw
|
|
34528
|
+
] = results;
|
|
34529
|
+
const assetMeta = tokenList[underlying];
|
|
34530
|
+
const decimals = Number(decimalsRaw ?? assetMeta?.decimals ?? 18);
|
|
34531
|
+
const totalAssets = toStringSafe(totalAssetsRaw, "0");
|
|
34532
|
+
const totalSupply = toStringSafe(totalSupplyRaw, "0");
|
|
34533
|
+
const totalAssetsFormatted = Number(parseRawAmount(totalAssets, decimals));
|
|
34534
|
+
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
|
|
34535
|
+
const priceUsd = prices[oracleKey] ?? prices[underlying] ?? 0;
|
|
34536
|
+
const onchainName = toStringSafe(nameRaw).trim();
|
|
34537
|
+
const fallbackName = onchainName || (entry.name ?? "").trim();
|
|
34538
|
+
const symbol = toStringSafe(symbolRaw);
|
|
34539
|
+
const fee = toNumberSafe(feeRaw) / FEE_SCALE * 100;
|
|
34540
|
+
const timelock = toNumberSafe(timelockRaw);
|
|
34541
|
+
return {
|
|
34542
|
+
address,
|
|
34543
|
+
underlying,
|
|
34544
|
+
symbol,
|
|
34545
|
+
name: fallbackName,
|
|
34546
|
+
displayName: composeVaultDisplayName("Morpho", void 0, assetMeta, fallbackName),
|
|
34547
|
+
decimals,
|
|
34548
|
+
totalAssets,
|
|
34549
|
+
totalSupply,
|
|
34550
|
+
// On-chain path can't compute the per-allocation supply APR without
|
|
34551
|
+
// walking the underlying market list — surface 0 like the Goldsky path
|
|
34552
|
+
// does for rewards. Callers that need APR on these vaults should layer
|
|
34553
|
+
// it in separately or fall back to the API/subgraph fetchers.
|
|
34554
|
+
supplyRate: 0,
|
|
34555
|
+
rewardsRate: 0,
|
|
34556
|
+
depositRate: 0,
|
|
34557
|
+
fee,
|
|
34558
|
+
timelock,
|
|
34559
|
+
whitelisted: true,
|
|
34560
|
+
owner: lcOrUndefined(ownerRaw),
|
|
34561
|
+
curator: lcOrUndefined(curatorRaw),
|
|
34562
|
+
guardian: lcOrUndefined(guardianRaw),
|
|
34563
|
+
asset: assetMeta,
|
|
34564
|
+
priceUsd: priceUsd || void 0,
|
|
34565
|
+
totalAssetsFormatted,
|
|
34566
|
+
totalAssetsUsd: totalAssetsFormatted * priceUsd,
|
|
34567
|
+
// No on-chain "immediately withdrawable" figure without summing the
|
|
34568
|
+
// public allocator's per-market caps. Use totalAssets as an optimistic
|
|
34569
|
+
// ceiling — same convention as Silo / Euler-Earn / Morpho-Goldsky.
|
|
34570
|
+
liquidity: totalAssets,
|
|
34571
|
+
liquidityFormatted: totalAssetsFormatted,
|
|
34572
|
+
liquidityUsd: totalAssetsFormatted * priceUsd
|
|
34573
|
+
};
|
|
34574
|
+
}
|
|
34575
|
+
var LISTA_PROTOCOL = "LISTA_DAO";
|
|
34576
|
+
var PHASE1_CALLS = [
|
|
34577
|
+
"name",
|
|
34578
|
+
"symbol",
|
|
34579
|
+
"decimals",
|
|
34580
|
+
"totalAssets",
|
|
34581
|
+
"totalSupply",
|
|
34582
|
+
"fee",
|
|
34583
|
+
"feeRecipient",
|
|
34584
|
+
"CURATOR"
|
|
34585
|
+
];
|
|
34586
|
+
var PHASE1_PER_VAULT = PHASE1_CALLS.length;
|
|
34587
|
+
var FEE_SCALE2 = 1e18;
|
|
34588
|
+
var isHex402 = (addr) => typeof addr === "string" && /^0x[0-9a-f]{40}$/i.test(addr);
|
|
34589
|
+
var lcOrUndefined2 = (addr) => {
|
|
34590
|
+
if (!isHex402(addr)) return void 0;
|
|
34591
|
+
const lower = addr.toLowerCase();
|
|
34592
|
+
return lower === zeroAddress ? void 0 : lower;
|
|
34593
|
+
};
|
|
34594
|
+
var isHex64 = (val) => typeof val === "string" && /^0x[0-9a-f]{64}$/i.test(val);
|
|
34595
|
+
var toNumberSafe2 = (raw, fallback = 0) => {
|
|
34596
|
+
if (raw === void 0 || raw === null) return fallback;
|
|
34597
|
+
const n = Number(raw);
|
|
34598
|
+
return Number.isFinite(n) ? n : fallback;
|
|
34599
|
+
};
|
|
34600
|
+
var toStringSafe2 = (raw, fallback = "") => {
|
|
34601
|
+
if (raw === void 0 || raw === null) return fallback;
|
|
34602
|
+
return String(raw);
|
|
34603
|
+
};
|
|
34604
|
+
var collectEntries2 = (chainId) => {
|
|
34605
|
+
const list = morphoTypeVaults()?.[LISTA_PROTOCOL]?.[chainId] ?? [];
|
|
34606
|
+
const seen = /* @__PURE__ */ new Set();
|
|
34607
|
+
const out = [];
|
|
34608
|
+
for (const entry of list) {
|
|
34609
|
+
const vaultAddr = entry?.vault?.toLowerCase();
|
|
34610
|
+
if (!vaultAddr || seen.has(vaultAddr)) continue;
|
|
34611
|
+
seen.add(vaultAddr);
|
|
34612
|
+
out.push(entry);
|
|
34613
|
+
}
|
|
34614
|
+
return out;
|
|
34615
|
+
};
|
|
34616
|
+
var fetchListaVaultsFromChain = async (chainId, multicallRetry, prices = {}, tokenList = {}, opts = {}) => {
|
|
34617
|
+
const entries = opts.vaultsOverride ?? collectEntries2(chainId);
|
|
34618
|
+
if (entries.length === 0) return {};
|
|
34619
|
+
const phase1Calls = entries.flatMap(
|
|
34620
|
+
(entry) => PHASE1_CALLS.map((name) => ({
|
|
34621
|
+
address: entry.vault,
|
|
34622
|
+
name,
|
|
34623
|
+
params: []
|
|
34624
|
+
}))
|
|
34625
|
+
);
|
|
34626
|
+
const phase1 = await multicallRetry({
|
|
34627
|
+
chain: chainId,
|
|
34628
|
+
calls: phase1Calls,
|
|
34629
|
+
abi: phase1Calls.map(() => MoolahVaultAbi),
|
|
34630
|
+
allowFailure: true
|
|
34631
|
+
});
|
|
34632
|
+
const curatorRoleByVault = [];
|
|
34633
|
+
for (let i = 0; i < entries.length; i++) {
|
|
34634
|
+
const role = phase1[i * PHASE1_PER_VAULT + 7];
|
|
34635
|
+
curatorRoleByVault.push(isHex64(role) ? role : void 0);
|
|
34636
|
+
}
|
|
34637
|
+
const phase2Calls = entries.map((entry, i) => ({
|
|
34638
|
+
address: entry.vault,
|
|
34639
|
+
name: "getRoleMember",
|
|
34640
|
+
params: [curatorRoleByVault[i] ?? zeroHash, 0n]
|
|
34641
|
+
}));
|
|
34642
|
+
const phase2 = await multicallRetry({
|
|
34643
|
+
chain: chainId,
|
|
34644
|
+
calls: phase2Calls,
|
|
34645
|
+
abi: phase2Calls.map(() => MoolahVaultAbi),
|
|
34646
|
+
allowFailure: true
|
|
34647
|
+
});
|
|
34648
|
+
const out = {};
|
|
34649
|
+
for (let i = 0; i < entries.length; i++) {
|
|
34650
|
+
const entry = entries[i];
|
|
34651
|
+
const slice = phase1.slice(
|
|
34652
|
+
i * PHASE1_PER_VAULT,
|
|
34653
|
+
(i + 1) * PHASE1_PER_VAULT
|
|
34654
|
+
);
|
|
34655
|
+
const curatorAddrRaw = curatorRoleByVault[i] ? phase2[i] : void 0;
|
|
34656
|
+
const parsed = parseVault5(
|
|
34657
|
+
entry,
|
|
34658
|
+
slice,
|
|
34659
|
+
curatorAddrRaw,
|
|
34660
|
+
chainId,
|
|
34661
|
+
prices,
|
|
34662
|
+
tokenList
|
|
34663
|
+
);
|
|
34664
|
+
if (parsed) out[parsed.address] = parsed;
|
|
34665
|
+
}
|
|
34666
|
+
return out;
|
|
34667
|
+
};
|
|
34668
|
+
function parseVault5(entry, results, curatorAddrRaw, chainId, prices, tokenList) {
|
|
34669
|
+
const address = entry?.vault?.toLowerCase();
|
|
34670
|
+
const underlying = entry?.underlying?.toLowerCase();
|
|
34671
|
+
if (!address || !underlying) return null;
|
|
34672
|
+
const [
|
|
34673
|
+
nameRaw,
|
|
34674
|
+
symbolRaw,
|
|
34675
|
+
decimalsRaw,
|
|
34676
|
+
totalAssetsRaw,
|
|
34677
|
+
totalSupplyRaw,
|
|
34678
|
+
feeRaw,
|
|
34679
|
+
/* feeRecipientRaw */
|
|
34680
|
+
,
|
|
34681
|
+
/* curatorRoleRaw */
|
|
34682
|
+
,
|
|
34683
|
+
] = results;
|
|
34684
|
+
const assetMeta = tokenList[underlying];
|
|
34685
|
+
const decimals = Number(decimalsRaw ?? assetMeta?.decimals ?? 18);
|
|
34686
|
+
const totalAssets = toStringSafe2(totalAssetsRaw, "0");
|
|
34687
|
+
const totalSupply = toStringSafe2(totalSupplyRaw, "0");
|
|
34688
|
+
const totalAssetsFormatted = Number(parseRawAmount(totalAssets, decimals));
|
|
34689
|
+
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(underlying, chainId);
|
|
34690
|
+
const priceUsd = prices[oracleKey] ?? prices[underlying] ?? 0;
|
|
34691
|
+
const onchainName = toStringSafe2(nameRaw).trim();
|
|
34692
|
+
const fallbackName = onchainName || (entry.name ?? "").trim();
|
|
34693
|
+
const symbol = toStringSafe2(symbolRaw);
|
|
34694
|
+
const fee = toNumberSafe2(feeRaw) / FEE_SCALE2 * 100;
|
|
34695
|
+
return {
|
|
34696
|
+
address,
|
|
34697
|
+
underlying,
|
|
34698
|
+
symbol,
|
|
34699
|
+
name: fallbackName,
|
|
34700
|
+
displayName: composeVaultDisplayName(
|
|
34701
|
+
"Lista",
|
|
34702
|
+
void 0,
|
|
34703
|
+
assetMeta,
|
|
34704
|
+
fallbackName
|
|
34705
|
+
),
|
|
34706
|
+
decimals,
|
|
34707
|
+
totalAssets,
|
|
34708
|
+
totalSupply,
|
|
34709
|
+
supplyRate: 0,
|
|
34710
|
+
rewardsRate: 0,
|
|
34711
|
+
depositRate: 0,
|
|
34712
|
+
fee,
|
|
34713
|
+
timelock: 0,
|
|
34714
|
+
whitelisted: true,
|
|
34715
|
+
owner: void 0,
|
|
34716
|
+
curator: lcOrUndefined2(curatorAddrRaw),
|
|
34717
|
+
guardian: void 0,
|
|
34718
|
+
asset: assetMeta,
|
|
34719
|
+
priceUsd: priceUsd || void 0,
|
|
34720
|
+
totalAssetsFormatted,
|
|
34721
|
+
totalAssetsUsd: totalAssetsFormatted * priceUsd,
|
|
34722
|
+
liquidity: totalAssets,
|
|
34723
|
+
liquidityFormatted: totalAssetsFormatted,
|
|
34724
|
+
liquidityUsd: totalAssetsFormatted * priceUsd
|
|
34725
|
+
};
|
|
34726
|
+
}
|
|
34423
34727
|
|
|
34424
34728
|
// src/vaults/silo/fetchPublic.ts
|
|
34425
34729
|
var SILO_API_URL = "https://api-v3.silo.finance";
|
|
@@ -34459,7 +34763,7 @@ var toRawAmount = (decimalString, decimals) => {
|
|
|
34459
34763
|
return "0";
|
|
34460
34764
|
}
|
|
34461
34765
|
};
|
|
34462
|
-
function
|
|
34766
|
+
function parseVault6(v, chainId, prices, tokenList) {
|
|
34463
34767
|
const address = (v?.id ?? "").toLowerCase();
|
|
34464
34768
|
const assetAddr = (v?.asset?.id ?? "").toLowerCase();
|
|
34465
34769
|
if (!address || !assetAddr) return null;
|
|
@@ -34543,10 +34847,131 @@ var fetchSiloVaults = async (chainId, prices = {}, tokenList = {}, options) => {
|
|
|
34543
34847
|
if (options?.protocolVersion && v.protocol?.protocolVersion !== options.protocolVersion) {
|
|
34544
34848
|
continue;
|
|
34545
34849
|
}
|
|
34546
|
-
const parsed =
|
|
34850
|
+
const parsed = parseVault6(v, chainId, prices, tokenList);
|
|
34851
|
+
if (parsed) out[parsed.address] = parsed;
|
|
34852
|
+
}
|
|
34853
|
+
return out;
|
|
34854
|
+
};
|
|
34855
|
+
|
|
34856
|
+
// src/vaults/euler-earn/fetchFromSubgraph.ts
|
|
34857
|
+
var EULER_EARN_SUBGRAPH_URLS = {
|
|
34858
|
+
// [Chain.ETHEREUM_MAINNET]:
|
|
34859
|
+
// 'https://api.goldsky.com/api/public/<projectId>/subgraphs/euler-earn-mainnet/<ver>/gn',
|
|
34860
|
+
};
|
|
34861
|
+
var hasEulerEarnVaultSubgraph = (chainId) => chainId in EULER_EARN_SUBGRAPH_URLS;
|
|
34862
|
+
var EULER_EARN_VAULTS_QUERY = `
|
|
34863
|
+
{
|
|
34864
|
+
eulerEarnVaults(first: 200, skip: 0) {
|
|
34865
|
+
id
|
|
34866
|
+
name
|
|
34867
|
+
symbol
|
|
34868
|
+
decimals
|
|
34869
|
+
asset { id }
|
|
34870
|
+
owner { id }
|
|
34871
|
+
curator { id }
|
|
34872
|
+
guardian { id }
|
|
34873
|
+
feeRecipient
|
|
34874
|
+
performanceFee
|
|
34875
|
+
fee
|
|
34876
|
+
totalAssets
|
|
34877
|
+
totalShares
|
|
34878
|
+
supplyApy
|
|
34879
|
+
rate { id rate }
|
|
34880
|
+
}
|
|
34881
|
+
}
|
|
34882
|
+
`;
|
|
34883
|
+
function readAddress2(field5) {
|
|
34884
|
+
if (!field5) return void 0;
|
|
34885
|
+
if (typeof field5 === "string") return field5.toLowerCase();
|
|
34886
|
+
return field5.id?.toLowerCase();
|
|
34887
|
+
}
|
|
34888
|
+
function parseVaultRate2(v) {
|
|
34889
|
+
if (v.supplyApy != null) {
|
|
34890
|
+
const n = Number(v.supplyApy);
|
|
34891
|
+
if (Number.isFinite(n)) {
|
|
34892
|
+
return n < 1 ? n * 100 : n;
|
|
34893
|
+
}
|
|
34894
|
+
}
|
|
34895
|
+
if (v.rate?.rate) {
|
|
34896
|
+
const n = Number(v.rate.rate) * 100;
|
|
34897
|
+
if (Number.isFinite(n)) return n;
|
|
34898
|
+
}
|
|
34899
|
+
return 0;
|
|
34900
|
+
}
|
|
34901
|
+
function parseVaultFee(v) {
|
|
34902
|
+
const raw = v.performanceFee ?? v.fee;
|
|
34903
|
+
if (raw == null) return 0;
|
|
34904
|
+
const n = Number(raw);
|
|
34905
|
+
if (!Number.isFinite(n)) return 0;
|
|
34906
|
+
if (n < 1) return n * 100;
|
|
34907
|
+
if (n > 100) return n / 1e16;
|
|
34908
|
+
return n;
|
|
34909
|
+
}
|
|
34910
|
+
function parseVault7(v, chainId, prices, tokenList) {
|
|
34911
|
+
const address = (v?.id ?? "").toLowerCase();
|
|
34912
|
+
const assetAddr = (v?.asset?.id ?? "").toLowerCase();
|
|
34913
|
+
if (!address || !assetAddr) return null;
|
|
34914
|
+
const assetMeta = tokenList[assetAddr];
|
|
34915
|
+
const decimals = Number(v.decimals ?? assetMeta?.decimals ?? 18);
|
|
34916
|
+
const totalAssetsRaw = v.totalAssets?.toString() ?? "0";
|
|
34917
|
+
const totalAssetsFormatted = Number(parseRawAmount(totalAssetsRaw, decimals));
|
|
34918
|
+
const oracleKey = toOracleKey(assetMeta?.assetGroup) ?? toGenericPriceKey(assetAddr, chainId);
|
|
34919
|
+
const priceUsd = prices[oracleKey] ?? prices[assetAddr] ?? 0;
|
|
34920
|
+
const supplyRate = parseVaultRate2(v);
|
|
34921
|
+
const fee = parseVaultFee(v);
|
|
34922
|
+
return {
|
|
34923
|
+
address,
|
|
34924
|
+
underlying: assetAddr,
|
|
34925
|
+
symbol: v.symbol ?? "",
|
|
34926
|
+
name: v.name ?? "",
|
|
34927
|
+
decimals,
|
|
34928
|
+
totalAssets: totalAssetsRaw,
|
|
34929
|
+
totalSupply: v.totalShares?.toString() ?? "0",
|
|
34930
|
+
supplyRate,
|
|
34931
|
+
rewardsRate: 0,
|
|
34932
|
+
depositRate: supplyRate,
|
|
34933
|
+
fee,
|
|
34934
|
+
owner: readAddress2(v.owner),
|
|
34935
|
+
curator: readAddress2(v.curator),
|
|
34936
|
+
guardian: readAddress2(v.guardian),
|
|
34937
|
+
feeRecipient: v.feeRecipient?.toLowerCase() || void 0,
|
|
34938
|
+
asset: assetMeta,
|
|
34939
|
+
priceUsd: priceUsd || void 0,
|
|
34940
|
+
totalAssetsFormatted,
|
|
34941
|
+
totalAssetsUsd: totalAssetsFormatted * priceUsd,
|
|
34942
|
+
// Subgraph doesn't expose immediate-withdraw — same optimistic
|
|
34943
|
+
// ceiling as Morpho/Silo earn-vault fetchers.
|
|
34944
|
+
liquidity: totalAssetsRaw,
|
|
34945
|
+
liquidityFormatted: totalAssetsFormatted,
|
|
34946
|
+
liquidityUsd: totalAssetsFormatted * priceUsd
|
|
34947
|
+
};
|
|
34948
|
+
}
|
|
34949
|
+
async function fetchEulerEarnVaultsFromSubgraph(chainId, prices = {}, tokenList = {}) {
|
|
34950
|
+
const url = EULER_EARN_SUBGRAPH_URLS[chainId];
|
|
34951
|
+
if (!url) return {};
|
|
34952
|
+
const response = await fetch(url, {
|
|
34953
|
+
method: "POST",
|
|
34954
|
+
headers: { "Content-Type": "application/json" },
|
|
34955
|
+
body: JSON.stringify({ query: EULER_EARN_VAULTS_QUERY })
|
|
34956
|
+
});
|
|
34957
|
+
if (!response.ok) {
|
|
34958
|
+
throw new Error(
|
|
34959
|
+
`Euler Earn vaults subgraph failed for chain ${chainId}: ${response.status} - ${response.statusText}`
|
|
34960
|
+
);
|
|
34961
|
+
}
|
|
34962
|
+
const json = await response.json();
|
|
34963
|
+
const items = json?.data?.eulerEarnVaults ?? [];
|
|
34964
|
+
const out = {};
|
|
34965
|
+
for (const v of items) {
|
|
34966
|
+
const parsed = parseVault7(v, chainId, prices, tokenList);
|
|
34547
34967
|
if (parsed) out[parsed.address] = parsed;
|
|
34548
34968
|
}
|
|
34549
34969
|
return out;
|
|
34970
|
+
}
|
|
34971
|
+
|
|
34972
|
+
// src/vaults/euler-earn/fetchPublic.ts
|
|
34973
|
+
var fetchEulerEarnVaults = async (chainId, prices = {}, tokenList = {}) => {
|
|
34974
|
+
return fetchEulerEarnVaultsFromSubgraph(chainId, prices, tokenList);
|
|
34550
34975
|
};
|
|
34551
34976
|
var warn3 = (...args) => {
|
|
34552
34977
|
};
|
|
@@ -34606,6 +35031,18 @@ var getVaultPublicDataAll = async (chainId, providers, multicallRetry, prices =
|
|
|
34606
35031
|
})
|
|
34607
35032
|
);
|
|
34608
35033
|
}
|
|
35034
|
+
if (requested.has("euler-earn")) {
|
|
35035
|
+
tasks.push(
|
|
35036
|
+
fetchEulerEarnVaults(chainId, prices, tokenList).then((res) => {
|
|
35037
|
+
out["euler-earn"] = res;
|
|
35038
|
+
}).catch((e) => {
|
|
35039
|
+
warn3(
|
|
35040
|
+
`[vaults] euler-earn fetch failed for chain ${chainId}:`,
|
|
35041
|
+
e?.message ?? e
|
|
35042
|
+
);
|
|
35043
|
+
})
|
|
35044
|
+
);
|
|
35045
|
+
}
|
|
34609
35046
|
await Promise.all(tasks);
|
|
34610
35047
|
return out;
|
|
34611
35048
|
};
|
|
@@ -35096,6 +35533,6 @@ async function fetchTokenBalances(chainId, account, tokens, options = {}) {
|
|
|
35096
35533
|
return parseTokenBalanceResult(rawResult, prepared.query);
|
|
35097
35534
|
}
|
|
35098
35535
|
|
|
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 };
|
|
35536
|
+
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, fetchEulerEarnVaults, fetchEulerEarnVaultsFromSubgraph, fetchEulerSubAccountIndexes, fetchFlashLiquidityForChain, fetchFluidFTokens, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchListaVaultsFromChain, fetchMorphoUserBalances, fetchMorphoUserPositionMarkets, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromChain, 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, hasEulerEarnVaultSubgraph, 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 };
|
|
35100
35537
|
//# sourceMappingURL=index.js.map
|
|
35101
35538
|
//# sourceMappingURL=index.js.map
|