@1delta/margin-fetcher 5.0.87 → 5.0.88
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 +92 -4
- package/dist/index.js +246 -72
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import './chunk-BYTNVMX7.js';
|
|
|
3
3
|
import './chunk-PR4QN5HX.js';
|
|
4
4
|
import { Lender, isExactly, isMidnight, isTerm, isTermMax, isTeller, isListaDao, isLiquityFamily, isRiver, isInverse, isCooler, isDssType, isCompoundV3Type, isFluid, isGearboxV3, isLlamaLend, isFrankencoin, isResupply, isCurvance, isFlyingTulip, isTwyne, isFraxlend, isAaveV4Type, LIQUITY_FAMILY_LENDERS, isAaveType, isCompoundV3, isCompoundV2Type, isMultiMarket, isSiloV2Type, isSiloV3Type, isDolomite, isMorphoType, isUsdd, isSky, hasCrossMarginRisk, isEulerType, isInit, isVenusType, isSumerType, AAVE_V3_LENDERS, AAVE_V2_LENDERS, isMorphoBlue, isAaveV2Type, isAaveV32Type, isAaveV3Type, isYLDR, isLista, hasSubAccounts, isTectonicType, isKineticType, isBenqiType } from '@1delta/lender-registry';
|
|
5
5
|
export { hasCrossMarginRisk, isAaveType, isAaveV2Type, isAaveV32Type, isAaveV3Type, isCompoundV3, isCompoundV3Type, isInit, isMorphoType, isMultiMarket, isYLDR } from '@1delta/lender-registry';
|
|
6
|
-
import { fetchTokenLists, fetchTokenList, aavePools, compoundV3Pools, initConfig, morphoPools, compoundV2Pools, eulerVaults, siloMarkets, siloV2LenderKey, siloMarketsV3, siloV3LenderKey, aaveV4Spokes, aaveV4SpokeLenderKey, fluidResolvers, gearboxResolvers, dolomiteConfigs, midnightConfig, termConfig, termMarketsByChain, exactlyConfig, flyingTulipLendersByChain, liquityLendersByChain, riverLendersByChain, inverseLendersByChain, coolerLendersByChain, llamaLendLendersByChain, usddLendersByChain, skyLendersByChain, frankencoinLendersByChain, resupplyLendersByChain, curvanceLendersByChain, fraxlendLendersByChain, twyneLendersByChain, tellerConfigByChain, tellerPoolsByChain, termMaxConfigByChain, aaveReserves, compoundV3Reserves, morphoTypeMarkets, resolveTermApiBase, flyingTulipConfigFor, flyingTulipAssetsFor, liquityConfigFor, liquityBranchesByChain, riverConfigFor, riverChainData, termMaxApiBaseUrl, termMaxLenderKey, inverseConfigFor, inverseChainData, coolerConfigFor, llamaLendConfigFor, llamaLendChainData, llamaLendApiBaseUrl, resupplyConfigFor, fraxlendConfigFor, dssConfigFor, dssChainData, dssDebtToken, dssDebtJoin, frankencoinConfigFor, frankencoinChainData, aaveOracles, resolveMidnightApiBase, llamaLendMarketByVault, getSiloV2MarketEntry, getSiloV3MarketEntry, dolomiteEmode, curvanceConfigFor, aaveTokens, morphoTypeVaults, listaCollateralProvider, eulerConfigs, gearboxMarketCompressor, gearboxMarketConfigurators, compoundV2TokenArray, gearboxV3LenderKey, midnightMarketsByChain, twyneConfigFor, twyneChainData, midnightCollateralRef, parseAaveV4SpokeLenderKey, fraxlendPairsFor, gearboxAccountCompressor, compoundV2Tokens, exactlyMarketsByChain, aaveOraclesConfig, compoundV2Oracles, compoundV2OraclesConfig, compoundV3OraclesData, compoundV3BaseData, compoundV2Reserves, aaveV4Oracles, morphoTypeOracles } from '@1delta/data-sdk';
|
|
6
|
+
import { fetchTokenLists, fetchTokenList, aavePools, compoundV3Pools, initConfig, morphoPools, compoundV2Pools, eulerVaults, siloMarkets, siloV2LenderKey, siloMarketsV3, siloV3LenderKey, aaveV4Spokes, aaveV4SpokeLenderKey, fluidResolvers, gearboxResolvers, dolomiteConfigs, midnightConfig, termConfig, termMarketsByChain, exactlyConfig, flyingTulipLendersByChain, liquityLendersByChain, riverLendersByChain, inverseLendersByChain, coolerLendersByChain, llamaLendLendersByChain, usddLendersByChain, skyLendersByChain, frankencoinLendersByChain, resupplyLendersByChain, curvanceLendersByChain, fraxlendLendersByChain, twyneLendersByChain, tellerConfigByChain, tellerPoolsByChain, termMaxConfigByChain, aaveReserves, compoundV3Reserves, dolomiteIsolationMarket, morphoTypeMarkets, resolveTermApiBase, flyingTulipConfigFor, flyingTulipAssetsFor, liquityConfigFor, liquityBranchesByChain, riverConfigFor, riverChainData, termMaxApiBaseUrl, termMaxLenderKey, inverseConfigFor, inverseChainData, coolerConfigFor, llamaLendConfigFor, llamaLendChainData, llamaLendApiBaseUrl, resupplyConfigFor, fraxlendConfigFor, dssConfigFor, dssChainData, dssDebtToken, dssDebtJoin, frankencoinConfigFor, frankencoinChainData, aaveOracles, resolveMidnightApiBase, llamaLendMarketByVault, getSiloV2MarketEntry, getSiloV3MarketEntry, dolomiteEmode, curvanceConfigFor, aaveTokens, morphoTypeVaults, listaCollateralProvider, eulerConfigs, gearboxMarketCompressor, gearboxMarketConfigurators, compoundV2TokenArray, gearboxV3LenderKey, midnightMarketsByChain, twyneConfigFor, twyneChainData, midnightCollateralRef, parseAaveV4SpokeLenderKey, fraxlendPairsFor, gearboxAccountCompressor, compoundV2Tokens, exactlyMarketsByChain, aaveOraclesConfig, compoundV2Oracles, compoundV2OraclesConfig, compoundV3OraclesData, compoundV3BaseData, compoundV2Reserves, aaveV4Oracles, morphoTypeOracles } from '@1delta/data-sdk';
|
|
7
7
|
import lodash from 'lodash';
|
|
8
8
|
import { Chain, isEvmChainId } from '@1delta/chain-registry';
|
|
9
9
|
import { multicallRetryUniversal, getEvmClient, getEvmChain, createMulticallRetryUniversal, LIST_OVERRIDES, getEvmClientUniversal } from '@1delta/providers';
|
|
@@ -12013,7 +12013,7 @@ function createSumerUserState(payload, lenderData, totalDeposits24h = 0, totalDe
|
|
|
12013
12013
|
// src/lending/user-data/utils/createMultiAccountStyleUserState.ts
|
|
12014
12014
|
function createMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
12015
12015
|
const positionKeys = Object.keys(payload.lendingPositions ?? {});
|
|
12016
|
-
let
|
|
12016
|
+
let marketUids2 = getMarketUidsFromMeta(lenderData);
|
|
12017
12017
|
const { chainId, account } = payload;
|
|
12018
12018
|
let data = [];
|
|
12019
12019
|
for (let j = 0; j < positionKeys.length; j++) {
|
|
@@ -12036,8 +12036,8 @@ function createMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
12036
12036
|
let collateral = 0;
|
|
12037
12037
|
let borrowDiscountedCollateral = 0;
|
|
12038
12038
|
let adjustedDebt = 0;
|
|
12039
|
-
for (let i = 0; i <
|
|
12040
|
-
const marketUid =
|
|
12039
|
+
for (let i = 0; i < marketUids2.length; i++) {
|
|
12040
|
+
const marketUid = marketUids2[i];
|
|
12041
12041
|
if (!lenderData?.[marketUid] || !payload.lendingPositions[posId][marketUid])
|
|
12042
12042
|
continue;
|
|
12043
12043
|
const pos = payload.lendingPositions[posId][marketUid];
|
|
@@ -12093,8 +12093,8 @@ function createMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
12093
12093
|
rewards: {}
|
|
12094
12094
|
};
|
|
12095
12095
|
const creditLine = Math.max(0, borrowDiscountedCollateral - adjustedDebt);
|
|
12096
|
-
for (let i = 0; i <
|
|
12097
|
-
const marketUid =
|
|
12096
|
+
for (let i = 0; i < marketUids2.length; i++) {
|
|
12097
|
+
const marketUid = marketUids2[i];
|
|
12098
12098
|
if (!lenderData?.[marketUid]) continue;
|
|
12099
12099
|
const { configs, flags, borrowLiquidity, withdrawLiquidity } = lenderData[marketUid];
|
|
12100
12100
|
const config = resolveModeConfig(configs, mode);
|
|
@@ -20598,7 +20598,10 @@ var DOLOMITE_MARKET_FNS = [
|
|
|
20598
20598
|
"getMarketMarginPremium",
|
|
20599
20599
|
"getMarketInterestRate"
|
|
20600
20600
|
];
|
|
20601
|
-
var DOLOMITE_GLOBAL_FNS = [
|
|
20601
|
+
var DOLOMITE_GLOBAL_FNS = [
|
|
20602
|
+
"getMarginRatio",
|
|
20603
|
+
"getEarningsRate"
|
|
20604
|
+
];
|
|
20602
20605
|
var buildDolomiteCall = (chainId, _lender) => {
|
|
20603
20606
|
const margin = dolomiteConfigs()?.[chainId]?.dolomiteMargin;
|
|
20604
20607
|
const marketIds = getDolomiteMarketIds(chainId);
|
|
@@ -20678,6 +20681,59 @@ function resolveDolomiteMode(heldMarketIds, emode) {
|
|
|
20678
20681
|
}
|
|
20679
20682
|
return cats.size === 1 ? [...cats][0] : "0";
|
|
20680
20683
|
}
|
|
20684
|
+
var marketUids = (chainId, lender, ids) => ids.map((id) => createMarketUid(chainId, lender, String(id)));
|
|
20685
|
+
function resolveDolomiteRowIdentity(chainId, lender, marketId, token, tokenList = {}) {
|
|
20686
|
+
const lower4 = token.toLowerCase();
|
|
20687
|
+
const meta = tokenList[lower4];
|
|
20688
|
+
const table = dolomiteIsolationMarket(
|
|
20689
|
+
chainId,
|
|
20690
|
+
marketId
|
|
20691
|
+
);
|
|
20692
|
+
const receiptUnderlying = meta?.props?.receipt?.protocol === "dolomite-isolation" ? meta.props.receipt.underlying?.toLowerCase() : void 0;
|
|
20693
|
+
const underlying = table?.underlying?.toLowerCase() ?? receiptUnderlying;
|
|
20694
|
+
if (!underlying) {
|
|
20695
|
+
return {
|
|
20696
|
+
name: lenderShortName(lender) + " " + (meta?.symbol ?? ""),
|
|
20697
|
+
asset: meta,
|
|
20698
|
+
yieldKey: toOracleKey(meta?.assetGroup ?? null)
|
|
20699
|
+
};
|
|
20700
|
+
}
|
|
20701
|
+
const underlyingMeta = tokenList[underlying];
|
|
20702
|
+
const symbol = meta?.symbol ?? (underlyingMeta?.symbol ? "d" + underlyingMeta.symbol : table?.underlyingSymbol ? "d" + table.underlyingSymbol : "");
|
|
20703
|
+
const asset = meta && !meta.logoURI && underlyingMeta?.logoURI ? { ...meta, logoURI: underlyingMeta.logoURI } : meta;
|
|
20704
|
+
const isolation = table ? {
|
|
20705
|
+
factory: table.factory,
|
|
20706
|
+
underlying,
|
|
20707
|
+
underlyingSymbol: table.underlyingSymbol,
|
|
20708
|
+
underlyingDecimals: table.underlyingDecimals,
|
|
20709
|
+
allowedDebtMarketUids: table.allowableDebtMarketIds.length > 0 ? marketUids(chainId, lender, table.allowableDebtMarketIds) : void 0,
|
|
20710
|
+
allowedCollateralMarketUids: table.allowableCollateralMarketIds.length > 0 ? marketUids(chainId, lender, table.allowableCollateralMarketIds) : void 0,
|
|
20711
|
+
wrapper: table.wrapper,
|
|
20712
|
+
unwrapper: table.unwrapper,
|
|
20713
|
+
wrapperInputMarketUids: marketUids(
|
|
20714
|
+
chainId,
|
|
20715
|
+
lender,
|
|
20716
|
+
table.wrapperInputMarketIds
|
|
20717
|
+
),
|
|
20718
|
+
unwrapperOutputMarketUids: marketUids(
|
|
20719
|
+
chainId,
|
|
20720
|
+
lender,
|
|
20721
|
+
table.unwrapperOutputMarketIds
|
|
20722
|
+
),
|
|
20723
|
+
async: table.async,
|
|
20724
|
+
executionFeeWei: table.executionFeeWei
|
|
20725
|
+
} : void 0;
|
|
20726
|
+
return {
|
|
20727
|
+
name: lenderShortName(lender) + " " + symbol,
|
|
20728
|
+
asset,
|
|
20729
|
+
// The underlying's group; fall back to the dToken's own group only when
|
|
20730
|
+
// the underlying is unlisted (then nothing is keyed on it anyway).
|
|
20731
|
+
yieldKey: toOracleKey(
|
|
20732
|
+
underlyingMeta?.assetGroup ?? meta?.assetGroup ?? null
|
|
20733
|
+
),
|
|
20734
|
+
isolation
|
|
20735
|
+
};
|
|
20736
|
+
}
|
|
20681
20737
|
|
|
20682
20738
|
// src/lending/public-data/dolomite/publicCallParse.ts
|
|
20683
20739
|
var BASE = 10n ** 18n;
|
|
@@ -20735,12 +20791,19 @@ var getDolomitePublicDataConverter = (lender, chainId, _prices, additionalYields
|
|
|
20735
20791
|
const config = buildDolomiteConfigs(marketId, p, R, isClosing, emode);
|
|
20736
20792
|
const liquidity = Number(totalDeposits) - Number(totalDebt);
|
|
20737
20793
|
const marketUid = createMarketUid(chainId, lender, String(marketId));
|
|
20794
|
+
const identity = resolveDolomiteRowIdentity(
|
|
20795
|
+
chainId,
|
|
20796
|
+
lender,
|
|
20797
|
+
marketId,
|
|
20798
|
+
underlying,
|
|
20799
|
+
tokenList
|
|
20800
|
+
);
|
|
20738
20801
|
result[marketUid] = {
|
|
20739
20802
|
marketUid,
|
|
20740
|
-
name:
|
|
20803
|
+
name: identity.name,
|
|
20741
20804
|
poolId: underlying,
|
|
20742
20805
|
underlying,
|
|
20743
|
-
asset:
|
|
20806
|
+
asset: identity.asset,
|
|
20744
20807
|
marketId,
|
|
20745
20808
|
totalDeposits,
|
|
20746
20809
|
totalDebt,
|
|
@@ -20756,7 +20819,9 @@ var getDolomitePublicDataConverter = (lender, chainId, _prices, additionalYields
|
|
|
20756
20819
|
variableBorrowRate,
|
|
20757
20820
|
stableBorrowRate: 0,
|
|
20758
20821
|
collateralActive: true,
|
|
20759
|
-
|
|
20822
|
+
// By ASSET GROUP (the map's key), the underlying's for an isolation
|
|
20823
|
+
// market — see `isolation.ts`.
|
|
20824
|
+
intrinsicYield: additionalYields?.intrinsicYields?.[identity.yieldKey] ?? 0,
|
|
20760
20825
|
rewards: [],
|
|
20761
20826
|
config,
|
|
20762
20827
|
closeFactor: 1,
|
|
@@ -20772,7 +20837,11 @@ var getDolomitePublicDataConverter = (lender, chainId, _prices, additionalYields
|
|
|
20772
20837
|
// and the term sheet then printed a red "Currently unavailable" over
|
|
20773
20838
|
// the collateral leg of a loop that builds and executes fine. The
|
|
20774
20839
|
// borrow half is already carried correctly by `config[*].debtDisabled`.
|
|
20775
|
-
depositsEnabled: true
|
|
20840
|
+
depositsEnabled: true,
|
|
20841
|
+
...identity.isolation && {
|
|
20842
|
+
isolation: identity.isolation,
|
|
20843
|
+
allowedDebtMarketUids: identity.isolation.allowedDebtMarketUids
|
|
20844
|
+
}
|
|
20776
20845
|
};
|
|
20777
20846
|
});
|
|
20778
20847
|
return { data: result, chainId };
|
|
@@ -29549,13 +29618,24 @@ function convertDolomiteSubgraphMarkets(raw, chainId, prices, additionalYields,
|
|
|
29549
29618
|
isClosing,
|
|
29550
29619
|
emode
|
|
29551
29620
|
);
|
|
29552
|
-
const marketUid = createMarketUid(
|
|
29621
|
+
const marketUid = createMarketUid(
|
|
29622
|
+
chainId,
|
|
29623
|
+
LENDER,
|
|
29624
|
+
String(info.token.marketId)
|
|
29625
|
+
);
|
|
29626
|
+
const identity = resolveDolomiteRowIdentity(
|
|
29627
|
+
chainId,
|
|
29628
|
+
LENDER,
|
|
29629
|
+
info.token.marketId,
|
|
29630
|
+
underlying,
|
|
29631
|
+
tokenList
|
|
29632
|
+
);
|
|
29553
29633
|
result[marketUid] = {
|
|
29554
29634
|
marketUid,
|
|
29555
|
-
name: lenderShortName(LENDER) + " " + (
|
|
29635
|
+
name: meta ? identity.name : lenderShortName(LENDER) + " " + (info.token.symbol ?? ""),
|
|
29556
29636
|
poolId: underlying,
|
|
29557
29637
|
underlying,
|
|
29558
|
-
asset:
|
|
29638
|
+
asset: identity.asset,
|
|
29559
29639
|
marketId: info.token.marketId,
|
|
29560
29640
|
totalDeposits,
|
|
29561
29641
|
totalDebt,
|
|
@@ -29571,14 +29651,22 @@ function convertDolomiteSubgraphMarkets(raw, chainId, prices, additionalYields,
|
|
|
29571
29651
|
variableBorrowRate,
|
|
29572
29652
|
stableBorrowRate: 0,
|
|
29573
29653
|
collateralActive: true,
|
|
29574
|
-
|
|
29654
|
+
// Keyed by ASSET GROUP like every other lender (the map is
|
|
29655
|
+
// `intrinsicYields[assetGroup]`, never by address) — and for an
|
|
29656
|
+
// isolation market by the UNDERLYING's group, since a dGM earns what
|
|
29657
|
+
// its GM earns.
|
|
29658
|
+
intrinsicYield: additionalYields?.intrinsicYields?.[identity.yieldKey] ?? 0,
|
|
29575
29659
|
rewards: [],
|
|
29576
29660
|
config,
|
|
29577
29661
|
closeFactor: 1,
|
|
29578
29662
|
borrowingEnabled: !isClosing,
|
|
29579
29663
|
// Deposits are NOT gated by this flag — see the note in `publicCallParse`.
|
|
29580
29664
|
// The subgraph names it `isBorrowingDisabled`, which says so outright.
|
|
29581
|
-
depositsEnabled: true
|
|
29665
|
+
depositsEnabled: true,
|
|
29666
|
+
...identity.isolation && {
|
|
29667
|
+
isolation: identity.isolation,
|
|
29668
|
+
allowedDebtMarketUids: identity.isolation.allowedDebtMarketUids
|
|
29669
|
+
}
|
|
29582
29670
|
};
|
|
29583
29671
|
}
|
|
29584
29672
|
return { data: result, chainId };
|
|
@@ -31223,30 +31311,59 @@ var buildGearboxV3UserCall = (chainId, _lender, account) => {
|
|
|
31223
31311
|
};
|
|
31224
31312
|
var SUBGRAPH_CACHE_TTL_MS = 3e4;
|
|
31225
31313
|
var SUBGRAPH_TIMEOUT_MS2 = 1e4;
|
|
31314
|
+
var DOLOMITE_ISO_ID_PREFIX = "iso:";
|
|
31315
|
+
function parseDolomiteSubAccountId(id) {
|
|
31316
|
+
if (id.startsWith(DOLOMITE_ISO_ID_PREFIX)) {
|
|
31317
|
+
const [, marketId, number] = id.split(":");
|
|
31318
|
+
return { isolationMarketId: marketId, number };
|
|
31319
|
+
}
|
|
31320
|
+
return { number: id };
|
|
31321
|
+
}
|
|
31322
|
+
function toDolomiteSubAccountId(number, isolationMarketId) {
|
|
31323
|
+
return isolationMarketId ? `${DOLOMITE_ISO_ID_PREFIX}${isolationMarketId}:${number}` : number;
|
|
31324
|
+
}
|
|
31226
31325
|
var subgraphCache = /* @__PURE__ */ new Map();
|
|
31227
|
-
function
|
|
31326
|
+
function fetchDolomiteSubAccounts(chainId, owner) {
|
|
31228
31327
|
const key3 = `${chainId}:${owner.toLowerCase()}`;
|
|
31229
31328
|
const cached = subgraphCache.get(key3);
|
|
31230
31329
|
if (cached) return cached.promise;
|
|
31231
|
-
const promise =
|
|
31232
|
-
const timer = setTimeout(
|
|
31330
|
+
const promise = fetchSubAccountsFromSubgraph(chainId, owner).then((accounts) => withDefault(owner, accounts)).catch(() => withDefault(owner, []));
|
|
31331
|
+
const timer = setTimeout(
|
|
31332
|
+
() => subgraphCache.delete(key3),
|
|
31333
|
+
SUBGRAPH_CACHE_TTL_MS
|
|
31334
|
+
);
|
|
31233
31335
|
subgraphCache.set(key3, { promise, timer });
|
|
31234
31336
|
return promise;
|
|
31235
31337
|
}
|
|
31236
|
-
function
|
|
31237
|
-
const
|
|
31238
|
-
|
|
31239
|
-
|
|
31338
|
+
async function fetchDolomiteAccountNumbers(chainId, owner) {
|
|
31339
|
+
const accounts = await fetchDolomiteSubAccounts(chainId, owner);
|
|
31340
|
+
return accounts.filter((a) => !a.isolationMarketId).map((a) => a.number);
|
|
31341
|
+
}
|
|
31342
|
+
function withDefault(owner, accounts) {
|
|
31343
|
+
const seen = /* @__PURE__ */ new Set();
|
|
31344
|
+
const out = [];
|
|
31345
|
+
const push2 = (a) => {
|
|
31346
|
+
if (seen.has(a.id)) return;
|
|
31347
|
+
seen.add(a.id);
|
|
31348
|
+
out.push(a);
|
|
31349
|
+
};
|
|
31350
|
+
push2({ id: "0", owner, number: "0" });
|
|
31351
|
+
accounts.forEach(push2);
|
|
31352
|
+
return out;
|
|
31240
31353
|
}
|
|
31241
|
-
async function
|
|
31354
|
+
async function fetchSubAccountsFromSubgraph(chainId, owner) {
|
|
31242
31355
|
const url = DOLOMITE_SUBGRAPH_URLS[chainId];
|
|
31243
|
-
if (!url) return [
|
|
31356
|
+
if (!url) return [];
|
|
31244
31357
|
const query3 = `{
|
|
31245
31358
|
marginAccounts(
|
|
31246
31359
|
first: 1000
|
|
31247
|
-
where: {
|
|
31360
|
+
where: { and: [
|
|
31361
|
+
{ effectiveUser: "${owner.toLowerCase()}" },
|
|
31362
|
+
{ or: [{ hasSupplyValue: true }, { hasBorrowValue: true }] }
|
|
31363
|
+
] }
|
|
31248
31364
|
) {
|
|
31249
31365
|
accountNumber
|
|
31366
|
+
user { id isolationModeVault { marketId } }
|
|
31250
31367
|
}
|
|
31251
31368
|
}`;
|
|
31252
31369
|
const controller = new AbortController();
|
|
@@ -31258,21 +31375,46 @@ async function fetchAccountNumbersFromSubgraph(chainId, owner) {
|
|
|
31258
31375
|
body: JSON.stringify({ query: query3 }),
|
|
31259
31376
|
signal: controller.signal
|
|
31260
31377
|
});
|
|
31261
|
-
if (!response.ok)
|
|
31378
|
+
if (!response.ok) {
|
|
31379
|
+
console.warn(
|
|
31380
|
+
`[dolomite] sub-account query for ${owner} on chain ${chainId} answered HTTP ${response.status}; serving the default account only`
|
|
31381
|
+
);
|
|
31382
|
+
return [];
|
|
31383
|
+
}
|
|
31262
31384
|
const data = await response.json();
|
|
31385
|
+
if (data?.errors?.length) {
|
|
31386
|
+
console.warn(
|
|
31387
|
+
`[dolomite] sub-account query for ${owner} on chain ${chainId} rejected: ${data.errors.map((e) => e.message).join("; ")}; serving the default account only`
|
|
31388
|
+
);
|
|
31389
|
+
return [];
|
|
31390
|
+
}
|
|
31263
31391
|
const accounts = data?.data?.marginAccounts;
|
|
31264
|
-
if (!accounts || accounts.length === 0) return [
|
|
31265
|
-
|
|
31392
|
+
if (!accounts || accounts.length === 0) return [];
|
|
31393
|
+
const lowerOwner = owner.toLowerCase();
|
|
31394
|
+
return accounts.map((a) => {
|
|
31395
|
+
const number = String(a.accountNumber);
|
|
31396
|
+
const accountOwner = a.user.id.toLowerCase();
|
|
31397
|
+
const isolationMarketId = accountOwner !== lowerOwner ? a.user.isolationModeVault?.marketId : void 0;
|
|
31398
|
+
return {
|
|
31399
|
+
id: toDolomiteSubAccountId(number, isolationMarketId),
|
|
31400
|
+
owner: accountOwner,
|
|
31401
|
+
number,
|
|
31402
|
+
isolationMarketId
|
|
31403
|
+
};
|
|
31404
|
+
});
|
|
31266
31405
|
} finally {
|
|
31267
31406
|
clearTimeout(timeout);
|
|
31268
31407
|
}
|
|
31269
31408
|
}
|
|
31270
31409
|
var RESOLVED_STORE_TTL_MS2 = 6e4;
|
|
31271
31410
|
var resolvedStore = /* @__PURE__ */ new Map();
|
|
31411
|
+
function getResolvedDolomiteSubAccounts(chainId, account) {
|
|
31412
|
+
return resolvedStore.get(`${chainId}:${account.toLowerCase()}`)?.accounts;
|
|
31413
|
+
}
|
|
31272
31414
|
function getResolvedDolomiteAccountNumbers(chainId, account) {
|
|
31273
|
-
return
|
|
31415
|
+
return getResolvedDolomiteSubAccounts(chainId, account)?.map((a) => a.id);
|
|
31274
31416
|
}
|
|
31275
|
-
function
|
|
31417
|
+
function storeResolved(chainId, account, accounts) {
|
|
31276
31418
|
const key3 = `${chainId}:${account.toLowerCase()}`;
|
|
31277
31419
|
const existing = resolvedStore.get(key3);
|
|
31278
31420
|
if (existing) clearTimeout(existing.timer);
|
|
@@ -31280,17 +31422,20 @@ function storeResolvedNumbers(chainId, account, numbers) {
|
|
|
31280
31422
|
() => resolvedStore.delete(key3),
|
|
31281
31423
|
RESOLVED_STORE_TTL_MS2
|
|
31282
31424
|
);
|
|
31283
|
-
resolvedStore.set(key3, {
|
|
31425
|
+
resolvedStore.set(key3, { accounts, timer });
|
|
31284
31426
|
}
|
|
31285
31427
|
var buildDolomiteUserCall = async (chainId, _lender, account, accountNumbers) => {
|
|
31286
31428
|
const margin = dolomiteConfigs()?.[chainId]?.dolomiteMargin;
|
|
31287
31429
|
if (!margin) return [];
|
|
31288
|
-
const
|
|
31289
|
-
|
|
31290
|
-
|
|
31430
|
+
const accounts = accountNumbers ? withDefault(
|
|
31431
|
+
account,
|
|
31432
|
+
accountNumbers.map((n) => ({ id: n, owner: account, number: n }))
|
|
31433
|
+
) : await fetchDolomiteSubAccounts(chainId, account);
|
|
31434
|
+
storeResolved(chainId, account, accounts);
|
|
31435
|
+
return accounts.map(({ owner, number }) => ({
|
|
31291
31436
|
address: margin,
|
|
31292
31437
|
name: "getAccountBalances",
|
|
31293
|
-
params: [{ owner
|
|
31438
|
+
params: [{ owner, number }]
|
|
31294
31439
|
}));
|
|
31295
31440
|
};
|
|
31296
31441
|
var midnightMarketCallCount = (collateralCount) => 2 + collateralCount;
|
|
@@ -33961,7 +34106,7 @@ function createMorphoEntryFromMarketWithLens(balanceInfo, metaMap, chainId, lend
|
|
|
33961
34106
|
// src/lending/user-data/utils/createEulerMultiAccountTypeUserState.ts
|
|
33962
34107
|
function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
33963
34108
|
const subAccountIndexes = Object.keys(payload.lendingPositions ?? {});
|
|
33964
|
-
const
|
|
34109
|
+
const marketUids2 = getMarketUidsFromMeta(lenderData);
|
|
33965
34110
|
const { chainId, account } = payload;
|
|
33966
34111
|
const data = [];
|
|
33967
34112
|
for (let j = 0; j < subAccountIndexes.length; j++) {
|
|
@@ -33984,8 +34129,8 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
33984
34129
|
let collateral = 0;
|
|
33985
34130
|
let borrowDiscountedCollateral = 0;
|
|
33986
34131
|
let adjustedDebt = 0;
|
|
33987
|
-
for (let i = 0; i <
|
|
33988
|
-
const marketUid =
|
|
34132
|
+
for (let i = 0; i < marketUids2.length; i++) {
|
|
34133
|
+
const marketUid = marketUids2[i];
|
|
33989
34134
|
if (!lenderData?.[marketUid] || !payload.lendingPositions[subAccountIndex][marketUid])
|
|
33990
34135
|
continue;
|
|
33991
34136
|
const pos = payload.lendingPositions[subAccountIndex][marketUid];
|
|
@@ -34044,8 +34189,8 @@ function createEulerMultiAccountTypeUserState(payload, lenderData, histData) {
|
|
|
34044
34189
|
rewards: {}
|
|
34045
34190
|
};
|
|
34046
34191
|
const creditLine = Math.max(0, borrowDiscountedCollateral - adjustedDebt);
|
|
34047
|
-
for (let i = 0; i <
|
|
34048
|
-
const marketUid =
|
|
34192
|
+
for (let i = 0; i < marketUids2.length; i++) {
|
|
34193
|
+
const marketUid = marketUids2[i];
|
|
34049
34194
|
if (!lenderData?.[marketUid]) continue;
|
|
34050
34195
|
const { configs, flags, borrowLiquidity, withdrawLiquidity } = lenderData[marketUid];
|
|
34051
34196
|
const config = configs?.[configKey];
|
|
@@ -35107,8 +35252,10 @@ var getGearboxV3UserDataConverter = (_lender, chainId, account, meta) => {
|
|
|
35107
35252
|
];
|
|
35108
35253
|
};
|
|
35109
35254
|
var getDolomiteUserDataConverter = (lender, chainId, account, metaMap) => {
|
|
35110
|
-
const
|
|
35111
|
-
|
|
35255
|
+
const subAccounts = getResolvedDolomiteSubAccounts(chainId, account) ?? [
|
|
35256
|
+
{ id: "0", owner: account, number: "0" }
|
|
35257
|
+
];
|
|
35258
|
+
const expectedNumberOfCalls = subAccounts.length;
|
|
35112
35259
|
const emode = dolomiteEmode()?.[chainId];
|
|
35113
35260
|
return [
|
|
35114
35261
|
(_data) => {
|
|
@@ -35118,7 +35265,7 @@ var getDolomiteUserDataConverter = (lender, chainId, account, metaMap) => {
|
|
|
35118
35265
|
const modes = {};
|
|
35119
35266
|
_data.forEach((res, i) => {
|
|
35120
35267
|
if (isFailedCall(res)) return;
|
|
35121
|
-
const id =
|
|
35268
|
+
const id = subAccounts[i].id;
|
|
35122
35269
|
histData[id] = { totalDebt24h: 0, totalDeposits24h: 0 };
|
|
35123
35270
|
lendingPositions[id] = {};
|
|
35124
35271
|
const marketIds = res?.[0 /* markets */] ?? [];
|
|
@@ -51392,20 +51539,19 @@ var stEurGroup = {
|
|
|
51392
51539
|
chains: {
|
|
51393
51540
|
"1": {
|
|
51394
51541
|
address: "0x004626a008b1acdc4c74ab51644093b155e59a23",
|
|
51395
|
-
underlying: "
|
|
51542
|
+
underlying: "0x1a7e4e63778b4f12a199c062f3efdd288afcbce8"
|
|
51396
51543
|
},
|
|
51397
51544
|
"42161": {
|
|
51398
51545
|
address: "0x004626a008b1acdc4c74ab51644093b155e59a23",
|
|
51399
|
-
underlying: "
|
|
51546
|
+
underlying: "0xfa5ed56a203466cbbc2430a43c66b9d8723528e7"
|
|
51400
51547
|
},
|
|
51401
|
-
// Gnosis — `0x1aBa…` EURA exists on chain 100 per Angle docs.
|
|
51402
51548
|
"100": {
|
|
51403
51549
|
address: "0x004626a008b1acdc4c74ab51644093b155e59a23",
|
|
51404
|
-
underlying: "
|
|
51550
|
+
underlying: "0x4b1e2c2762667331bc91648052f646d1b0d35984"
|
|
51405
51551
|
},
|
|
51406
51552
|
"59144": {
|
|
51407
51553
|
address: "0x004626a008b1acdc4c74ab51644093b155e59a23",
|
|
51408
|
-
underlying: "
|
|
51554
|
+
underlying: "0x1a7e4e63778b4f12a199c062f3efdd288afcbce8"
|
|
51409
51555
|
}
|
|
51410
51556
|
}
|
|
51411
51557
|
};
|
|
@@ -52511,7 +52657,12 @@ var SINGLE_CHAIN_ENTRIES = {
|
|
|
52511
52657
|
},
|
|
52512
52658
|
{
|
|
52513
52659
|
address: "0x1202f5c7b4b9e47a1a484e8b270be34dbbc75055",
|
|
52514
|
-
|
|
52660
|
+
// `asset()` is USR itself: wstUSR is a 4626 over USR (deposit USR, get
|
|
52661
|
+
// wstUSR) that holds the rebasing stUSR internally. The row carried
|
|
52662
|
+
// stUSR `0x6c8984bc…` as its underlying until 2026-09-18, which would
|
|
52663
|
+
// have had the generic deposit route pull a token the vault never asks
|
|
52664
|
+
// for.
|
|
52665
|
+
underlying: "0x66a1e37c9b0eaddca17d3662d6c05f4decf3e110",
|
|
52515
52666
|
symbol: "wstUSR",
|
|
52516
52667
|
brand: "Resolv",
|
|
52517
52668
|
description: "USR is Resolv's delta-neutral synthetic dollar (ETH collateral hedged with perpetual shorts; the RLP insurance layer absorbs losses first). stUSR stakes it and rebases; wstUSR is the non-rebasing wrapper. Instant unwrap with no cooldown.",
|
|
@@ -53625,32 +53776,32 @@ var fetchGmxRawData = async (chainId, period, apiUrlOverride) => {
|
|
|
53625
53776
|
};
|
|
53626
53777
|
|
|
53627
53778
|
// src/yields/intrinsic/fetchers/gmx.ts
|
|
53628
|
-
var GMX_CHAIN =
|
|
53629
|
-
var
|
|
53630
|
-
|
|
53631
|
-
|
|
53632
|
-
|
|
53633
|
-
|
|
53634
|
-
|
|
53635
|
-
var glv_wbtc_usdc_address = "0xdf03eed325b82bc1d4db8b49c30ecc9e05104b96";
|
|
53636
|
-
var glv_weth_usdc_address = "0x528a5bac7e746c9a509a1f4f6df58a03d44279f9";
|
|
53779
|
+
var GMX_CHAIN = String(Chain.ARBITRUM_ONE);
|
|
53780
|
+
var LEGACY_KEYS = {
|
|
53781
|
+
"0x70d95587d40a2caf56bd97485ab3eec10bee6336": "GMX Market ETH/USD::GM [WETH-USDC]",
|
|
53782
|
+
"0x47c031236e19d024b42f8ae6780e44a573170703": "GMX Market BTC/USD::GM [WBTC-USDC]",
|
|
53783
|
+
"0xdf03eed325b82bc1d4db8b49c30ecc9e05104b96": "GMX Liquidity Vault [WBTC-USDC]::GLV [WBTC-USDC]",
|
|
53784
|
+
"0x528a5bac7e746c9a509a1f4f6df58a03d44279f9": "GMX Liquidity Vault [WETH-USDC]::GLV [WETH-USDC]"
|
|
53785
|
+
};
|
|
53637
53786
|
var gmxFetcher = {
|
|
53638
53787
|
label: "GMX",
|
|
53639
53788
|
fetch: async () => {
|
|
53640
|
-
const { apy } = await
|
|
53789
|
+
const [{ apy }, lists] = await Promise.all([
|
|
53790
|
+
fetchGmxRawData(GMX_CHAIN, GMX_DEFAULT_APY_PERIOD),
|
|
53791
|
+
getListsMulti([GMX_CHAIN]).catch(() => ({}))
|
|
53792
|
+
]);
|
|
53793
|
+
const list = lists?.[GMX_CHAIN]?.list ?? {};
|
|
53641
53794
|
const rData = {};
|
|
53642
|
-
|
|
53643
|
-
const a = addr4.toLowerCase();
|
|
53644
|
-
if (a === gmx_eth_usd_address) rData[gmx_eth_usd] = apyToApr(d.apy) * 100;
|
|
53645
|
-
if (a === gmx_btc_usd_address) rData[gmx_btc_usd] = apyToApr(d.apy) * 100;
|
|
53646
|
-
}
|
|
53647
|
-
for (const [addr4, d] of Object.entries(apy.glvs ?? {})) {
|
|
53795
|
+
const put = (addr4, d) => {
|
|
53648
53796
|
const a = addr4.toLowerCase();
|
|
53649
|
-
|
|
53650
|
-
|
|
53651
|
-
if (
|
|
53652
|
-
|
|
53653
|
-
|
|
53797
|
+
const apr = apyToApr(d.apy) * 100;
|
|
53798
|
+
const group = list[a]?.assetGroup;
|
|
53799
|
+
if (group) rData[group] = apr;
|
|
53800
|
+
const legacy = LEGACY_KEYS[a];
|
|
53801
|
+
if (legacy && legacy !== group) rData[legacy] = apr;
|
|
53802
|
+
};
|
|
53803
|
+
for (const [addr4, d] of Object.entries(apy.markets ?? {})) put(addr4, d);
|
|
53804
|
+
for (const [addr4, d] of Object.entries(apy.glvs ?? {})) put(addr4, d);
|
|
53654
53805
|
return rData;
|
|
53655
53806
|
}
|
|
53656
53807
|
};
|
|
@@ -54275,6 +54426,28 @@ var INTRINSIC_FETCHERS = (() => {
|
|
|
54275
54426
|
return [...seen];
|
|
54276
54427
|
})();
|
|
54277
54428
|
|
|
54429
|
+
// src/yields/intrinsic/receipts.ts
|
|
54430
|
+
var RECEIPT_CHAINS = ["42161", "5000", "80094"];
|
|
54431
|
+
async function propagateReceiptYields(intrinsicYields) {
|
|
54432
|
+
let lists;
|
|
54433
|
+
try {
|
|
54434
|
+
lists = await getListsMulti(RECEIPT_CHAINS);
|
|
54435
|
+
} catch {
|
|
54436
|
+
return;
|
|
54437
|
+
}
|
|
54438
|
+
for (const chainId of RECEIPT_CHAINS) {
|
|
54439
|
+
const list = lists?.[chainId]?.list ?? {};
|
|
54440
|
+
for (const token of Object.values(list)) {
|
|
54441
|
+
const receipt = token?.props?.receipt;
|
|
54442
|
+
if (!receipt?.underlying || !token.assetGroup) continue;
|
|
54443
|
+
if (intrinsicYields[token.assetGroup] !== void 0) continue;
|
|
54444
|
+
const underlying = list[String(receipt.underlying).toLowerCase()];
|
|
54445
|
+
const rate = underlying?.assetGroup ? intrinsicYields[underlying.assetGroup] : void 0;
|
|
54446
|
+
if (rate !== void 0) intrinsicYields[token.assetGroup] = rate;
|
|
54447
|
+
}
|
|
54448
|
+
}
|
|
54449
|
+
}
|
|
54450
|
+
|
|
54278
54451
|
// src/yields/intrinsic/index.ts
|
|
54279
54452
|
async function fetchIntrinsicYields() {
|
|
54280
54453
|
const wstethPromise = safeFetch(wstethFetcher.label, wstethFetcher.fetch);
|
|
@@ -54289,6 +54462,7 @@ async function fetchIntrinsicYields() {
|
|
|
54289
54462
|
for (const result of results) {
|
|
54290
54463
|
if (result) Object.assign(intrinsicYields, result);
|
|
54291
54464
|
}
|
|
54465
|
+
await propagateReceiptYields(intrinsicYields);
|
|
54292
54466
|
return intrinsicYields;
|
|
54293
54467
|
}
|
|
54294
54468
|
|
|
@@ -81239,6 +81413,6 @@ function earnPositionTotals(items) {
|
|
|
81239
81413
|
};
|
|
81240
81414
|
}
|
|
81241
81415
|
|
|
81242
|
-
export { ApiBookSource, DEFAULT_MIDNIGHT_API, DEFAULT_OUTLIER_GUARD, DEFAULT_PROFILE_ID, DEFAULT_STALE_REJECT_SECONDS, DEFAULT_TERMMAX_API, DEFAULT_TERM_ORDER_STORE, EARN_DESCRIPTIONS, EARN_LABELS, EARN_RATE_SOURCE_BY_PROVIDER, EMPTY_BALANCE, EXACTLY_LENDER_KEY, FLYING_TULIP_LENDER_KEY, FRACTION_RATE_PROVIDERS, GMX_API_HOSTS, GMX_READ_CONTRACTS, GMX_SUPPORTED_CHAINS, HYPERCORE_VAULT_REGISTRY, IDLE_MARKET_ID, INTERFACE_IDS, LAGOON_API_URL, LAGOON_CHAIN_IDS, MORPHO_LENS, MULTICALL_FAILURE, MaxParamThresholds, PASSTHROUGH_RATE_EPSILON, PENDLE_ASSETS_URL, PENDLE_CHAIN_IDS, PENDLE_MARKETS_URL, SDK_FRACTION_RATE_PROVIDERS, SPECTRA_NETWORKS, SPECTRA_RATE_MAX_PERCENT, SPECTRA_RATE_MIN_PERCENT, STABLECOIN_SYMBOLS, STCELO_MANAGER_ADDRESS, TELLER_CALLS_PER_BID, DECIMAL_BASE as TERMMAX_DECIMAL_BASE, TERMMAX_LIQUIDATION_PENALTY, TERMMAX_LIQUIDATION_WINDOW_SECS, TERMMAX_LIQUIDATOR_BONUS, TERMMAX_MARKETS_PER_CALL, TERMMAX_PARTIAL_CLOSE_FACTOR, TERMMAX_PARTIAL_LIQUIDATION_THRESHOLD_USD, TERM_ADAPTERS, TERM_PROFILES, TERM_SHEET_SCHEMA_VERSION, TermMaxApiSource, TermSubgraphSource, UPSHIFT_CHAIN_IDS, UPSHIFT_VAULTS_URL, VAULT_PROVIDERS, VAULT_PROVIDER_PROFILE, VAULT_PROVIDER_TRAITS, VAULT_SHARE_PRICE_PROBE, VAULT_VENUE_PREFIX, VOLATILE_VAULT_OVERRIDES, YEARN_CHAIN_IDS, YEARN_YDAEMON_BASE, __resetResupplyUserCaches, accountDepositListKey, accountWithdrawalListKey, appendSnapshot, applyEarnSanity, applyPositionDelta, attachImplications, attachPricesToFlashLiquidity, borrowDescription, borrowFindings, borrowHeadline, buildExposures2 as buildExposures, buildFluidFTokensCall, buildLendingPositionUid, buildLiquityUserCall, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, buildTellerUserCall, buildTermMaxUserCall, buildTermSheet, buildTermSheetsForGroup, buildVaultEarnUid, buildVaultLookup, buildVaultTermSheet, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, classifyFreshness, classifyReliability, classifyVault, clearPendleMarketsCache, clearSpectraMarketsCache, collateralSymbolsByVenue, collectFeedObservations, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeVaultApr, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, consensusReference, convertCoolerMarketsToResponse, convertDssMarketsToResponse, convertExactlyMarketsToResponse, convertFlyingTulipMarketsToResponse, convertFrankencoinMarketsToResponse, convertFraxlendPairsToResponse, convertInverseMarketsToResponse, convertLenderUserDataResult, convertLiquityMarketsToResponse, convertLlamaLendMarketsToResponse, convertResupplyMarketsToResponse, convertRiverMarketsToResponse, convertTellerMarketsToResponse, convertTermMarketsToResponse, convertTermMaxMarketsToResponse, convertUsddMarketsToResponse, createMarketUid, createMidnightBookSource, createMulticallRpcCall, createRawRpcCalls, createTermBookSource, createTermMaxDataSource, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, deriveBorrowTags, deriveSupplyTags, detectInterfaceKinds, dexResolverFor, disambiguateEarnNames, dssIlkBytes32, dssKeyParts, dssLenderKey, duration, earnDescription, earnLabel, earnMarketFromPool, earnMarketFromVault, earnMarketLabel, earnPositionFromLenderEntry, earnPositionFromVaultBalance, earnPositionTotals, earnRateAtMaturity, earnRowSubtitle, earnUidFromMarketUid, earnVaultTerms, earnVenueKind, encodeBalanceFetcherCalldata, enrichTermSheet, enrichmentIndexFromRows, exactlyPairLtv, exactlyPenaltyRateToAprPercent, exactlyWadRateToPercent, feePhrase, feedKeyOf, feedStatKey, fetchCoolerMarkets, fetchDolomiteAccountNumbers, fetchDssMarkets, fetchEulerEarnVaults, fetchEulerEarnVaultsFromSubgraph, fetchEulerSubAccountIndexes, fetchExactlyMarkets, fetchFlashLiquidityForChain, fetchFluidDexState, fetchFluidFTokens, fetchFlyingTulipMarkets, fetchFrankencoinMarkets, fetchFraxlendPairs, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchGmxExecutionFees, fetchGmxTickerPrices, fetchGmxVaults, fetchHypercoreVaults, fetchInverseMarkets, fetchLagoonApiVaults, fetchLagoonVaults, fetchLiquityMarkets, fetchListaVaultsFromChain, fetchLlamaLendMarkets, fetchMorphoUserBalances, fetchMorphoUserPositionMarkets, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromChain, fetchOraclePrices, fetchPendleApiAssets, fetchPendleApiMarkets, fetchPendlePrices, fetchPendlePtMarkets, fetchResupplyMarkets, fetchRiverMarkets, fetchSiloVaults, fetchSpectraApiMarkets, fetchSpectraPtMarkets, fetchTellerMarkets, fetchTermMarkets, fetchTermMaxMarkets, fetchTermStoreOrders, fetchTokenBalances, fetchTokenMetadata, fetchUpshiftApiVaults, fetchUpshiftVaults, fetchUsddMarkets, fetchYearnApiVaults, fetchYearnVaults, fillableRemaining, filterActiveLenders, filterLendersByProtocol, finalizeInfo, findingsFor, formatRaw, frankencoinKeyParts, frankencoinLenderKey, fraxlendAssetPerCollateral, fraxlendKeyParts, fraxlendLenderKey, fuseLenderData, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getCachedFluidDexState, getCachedLiquityTroves, getCachedTellerBids, getCachedTermMaxDiscovery, getCachedTermMaxMarket, getCachedTermMaxMarkets, getCoreValidators, getFluidFTokensConverter, getGmxApiHost, getGmxReadContracts, getGmxUserPositions, getHealthFactor, getHypercoreUserPositions, getHypercoreVaultRegistry, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getLstDelegation, getLstValidators, getLstWithdrawalRegistry, getLstWithdrawalRequests, getMaxAmountClose, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getReadFailurePolicy, getResolvedDolomiteAccountNumbers, getStCeloValidatorGroups, getSubAccountAddress, getSubAccountIndex, getTermProfile, getVaultPublicDataAll, getVaultWithdrawalRequests, hasCritical, hasEulerEarnVaultSubgraph, hasLagoonVaults, hasMorphoPositionIndex, hasMorphoUserApi, hasMorphoUserSubgraph, hasPendleMarkets, hasSpectraMarkets, hasUpshiftVaults, hasYearnVaults, ilkToKeySegment, implausibleRatePercent, inverseKeyParts, inverseLenderKey, isBoundNeed, isFailedCall, isIlliquid, isLendingPosition, isLiveMarket as isLivePendleMarket, isLiveSpectraMarket, isMaturedTerm, isSecondaryMarketOnly, isStablecoinSymbol, isUnearnableEarnRate, isUnrealizableEarnRate, isVaultPosition, isVaultVenue, isYearnV3, keySegmentToIlk, keysFromMaps, lenderApiOnly, lenderFamily, liquityCandidateTroveIds, liquityKeyParts, liquityLenderKey, llamaLendKeyParts, llamaLendLenderKey, meetsLiquidityFloor, mergeDeep, multicall3Abi2 as multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, organizeUserQueries, parseBalanceFetcherResult, parseEarnUid, parseMergedResult, parseMulticallRpcResponses, parseExpirySeconds as parsePendleExpirySeconds, parseRawRpcBatchResponses, parseRawRpcResponses, parseCurveFee as parseSpectraCurveFee, parsePtRate as parseSpectraPtRate, parseTermMaxLtv, parseTokenBalanceResult, pct, assetKey as pendleAssetKey, pickPool as pickSpectraPool, positivePart2 as positivePart, predictInverseEscrow, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, priceGlvVaults, priceGmMarkets, probeAaveFeedTimestamps, pruneFeedStats, rankFindings, ratePercent, readVaultSharePrices, rejectOutliers as rejectPriceOutliers, repairImpossibleTvl, resolveAdapter, resolveDerivation, resolveEarnIdentity, resolveModeConfig, resolveStCeloDepositGroup, resolveVaultProfileId, resupplyKeyParts, resupplyLenderKey, resupplyMarketLabel, riverKeyParts, riverLenderKey, sanePercent as saneSpectraPercent, savingsAddresses, savingsBalanceKind, secondaryMarketVault, selectAssetGroupPrices, setMysticApiKey, shortDate, spectraAddress, spectraNetwork, spectraPoolsUrl, splitChainScopedAddress as splitPendleChainScopedAddress, stampCapabilities, stampEarnSubtitles, stampVaultClassification, stampVaultTermSheets, stripLeadingBrand, supplyDescription, supplyFindings, supplyHeadline, swapRoutedProvidersArePriceConsistent, tellerBpsToPercent, tellerImpliedLtv, tellerLenderKey, tellerPoolFromLenderKey, termApiBaseUrl, termLenderKey, termMaxApiBase, borrowNif as termMaxBorrowNif, curveApr as termMaxCurveApr, curveAprNumber as termMaxCurveAprNumber, daysToMaturity as termMaxDaysToMaturity, lendNif as termMaxLendNif, mintGtFeeRatio as termMaxMintGtFeeRatio, ratioToNumber as termMaxRatioToNumber, ratioToPercent as termMaxRatioToPercent, termOfferRateToAprPct, termOrderStoreBaseUrl, tickToAprNumber, tickToPrice, toDigest, toTermFillNow, toTermSheetInput, toVaultTermInput, trancheFromCounterparty, tryParseEarnUid, unflattenLenderData, updateFeedStats, usdValue, usddIlkBytes32, usddKeyParts, usddLenderKey, validateTermSheet, validateTermSheets, validateUserData, vaultSharesToAssets, vaultTermInputFromEarnMarket, vaultTermInputFromSourceRow, vaultTraits, vaultVenue, venueBrand, venueBrandKey, withMaturityLabel, withTrancheLabel };
|
|
81416
|
+
export { ApiBookSource, DEFAULT_MIDNIGHT_API, DEFAULT_OUTLIER_GUARD, DEFAULT_PROFILE_ID, DEFAULT_STALE_REJECT_SECONDS, DEFAULT_TERMMAX_API, DEFAULT_TERM_ORDER_STORE, DOLOMITE_ISO_ID_PREFIX, EARN_DESCRIPTIONS, EARN_LABELS, EARN_RATE_SOURCE_BY_PROVIDER, EMPTY_BALANCE, EXACTLY_LENDER_KEY, FLYING_TULIP_LENDER_KEY, FRACTION_RATE_PROVIDERS, GMX_API_HOSTS, GMX_READ_CONTRACTS, GMX_SUPPORTED_CHAINS, HYPERCORE_VAULT_REGISTRY, IDLE_MARKET_ID, INTERFACE_IDS, LAGOON_API_URL, LAGOON_CHAIN_IDS, MORPHO_LENS, MULTICALL_FAILURE, MaxParamThresholds, PASSTHROUGH_RATE_EPSILON, PENDLE_ASSETS_URL, PENDLE_CHAIN_IDS, PENDLE_MARKETS_URL, SDK_FRACTION_RATE_PROVIDERS, SPECTRA_NETWORKS, SPECTRA_RATE_MAX_PERCENT, SPECTRA_RATE_MIN_PERCENT, STABLECOIN_SYMBOLS, STCELO_MANAGER_ADDRESS, TELLER_CALLS_PER_BID, DECIMAL_BASE as TERMMAX_DECIMAL_BASE, TERMMAX_LIQUIDATION_PENALTY, TERMMAX_LIQUIDATION_WINDOW_SECS, TERMMAX_LIQUIDATOR_BONUS, TERMMAX_MARKETS_PER_CALL, TERMMAX_PARTIAL_CLOSE_FACTOR, TERMMAX_PARTIAL_LIQUIDATION_THRESHOLD_USD, TERM_ADAPTERS, TERM_PROFILES, TERM_SHEET_SCHEMA_VERSION, TermMaxApiSource, TermSubgraphSource, UPSHIFT_CHAIN_IDS, UPSHIFT_VAULTS_URL, VAULT_PROVIDERS, VAULT_PROVIDER_PROFILE, VAULT_PROVIDER_TRAITS, VAULT_SHARE_PRICE_PROBE, VAULT_VENUE_PREFIX, VOLATILE_VAULT_OVERRIDES, YEARN_CHAIN_IDS, YEARN_YDAEMON_BASE, __resetResupplyUserCaches, accountDepositListKey, accountWithdrawalListKey, appendSnapshot, applyEarnSanity, applyPositionDelta, attachImplications, attachPricesToFlashLiquidity, borrowDescription, borrowFindings, borrowHeadline, buildExposures2 as buildExposures, buildFluidFTokensCall, buildLendingPositionUid, buildLiquityUserCall, buildLoopResult, buildMorphoTypeCall, buildMorphoTypeUserCallWithLens, buildPortfolioTotals, buildSumerAccumulators, buildSummaries, buildTellerUserCall, buildTermMaxUserCall, buildTermSheet, buildTermSheetsForGroup, buildVaultEarnUid, buildVaultLookup, buildVaultTermSheet, calculateLeverage, calculateNetApr, calculateOverallNetApr, calculateWeightedAverage, classifyFreshness, classifyReliability, classifyVault, clearPendleMarketsCache, clearSpectraMarketsCache, collateralSymbolsByVenue, collectFeedObservations, computeBorrowDelta2 as computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta2 as computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta2 as computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeVaultApr, computeWithdrawDelta2 as computeWithdrawDelta, computeZapTradeDeltas, consensusReference, convertCoolerMarketsToResponse, convertDssMarketsToResponse, convertExactlyMarketsToResponse, convertFlyingTulipMarketsToResponse, convertFrankencoinMarketsToResponse, convertFraxlendPairsToResponse, convertInverseMarketsToResponse, convertLenderUserDataResult, convertLiquityMarketsToResponse, convertLlamaLendMarketsToResponse, convertResupplyMarketsToResponse, convertRiverMarketsToResponse, convertTellerMarketsToResponse, convertTermMarketsToResponse, convertTermMaxMarketsToResponse, convertUsddMarketsToResponse, createMarketUid, createMidnightBookSource, createMulticallRpcCall, createRawRpcCalls, createTermBookSource, createTermMaxDataSource, decodeListaMarkets, decodeMarkets, decodePackedListaUserDataset, decodePackedMorphoUserDataset, deriveBorrowTags, deriveSupplyTags, detectInterfaceKinds, dexResolverFor, disambiguateEarnNames, dssIlkBytes32, dssKeyParts, dssLenderKey, duration, earnDescription, earnLabel, earnMarketFromPool, earnMarketFromVault, earnMarketLabel, earnPositionFromLenderEntry, earnPositionFromVaultBalance, earnPositionTotals, earnRateAtMaturity, earnRowSubtitle, earnUidFromMarketUid, earnVaultTerms, earnVenueKind, encodeBalanceFetcherCalldata, enrichTermSheet, enrichmentIndexFromRows, exactlyPairLtv, exactlyPenaltyRateToAprPercent, exactlyWadRateToPercent, feePhrase, feedKeyOf, feedStatKey, fetchCoolerMarkets, fetchDolomiteAccountNumbers, fetchDolomiteSubAccounts, fetchDssMarkets, fetchEulerEarnVaults, fetchEulerEarnVaultsFromSubgraph, fetchEulerSubAccountIndexes, fetchExactlyMarkets, fetchFlashLiquidityForChain, fetchFluidDexState, fetchFluidFTokens, fetchFlyingTulipMarkets, fetchFrankencoinMarkets, fetchFraxlendPairs, fetchGeneralYields, fetchGeneralYieldsByMarketUid, fetchGmxExecutionFees, fetchGmxTickerPrices, fetchGmxVaults, fetchHypercoreVaults, fetchInverseMarkets, fetchLagoonApiVaults, fetchLagoonVaults, fetchLiquityMarkets, fetchListaVaultsFromChain, fetchLlamaLendMarkets, fetchMorphoUserBalances, fetchMorphoUserPositionMarkets, fetchMorphoVaults, fetchMorphoVaultsFromApi, fetchMorphoVaultsFromChain, fetchOraclePrices, fetchPendleApiAssets, fetchPendleApiMarkets, fetchPendlePrices, fetchPendlePtMarkets, fetchResupplyMarkets, fetchRiverMarkets, fetchSiloVaults, fetchSpectraApiMarkets, fetchSpectraPtMarkets, fetchTellerMarkets, fetchTermMarkets, fetchTermMaxMarkets, fetchTermStoreOrders, fetchTokenBalances, fetchTokenMetadata, fetchUpshiftApiVaults, fetchUpshiftVaults, fetchUsddMarkets, fetchYearnApiVaults, fetchYearnVaults, fillableRemaining, filterActiveLenders, filterLendersByProtocol, finalizeInfo, findingsFor, formatRaw, frankencoinKeyParts, frankencoinLenderKey, fraxlendAssetPerCollateral, fraxlendKeyParts, fraxlendLenderKey, fuseLenderData, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, getCachedFluidDexState, getCachedLiquityTroves, getCachedTellerBids, getCachedTermMaxDiscovery, getCachedTermMaxMarket, getCachedTermMaxMarkets, getCoreValidators, getFluidFTokensConverter, getGmxApiHost, getGmxReadContracts, getGmxUserPositions, getHealthFactor, getHypercoreUserPositions, getHypercoreVaultRegistry, getLenderAssets, getLenderPublicData, getLenderPublicDataAll, getLenderPublicDataViaApi, getLenderUserDataMulti, getLenderUserDataResult, getLendersForChain, getLstDelegation, getLstValidators, getLstWithdrawalRegistry, getLstWithdrawalRequests, getMaxAmountClose, getMaxAmountCollateralSwap, getMaxAmountDebtSwap, getMaxAmountOpen, getMergedUserData, getMorphoTypeMarketConverter, getReadFailurePolicy, getResolvedDolomiteAccountNumbers, getResolvedDolomiteSubAccounts, getStCeloValidatorGroups, getSubAccountAddress, getSubAccountIndex, getTermProfile, getVaultPublicDataAll, getVaultWithdrawalRequests, hasCritical, hasEulerEarnVaultSubgraph, hasLagoonVaults, hasMorphoPositionIndex, hasMorphoUserApi, hasMorphoUserSubgraph, hasPendleMarkets, hasSpectraMarkets, hasUpshiftVaults, hasYearnVaults, ilkToKeySegment, implausibleRatePercent, inverseKeyParts, inverseLenderKey, isBoundNeed, isFailedCall, isIlliquid, isLendingPosition, isLiveMarket as isLivePendleMarket, isLiveSpectraMarket, isMaturedTerm, isSecondaryMarketOnly, isStablecoinSymbol, isUnearnableEarnRate, isUnrealizableEarnRate, isVaultPosition, isVaultVenue, isYearnV3, keySegmentToIlk, keysFromMaps, lenderApiOnly, lenderFamily, liquityCandidateTroveIds, liquityKeyParts, liquityLenderKey, llamaLendKeyParts, llamaLendLenderKey, meetsLiquidityFloor, mergeDeep, multicall3Abi2 as multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, organizeUserQueries, parseBalanceFetcherResult, parseDolomiteSubAccountId, parseEarnUid, parseMergedResult, parseMulticallRpcResponses, parseExpirySeconds as parsePendleExpirySeconds, parseRawRpcBatchResponses, parseRawRpcResponses, parseCurveFee as parseSpectraCurveFee, parsePtRate as parseSpectraPtRate, parseTermMaxLtv, parseTokenBalanceResult, pct, assetKey as pendleAssetKey, pickPool as pickSpectraPool, positivePart2 as positivePart, predictInverseEscrow, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, priceGlvVaults, priceGmMarkets, probeAaveFeedTimestamps, pruneFeedStats, rankFindings, ratePercent, readVaultSharePrices, rejectOutliers as rejectPriceOutliers, repairImpossibleTvl, resolveAdapter, resolveDerivation, resolveDolomiteRowIdentity, resolveEarnIdentity, resolveModeConfig, resolveStCeloDepositGroup, resolveVaultProfileId, resupplyKeyParts, resupplyLenderKey, resupplyMarketLabel, riverKeyParts, riverLenderKey, sanePercent as saneSpectraPercent, savingsAddresses, savingsBalanceKind, secondaryMarketVault, selectAssetGroupPrices, setMysticApiKey, shortDate, spectraAddress, spectraNetwork, spectraPoolsUrl, splitChainScopedAddress as splitPendleChainScopedAddress, stampCapabilities, stampEarnSubtitles, stampVaultClassification, stampVaultTermSheets, stripLeadingBrand, supplyDescription, supplyFindings, supplyHeadline, swapRoutedProvidersArePriceConsistent, tellerBpsToPercent, tellerImpliedLtv, tellerLenderKey, tellerPoolFromLenderKey, termApiBaseUrl, termLenderKey, termMaxApiBase, borrowNif as termMaxBorrowNif, curveApr as termMaxCurveApr, curveAprNumber as termMaxCurveAprNumber, daysToMaturity as termMaxDaysToMaturity, lendNif as termMaxLendNif, mintGtFeeRatio as termMaxMintGtFeeRatio, ratioToNumber as termMaxRatioToNumber, ratioToPercent as termMaxRatioToPercent, termOfferRateToAprPct, termOrderStoreBaseUrl, tickToAprNumber, tickToPrice, toDigest, toDolomiteSubAccountId, toTermFillNow, toTermSheetInput, toVaultTermInput, trancheFromCounterparty, tryParseEarnUid, unflattenLenderData, updateFeedStats, usdValue, usddIlkBytes32, usddKeyParts, usddLenderKey, validateTermSheet, validateTermSheets, validateUserData, vaultSharesToAssets, vaultTermInputFromEarnMarket, vaultTermInputFromSourceRow, vaultTraits, vaultVenue, venueBrand, venueBrandKey, withMaturityLabel, withTrancheLabel };
|
|
81243
81417
|
//# sourceMappingURL=index.js.map
|
|
81244
81418
|
//# sourceMappingURL=index.js.map
|