@1delta/margin-fetcher 5.0.41 → 5.0.42
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 +238 -10
- package/dist/index.js +201 -127
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { fetchTokenLists, fetchTokenList, aavePools, compoundV3Pools, initConfig
|
|
|
7
7
|
import lodash from 'lodash';
|
|
8
8
|
import { Chain } from '@1delta/chain-registry';
|
|
9
9
|
import { multicallRetryUniversal, getEvmClient, getEvmChain, getEvmClientUniversal } from '@1delta/providers';
|
|
10
|
-
import { LiquityTroveManagerAbi, LiquityActivePoolAbi, LiquityStabilityPoolAbi, LiquityPriceFeedAbi, LiquitySortedTrovesAbi, RiverTroveManagerAbi, RiverStabilityPoolAbi, TellerMarketRegistryAbi, TellerV2Abi, InverseMarketAbi, InverseOracleAbi, InverseDbrAbi, Erc20Abi, LlamaLendControllerAbi, LlamaLendControllerV1Abi, LlamaLendControllerV2Abi, LlamaLendVaultAbi, LlamaLendAmmAbi, MetaMorphoAbi, ExactlyPreviewerAbi, ExactlyAuditorAbi, LenderCommitmentGroupAbi, ResupplyRegistryAbi, ResupplyPairAbi, ResupplyUtilitiesAbi, ResupplyRewardHandlerAbi, ResupplyPairEmissionsAbi, ConvexPoolUtilAbi, FraxlendPairAbi, FraxlendLeverAbi, FrankencoinPositionAbi, FluidLendingResolverAbi, FluidVaultResolverAbi, FluidLiquidityResolverAbi, MoolahVaultAbi, UsddVatAbi, UsddJugAbi, UsddSpotAbi, MorphoLensAbi, AaveV4SpokeAbi, AaveV4OracleAbi, AaveV4HubAbi, DolomiteMarginAbi, GearboxMarketCompressorV310Abi,
|
|
10
|
+
import { LiquityTroveManagerAbi, LiquityActivePoolAbi, LiquityStabilityPoolAbi, LiquityPriceFeedAbi, LiquitySortedTrovesAbi, RiverTroveManagerAbi, RiverStabilityPoolAbi, TellerMarketRegistryAbi, TellerV2Abi, InverseMarketAbi, InverseOracleAbi, InverseDbrAbi, Erc20Abi, LlamaLendControllerAbi, LlamaLendControllerV1Abi, LlamaLendControllerV2Abi, LlamaLendVaultAbi, LlamaLendAmmAbi, MetaMorphoAbi, FluidDexResolverAbi, ExactlyPreviewerAbi, ExactlyAuditorAbi, LenderCommitmentGroupAbi, ResupplyRegistryAbi, ResupplyPairAbi, ResupplyUtilitiesAbi, ResupplyRewardHandlerAbi, ResupplyPairEmissionsAbi, ConvexPoolUtilAbi, FraxlendPairAbi, FraxlendLeverAbi, FrankencoinPositionAbi, FluidLendingResolverAbi, FluidVaultResolverAbi, FluidLiquidityResolverAbi, MoolahVaultAbi, UsddVatAbi, UsddJugAbi, UsddSpotAbi, MorphoLensAbi, AaveV4SpokeAbi, AaveV4OracleAbi, AaveV4HubAbi, DolomiteMarginAbi, GearboxMarketCompressorV310Abi, MorphoBlueAbi, MidnightAbi, TermRepoTokenAbi, TermRepoServicerAbi, TermRepoCollateralManagerAbi, LiquityTroveNFTAbi, LiquityCollSurplusPoolAbi, TellerCollateralManagerAbi, TermMaxViewerAbi, InverseEscrowAbi, CurvanceMarketManagerAbi, CurvanceCTokenAbi, GearboxCreditAccountCompressorV310Abi, UsddCdpManagerAbi, UsddProxyRegistryAbi, CurvanceProtocolReaderAbi, CurvanceCentralRegistryAbi, TermPriceConsumerAbi, CurvanceOracleManagerAbi, TermMaxOracleAggregatorV2Abi } from '@1delta/abis';
|
|
11
11
|
export { MorphoLensAbi } from '@1delta/abis';
|
|
12
12
|
import { prepareDebitDataMulticall, prepareLenderDebitMulticall, parseDebitDataResult, parseLenderDebitResult, getPermit2ContractAddress, getLstAcceptedInputs, getCompoundV3CometAddress as getCompoundV3CometAddress$1, getMorphoAddress, getAaveCollateralTokenAddress, getSiloHalfForUnderlying, bandLtvCurve, InitMarginAddresses } from '@1delta/calldata-sdk';
|
|
13
13
|
import { proxyNativeFetch } from '@1delta/proxy-fetch';
|
|
@@ -11574,12 +11574,12 @@ function rateToApy(rate) {
|
|
|
11574
11574
|
);
|
|
11575
11575
|
}
|
|
11576
11576
|
function parseLtv(ltv) {
|
|
11577
|
-
let
|
|
11577
|
+
let str8 = 0;
|
|
11578
11578
|
try {
|
|
11579
|
-
|
|
11579
|
+
str8 = Number(formatUnits(BigInt(ltv), 18));
|
|
11580
11580
|
} catch (e) {
|
|
11581
11581
|
}
|
|
11582
|
-
return
|
|
11582
|
+
return str8;
|
|
11583
11583
|
}
|
|
11584
11584
|
function liquidationPenaltyFromLltv(lltv) {
|
|
11585
11585
|
if (!lltv || lltv <= 0) return 0;
|
|
@@ -62629,6 +62629,23 @@ var fetchAaveEarnVaults = async (chainId, multicallRetry, prices = {}, tokenList
|
|
|
62629
62629
|
// src/vaults/upshift/fetchPublic.ts
|
|
62630
62630
|
var num8 = (v) => typeof v === "number" && Number.isFinite(v) ? v : null;
|
|
62631
62631
|
var isEvmAddress = (a) => /^0x[0-9a-fA-F]{40}$/.test(a);
|
|
62632
|
+
var str4 = (v) => {
|
|
62633
|
+
const s = typeof v === "string" ? v.trim() : "";
|
|
62634
|
+
return s ? s : void 0;
|
|
62635
|
+
};
|
|
62636
|
+
var UNCAPPED_SENTINEL = 1e12;
|
|
62637
|
+
var deriveDepositCapacity = (v, totalAssetsRaw) => {
|
|
62638
|
+
const cap = v.depositCap ?? v.maxSupply;
|
|
62639
|
+
const normalized = Number(cap?.normalized);
|
|
62640
|
+
if (!cap?.raw || !Number.isFinite(normalized)) return void 0;
|
|
62641
|
+
if (normalized >= UNCAPPED_SENTINEL) return void 0;
|
|
62642
|
+
try {
|
|
62643
|
+
const remaining = BigInt(cap.raw) - BigInt(totalAssetsRaw);
|
|
62644
|
+
return remaining > 0n ? remaining.toString() : "0";
|
|
62645
|
+
} catch {
|
|
62646
|
+
return void 0;
|
|
62647
|
+
}
|
|
62648
|
+
};
|
|
62632
62649
|
var derivePricePerShare = (totalAssetsRaw, totalSupplyRaw, shareDecimals) => {
|
|
62633
62650
|
try {
|
|
62634
62651
|
const supply = BigInt(totalSupplyRaw);
|
|
@@ -62665,6 +62682,18 @@ function parseVault8(v, chainId, prices, tokenList) {
|
|
|
62665
62682
|
const totalAssetsUsd = apiTvlUsd || totalAssetsFormatted * priceUsd;
|
|
62666
62683
|
const name = (v.name ?? "").trim();
|
|
62667
62684
|
const symbol = (v.receipt?.symbol ?? "").trim();
|
|
62685
|
+
const strategist = (v.strategists ?? []).find((s) => str4(s?.name));
|
|
62686
|
+
const curatorName = str4(strategist?.name);
|
|
62687
|
+
const performanceStanding = num8(v.fees?.performance) ?? 0;
|
|
62688
|
+
const managementStanding = num8(v.fees?.management) ?? 0;
|
|
62689
|
+
const performanceWaived = v.fees?.isPerformanceWaived === true;
|
|
62690
|
+
const managementWaived = v.fees?.isManagementWaived === true;
|
|
62691
|
+
const instant = v.instant_redeem_config;
|
|
62692
|
+
const instantRedeemEnabled = !!instant && instant.isPaused !== true;
|
|
62693
|
+
const spreadBps = instantRedeemEnabled ? Math.max(
|
|
62694
|
+
0,
|
|
62695
|
+
...(instant?.redeemableAssets ?? []).map((a) => num8(a?.spreadBps) ?? 0)
|
|
62696
|
+
) : void 0;
|
|
62668
62697
|
return {
|
|
62669
62698
|
address: receiptAddr,
|
|
62670
62699
|
vaultAddress: vaultAddr,
|
|
@@ -62689,8 +62718,30 @@ function parseVault8(v, chainId, prices, tokenList) {
|
|
|
62689
62718
|
points: num8(v.apy?.pointsApy),
|
|
62690
62719
|
underlying: num8(v.apy?.underlyingApy)
|
|
62691
62720
|
},
|
|
62721
|
+
curatorName,
|
|
62722
|
+
curatorLogoURI: str4(strategist?.logo),
|
|
62723
|
+
description: str4(v.description),
|
|
62724
|
+
version: str4(v.version),
|
|
62725
|
+
fee: performanceWaived ? 0 : performanceStanding,
|
|
62726
|
+
managementFee: managementWaived ? 0 : managementStanding,
|
|
62727
|
+
feeDetail: {
|
|
62728
|
+
performanceStanding,
|
|
62729
|
+
managementStanding,
|
|
62730
|
+
performanceWaived,
|
|
62731
|
+
managementWaived,
|
|
62732
|
+
performanceWaivedUntilDate: str4(v.fees?.performanceFeeWaivedUntilDate),
|
|
62733
|
+
managementWaivedUntilDate: str4(v.fees?.managementFeeWaivedUntilDate)
|
|
62734
|
+
},
|
|
62735
|
+
withdrawalCooldownSeconds: num8(v.lagDuration) ?? 0,
|
|
62736
|
+
...instantRedeemEnabled ? {
|
|
62737
|
+
withdrawalMode: "fee-or-queued",
|
|
62738
|
+
withdrawFeeBps: spreadBps,
|
|
62739
|
+
instantRedeemEnabled: true
|
|
62740
|
+
} : {},
|
|
62692
62741
|
isDepositPaused: v.isDepositPaused ?? false,
|
|
62693
62742
|
isWithdrawalPaused: v.isWithdrawalPaused ?? false,
|
|
62743
|
+
isClosed: v.withdrawalOnly === true,
|
|
62744
|
+
depositCapacity: deriveDepositCapacity(v, totalAssetsRaw),
|
|
62694
62745
|
asset: assetMeta,
|
|
62695
62746
|
priceUsd,
|
|
62696
62747
|
totalAssetsFormatted,
|
|
@@ -64187,7 +64238,7 @@ var fetchGmxVaults = async (chainId, multicallRetry, options) => {
|
|
|
64187
64238
|
// src/vaults/gmx/fetchUser.ts
|
|
64188
64239
|
var DEFAULT_CAP = 50;
|
|
64189
64240
|
var isBig = (v) => typeof v === "bigint";
|
|
64190
|
-
var
|
|
64241
|
+
var str5 = (v) => isBig(v) ? v.toString() : "0";
|
|
64191
64242
|
var getGmxUserPositions = async (chainId, account, multicallRetry, options) => {
|
|
64192
64243
|
const empty = {
|
|
64193
64244
|
chainId,
|
|
@@ -64315,11 +64366,11 @@ var getGmxUserPositions = async (chainId, account, multicallRetry, options) => {
|
|
|
64315
64366
|
market: a.market.toLowerCase(),
|
|
64316
64367
|
initialLongToken: a.initialLongToken.toLowerCase(),
|
|
64317
64368
|
initialShortToken: a.initialShortToken.toLowerCase(),
|
|
64318
|
-
initialLongTokenAmount:
|
|
64319
|
-
initialShortTokenAmount:
|
|
64320
|
-
minOut:
|
|
64321
|
-
executionFee:
|
|
64322
|
-
updatedAtTime:
|
|
64369
|
+
initialLongTokenAmount: str5(n.initialLongTokenAmount),
|
|
64370
|
+
initialShortTokenAmount: str5(n.initialShortTokenAmount),
|
|
64371
|
+
minOut: str5(n.minMarketTokens),
|
|
64372
|
+
executionFee: str5(n.executionFee),
|
|
64373
|
+
updatedAtTime: str5(n.updatedAtTime)
|
|
64323
64374
|
});
|
|
64324
64375
|
});
|
|
64325
64376
|
withdrawalKeys.forEach((key3, i) => {
|
|
@@ -64333,11 +64384,11 @@ var getGmxUserPositions = async (chainId, account, multicallRetry, options) => {
|
|
|
64333
64384
|
account: a.account.toLowerCase(),
|
|
64334
64385
|
receiver: a.receiver.toLowerCase(),
|
|
64335
64386
|
market: a.market.toLowerCase(),
|
|
64336
|
-
tokenAmount:
|
|
64337
|
-
minLongTokenAmount:
|
|
64338
|
-
minShortTokenAmount:
|
|
64339
|
-
executionFee:
|
|
64340
|
-
updatedAtTime:
|
|
64387
|
+
tokenAmount: str5(n.marketTokenAmount),
|
|
64388
|
+
minLongTokenAmount: str5(n.minLongTokenAmount),
|
|
64389
|
+
minShortTokenAmount: str5(n.minShortTokenAmount),
|
|
64390
|
+
executionFee: str5(n.executionFee),
|
|
64391
|
+
updatedAtTime: str5(n.updatedAtTime)
|
|
64341
64392
|
});
|
|
64342
64393
|
});
|
|
64343
64394
|
const glvDeposits = Array.isArray(glvRes[0]) ? glvRes[0] : [];
|
|
@@ -64354,11 +64405,11 @@ var getGmxUserPositions = async (chainId, account, multicallRetry, options) => {
|
|
|
64354
64405
|
glv: a.glv.toLowerCase(),
|
|
64355
64406
|
initialLongToken: a.initialLongToken.toLowerCase(),
|
|
64356
64407
|
initialShortToken: a.initialShortToken.toLowerCase(),
|
|
64357
|
-
initialLongTokenAmount:
|
|
64358
|
-
initialShortTokenAmount:
|
|
64359
|
-
minOut:
|
|
64360
|
-
executionFee:
|
|
64361
|
-
updatedAtTime:
|
|
64408
|
+
initialLongTokenAmount: str5(n.initialLongTokenAmount),
|
|
64409
|
+
initialShortTokenAmount: str5(n.initialShortTokenAmount),
|
|
64410
|
+
minOut: str5(n.minGlvTokens),
|
|
64411
|
+
executionFee: str5(n.executionFee),
|
|
64412
|
+
updatedAtTime: str5(n.updatedAtTime)
|
|
64362
64413
|
});
|
|
64363
64414
|
}
|
|
64364
64415
|
for (const w of glvWithdrawals) {
|
|
@@ -64371,11 +64422,11 @@ var getGmxUserPositions = async (chainId, account, multicallRetry, options) => {
|
|
|
64371
64422
|
receiver: a.receiver.toLowerCase(),
|
|
64372
64423
|
market: a.market.toLowerCase(),
|
|
64373
64424
|
glv: a.glv.toLowerCase(),
|
|
64374
|
-
tokenAmount:
|
|
64375
|
-
minLongTokenAmount:
|
|
64376
|
-
minShortTokenAmount:
|
|
64377
|
-
executionFee:
|
|
64378
|
-
updatedAtTime:
|
|
64425
|
+
tokenAmount: str5(n.glvTokenAmount),
|
|
64426
|
+
minLongTokenAmount: str5(n.minLongTokenAmount),
|
|
64427
|
+
minShortTokenAmount: str5(n.minShortTokenAmount),
|
|
64428
|
+
executionFee: str5(n.executionFee),
|
|
64429
|
+
updatedAtTime: str5(n.updatedAtTime)
|
|
64379
64430
|
});
|
|
64380
64431
|
}
|
|
64381
64432
|
return {
|
|
@@ -65886,10 +65937,10 @@ function resolveMinDebt(input) {
|
|
|
65886
65937
|
];
|
|
65887
65938
|
for (const c of candidates) {
|
|
65888
65939
|
if (c == null) continue;
|
|
65889
|
-
const
|
|
65890
|
-
if (
|
|
65891
|
-
if (!/^\d+$/.test(
|
|
65892
|
-
return
|
|
65940
|
+
const str8 = String(c);
|
|
65941
|
+
if (str8 === "0" || str8 === "") continue;
|
|
65942
|
+
if (!/^\d+$/.test(str8)) continue;
|
|
65943
|
+
return str8;
|
|
65893
65944
|
}
|
|
65894
65945
|
return void 0;
|
|
65895
65946
|
}
|
|
@@ -65897,9 +65948,9 @@ function resolveMinCollateral(input) {
|
|
|
65897
65948
|
const m = input.market ?? {};
|
|
65898
65949
|
const raw = m.frankencoin?.minimumCollateral;
|
|
65899
65950
|
if (raw == null) return void 0;
|
|
65900
|
-
const
|
|
65901
|
-
if (
|
|
65902
|
-
return
|
|
65951
|
+
const str8 = String(raw);
|
|
65952
|
+
if (str8 === "0" || str8 === "" || !/^\d+$/.test(str8)) return void 0;
|
|
65953
|
+
return str8;
|
|
65903
65954
|
}
|
|
65904
65955
|
function capUtil(total, cap) {
|
|
65905
65956
|
if (!isNum(cap) || cap <= 0 || !isNum(total)) return void 0;
|
|
@@ -66376,10 +66427,17 @@ var VAULT_PROVIDER_TRAITS = {
|
|
|
66376
66427
|
rateKind: "variable-managed",
|
|
66377
66428
|
rateSource: "api",
|
|
66378
66429
|
rateWindow: { kind: "trailing" },
|
|
66430
|
+
// Every vault requests → settles → claims; the per-vault delay runs 0 to
|
|
66431
|
+
// 30 days and rides on the row as `withdrawalCooldownSeconds`. One vault
|
|
66432
|
+
// (Upshift Clear RWA) declares `fee-or-queued` for its instant leg.
|
|
66379
66433
|
defaultExitMode: "request-based",
|
|
66380
66434
|
priceRisk: "none",
|
|
66381
66435
|
counterpartyKind: "vault-strategy",
|
|
66382
|
-
|
|
66436
|
+
// Upshift publishes a full schedule — performance AND management, per
|
|
66437
|
+
// vault, with waiver flags. Reported `false` while the fetcher dropped
|
|
66438
|
+
// the block, which made every row's empty fee list read as "free" when
|
|
66439
|
+
// one vault charges 20 % + 2 %.
|
|
66440
|
+
reportsPerformanceFee: true,
|
|
66383
66441
|
reportsGovernance: false,
|
|
66384
66442
|
reportsExposures: false,
|
|
66385
66443
|
hasDecomposableBacking: true,
|
|
@@ -66539,6 +66597,19 @@ function buildFees2(input, t) {
|
|
|
66539
66597
|
description: "Taken from the yield the vault earns, not from your principal. The published rate is already net of it."
|
|
66540
66598
|
});
|
|
66541
66599
|
}
|
|
66600
|
+
if (isNum2(input.managementFee) && input.managementFee !== 0) {
|
|
66601
|
+
out.push({
|
|
66602
|
+
id: "management",
|
|
66603
|
+
label: "Management fee",
|
|
66604
|
+
when: "ongoing",
|
|
66605
|
+
unit: "apr-percent",
|
|
66606
|
+
basis: "principal",
|
|
66607
|
+
value: t.feeIsFraction ? input.managementFee * 100 : input.managementFee,
|
|
66608
|
+
payee: "curator",
|
|
66609
|
+
mutable: true,
|
|
66610
|
+
description: "Accrues on your whole balance for as long as you hold, whether or not the vault earns anything. The published rate is already net of it."
|
|
66611
|
+
});
|
|
66612
|
+
}
|
|
66542
66613
|
if (isNum2(input.withdrawFeeBps) && input.withdrawFeeBps !== 0) {
|
|
66543
66614
|
out.push({
|
|
66544
66615
|
id: "instant-exit",
|
|
@@ -67309,13 +67380,13 @@ function num12(v) {
|
|
|
67309
67380
|
const n = typeof v === "number" ? v : Number(v);
|
|
67310
67381
|
return Number.isFinite(n) ? n : void 0;
|
|
67311
67382
|
}
|
|
67312
|
-
function
|
|
67383
|
+
function str6(v) {
|
|
67313
67384
|
if (typeof v === "string") return v.length > 0 ? v : void 0;
|
|
67314
67385
|
if (typeof v === "number" && Number.isFinite(v)) return String(v);
|
|
67315
67386
|
return void 0;
|
|
67316
67387
|
}
|
|
67317
67388
|
function addr2(v) {
|
|
67318
|
-
return
|
|
67389
|
+
return str6(v)?.toLowerCase();
|
|
67319
67390
|
}
|
|
67320
67391
|
function yieldProfile(v) {
|
|
67321
67392
|
return v === "yield-bearing" || v === "volatile" ? v : void 0;
|
|
@@ -67394,7 +67465,7 @@ var RATE_KIND = {
|
|
|
67394
67465
|
gmx: "realized"
|
|
67395
67466
|
};
|
|
67396
67467
|
function resolveExitMode2(provider, meta, tvl, liq) {
|
|
67397
|
-
const declared =
|
|
67468
|
+
const declared = str6(meta.withdrawalMode);
|
|
67398
67469
|
if (declared) return declared;
|
|
67399
67470
|
const fallback = vaultTraits(provider)?.defaultExitMode ?? "instant";
|
|
67400
67471
|
if (fallback !== "instant-capped") return fallback;
|
|
@@ -67405,9 +67476,9 @@ function resolveExitMode2(provider, meta, tvl, liq) {
|
|
|
67405
67476
|
return available >= total ? "instant" : "instant-capped";
|
|
67406
67477
|
}
|
|
67407
67478
|
function earnMarketFromVault(row, chainId, opts = {}) {
|
|
67408
|
-
const provider =
|
|
67409
|
-
const address =
|
|
67410
|
-
const underlying =
|
|
67479
|
+
const provider = str6(row.provider);
|
|
67480
|
+
const address = str6(row.vaultAddress)?.toLowerCase();
|
|
67481
|
+
const underlying = str6(row.underlying)?.toLowerCase();
|
|
67411
67482
|
if (!provider || !address || !underlying) return void 0;
|
|
67412
67483
|
const meta = row.providerMeta ?? {};
|
|
67413
67484
|
const info = row.vaultInfo ?? {};
|
|
@@ -67447,15 +67518,15 @@ function earnMarketFromVault(row, chainId, opts = {}) {
|
|
|
67447
67518
|
venue: vaultVenue(provider),
|
|
67448
67519
|
venueKind: "vault",
|
|
67449
67520
|
// Curator first (it names the actual operator), then the provider brand.
|
|
67450
|
-
brand:
|
|
67521
|
+
brand: str6(row.curatorName) ?? venueBrand(vaultVenue(provider)),
|
|
67451
67522
|
// What the vault is BUILT ON, kept apart from who runs it — see
|
|
67452
67523
|
// `resolveEarnIdentity` for why this is not simply provider-vs-brand.
|
|
67453
67524
|
...withCuratorEntity(
|
|
67454
67525
|
resolveEarnIdentity(
|
|
67455
67526
|
vaultVenue(provider),
|
|
67456
|
-
|
|
67527
|
+
str6(row.curatorName)
|
|
67457
67528
|
),
|
|
67458
|
-
|
|
67529
|
+
str6(row.curatorEntity)
|
|
67459
67530
|
),
|
|
67460
67531
|
// The maturity is part of a fixed-term row's IDENTITY. Pendle ships names
|
|
67461
67532
|
// with no date, so several PTs on one underlying render identically —
|
|
@@ -67484,26 +67555,26 @@ function earnMarketFromVault(row, chainId, opts = {}) {
|
|
|
67484
67555
|
withMaturityLabel(
|
|
67485
67556
|
stripLeadingBrand(
|
|
67486
67557
|
vaultDisplayName(row, info) ?? "",
|
|
67487
|
-
|
|
67558
|
+
str6(row.curatorName) ?? venueBrand(vaultVenue(provider))
|
|
67488
67559
|
) || void 0,
|
|
67489
67560
|
maturity
|
|
67490
67561
|
),
|
|
67491
|
-
trancheFromCounterparty(
|
|
67562
|
+
trancheFromCounterparty(str6(meta.solvency))
|
|
67492
67563
|
),
|
|
67493
67564
|
ref: address,
|
|
67494
|
-
logoURI:
|
|
67565
|
+
logoURI: str6(info.logoURI) ?? str6(row.underlyingInfo?.asset?.logoURI),
|
|
67495
67566
|
asset: {
|
|
67496
67567
|
address: underlying,
|
|
67497
|
-
symbol:
|
|
67568
|
+
symbol: str6(row.underlyingInfo?.asset?.symbol) ?? "",
|
|
67498
67569
|
decimals: assetDecimals,
|
|
67499
|
-
assetGroup:
|
|
67570
|
+
assetGroup: str6(info.assetGroup),
|
|
67500
67571
|
priceUsd: num12(row.underlyingInfo?.prices?.priceUsd)
|
|
67501
67572
|
},
|
|
67502
67573
|
// The vault IS a share token by construction; carry it so a withdraw in
|
|
67503
67574
|
// share units can be built without a second lookup.
|
|
67504
67575
|
shareToken: {
|
|
67505
67576
|
address,
|
|
67506
|
-
symbol:
|
|
67577
|
+
symbol: str6(info.symbol) ?? str6(row.symbol) ?? "",
|
|
67507
67578
|
decimals: shareDecimals
|
|
67508
67579
|
},
|
|
67509
67580
|
rate,
|
|
@@ -67522,11 +67593,11 @@ function earnMarketFromVault(row, chainId, opts = {}) {
|
|
|
67522
67593
|
liq.liquidityUsd,
|
|
67523
67594
|
assetDecimals
|
|
67524
67595
|
) : void 0,
|
|
67525
|
-
depositCapacity:
|
|
67596
|
+
depositCapacity: str6(meta.depositCapacity) ?? str6(meta.maxDeposit),
|
|
67526
67597
|
maturity,
|
|
67527
67598
|
exit: {
|
|
67528
67599
|
mode: exitMode,
|
|
67529
|
-
settlement:
|
|
67600
|
+
settlement: str6(meta.redemptionType),
|
|
67530
67601
|
cooldownSecs: num12(meta.withdrawalCooldownSeconds),
|
|
67531
67602
|
feeBps: num12(meta.withdrawFeeBps)
|
|
67532
67603
|
},
|
|
@@ -67537,9 +67608,9 @@ function earnMarketFromVault(row, chainId, opts = {}) {
|
|
|
67537
67608
|
// The curated trust classification, where one exists. Typed on `EarnRisk`
|
|
67538
67609
|
// since the surface was written and never populated — a tranche's
|
|
67539
67610
|
// first-loss position is the term most worth surfacing on a rate list.
|
|
67540
|
-
counterparty:
|
|
67611
|
+
counterparty: str6(meta.solvency),
|
|
67541
67612
|
score: num12(row.rating?.score),
|
|
67542
|
-
label:
|
|
67613
|
+
label: str6(row.rating?.level),
|
|
67543
67614
|
illiquid: isIlliquid({
|
|
67544
67615
|
exitMode,
|
|
67545
67616
|
tvlUsd: num12(tvl.totalAssetsUsd),
|
|
@@ -67575,7 +67646,7 @@ function earnVaultTerms(provider, providerMeta, size) {
|
|
|
67575
67646
|
}
|
|
67576
67647
|
function resolveAvailability(meta, maturity) {
|
|
67577
67648
|
const isMintable = meta.isMintable;
|
|
67578
|
-
const capacity =
|
|
67649
|
+
const capacity = str6(meta.depositCapacity) ?? str6(meta.maxDeposit);
|
|
67579
67650
|
const capFull = capacity === "0";
|
|
67580
67651
|
let gating;
|
|
67581
67652
|
let reason;
|
|
@@ -67606,7 +67677,7 @@ function resolveAvailability(meta, maturity) {
|
|
|
67606
67677
|
}
|
|
67607
67678
|
function vaultDisplayName(row, info) {
|
|
67608
67679
|
const share = row.shareAsset;
|
|
67609
|
-
return
|
|
67680
|
+
return str6(row.name) ?? str6(info.name) ?? str6(row.displayName) ?? str6(share?.name) ?? str6(share?.symbol) ?? str6(info.symbol) ?? str6(row.symbol);
|
|
67610
67681
|
}
|
|
67611
67682
|
function resolveMaturity(meta) {
|
|
67612
67683
|
const expiry = num12(meta.expiry) ?? num12(meta.maturity);
|
|
@@ -67615,13 +67686,13 @@ function resolveMaturity(meta) {
|
|
|
67615
67686
|
return {
|
|
67616
67687
|
kind: "fixed-date",
|
|
67617
67688
|
maturity: expiry,
|
|
67618
|
-
maturityIso:
|
|
67689
|
+
maturityIso: str6(meta.expiryIso) ?? new Date(expiry * 1e3).toISOString(),
|
|
67619
67690
|
// A SNAPSHOT — a cached listing ages, so a countdown must be recomputed
|
|
67620
67691
|
// from `maturity` rather than ticked down from this.
|
|
67621
67692
|
secondsToMaturity: Math.max(expiry - nowSecs, 0),
|
|
67622
67693
|
// A PT simply stops earning: it redeems for the underlying at par and
|
|
67623
67694
|
// sits there. No penalty, no liquidation, no auto-roll.
|
|
67624
|
-
atMaturity:
|
|
67695
|
+
atMaturity: str6(meta.atMaturity) ?? "stops-earning"
|
|
67625
67696
|
};
|
|
67626
67697
|
}
|
|
67627
67698
|
function isMatured(maturity) {
|
|
@@ -67654,7 +67725,7 @@ var num13 = (v) => {
|
|
|
67654
67725
|
}
|
|
67655
67726
|
return void 0;
|
|
67656
67727
|
};
|
|
67657
|
-
var
|
|
67728
|
+
var str7 = (v) => typeof v === "string" && v.trim() !== "" ? v : void 0;
|
|
67658
67729
|
var bool2 = (v) => typeof v === "boolean" ? v : void 0;
|
|
67659
67730
|
var fromRaw = (raw, decimals) => {
|
|
67660
67731
|
const s = raw == null ? void 0 : String(raw);
|
|
@@ -67683,7 +67754,7 @@ function sdkRates(row, provider) {
|
|
|
67683
67754
|
}
|
|
67684
67755
|
function toVaultTermInput(vault, provider, chainId) {
|
|
67685
67756
|
const row = vault;
|
|
67686
|
-
const address =
|
|
67757
|
+
const address = str7(row.address)?.toLowerCase();
|
|
67687
67758
|
if (!address) return void 0;
|
|
67688
67759
|
const assetDecimals = num13(row.assetDecimals) ?? num13(row.decimals);
|
|
67689
67760
|
const asset = row.asset;
|
|
@@ -67692,22 +67763,22 @@ function toVaultTermInput(vault, provider, chainId) {
|
|
|
67692
67763
|
chainId,
|
|
67693
67764
|
address,
|
|
67694
67765
|
vaultUid: `vault.${provider}:${chainId}:${address}`,
|
|
67695
|
-
name:
|
|
67696
|
-
brand:
|
|
67697
|
-
curatorName:
|
|
67698
|
-
description:
|
|
67766
|
+
name: str7(row.displayName) ?? str7(row.name),
|
|
67767
|
+
brand: str7(row.brand),
|
|
67768
|
+
curatorName: str7(row.curatorName),
|
|
67769
|
+
description: str7(row.description),
|
|
67699
67770
|
asset: {
|
|
67700
67771
|
chainId,
|
|
67701
|
-
address:
|
|
67702
|
-
symbol:
|
|
67703
|
-
name:
|
|
67772
|
+
address: str7(row.underlying)?.toLowerCase() ?? "",
|
|
67773
|
+
symbol: str7(asset?.symbol),
|
|
67774
|
+
name: str7(asset?.name),
|
|
67704
67775
|
decimals: assetDecimals,
|
|
67705
|
-
assetGroup:
|
|
67706
|
-
logoURI:
|
|
67776
|
+
assetGroup: str7(asset?.assetGroup),
|
|
67777
|
+
logoURI: str7(asset?.logoURI)
|
|
67707
67778
|
},
|
|
67708
67779
|
...sdkRates(row, provider),
|
|
67709
67780
|
isForwardApr: bool2(row.isForwardApr),
|
|
67710
|
-
aprWindow:
|
|
67781
|
+
aprWindow: str7(row.aprWindow),
|
|
67711
67782
|
// GMX / HyperCore / Pendle report USD only and set the token-denominated
|
|
67712
67783
|
// fields to their USD figure — `totalAssetsFormatted` is the cross-provider
|
|
67713
67784
|
// magnitude either way, so prefer it over re-deriving from raw.
|
|
@@ -67718,19 +67789,20 @@ function toVaultTermInput(vault, provider, chainId) {
|
|
|
67718
67789
|
instantLiquidityRatio: num13(row.instantLiquidityRatio),
|
|
67719
67790
|
totalBorrowed: fromRaw(row.totalBorrowed, assetDecimals),
|
|
67720
67791
|
expectedLiquidity: fromRaw(row.expectedLiquidity, assetDecimals),
|
|
67721
|
-
withdrawalMode:
|
|
67792
|
+
withdrawalMode: str7(row.withdrawalMode),
|
|
67722
67793
|
withdrawalCooldownSeconds: num13(row.withdrawalCooldownSeconds),
|
|
67723
67794
|
withdrawFeeBps: num13(row.withdrawFeeBps),
|
|
67724
67795
|
fee: num13(row.fee),
|
|
67796
|
+
managementFee: num13(row.managementFee),
|
|
67725
67797
|
swapFeeRate: num13(row.feeRate),
|
|
67726
67798
|
redemptionDiscountBps: num13(row.redemptionDiscountBps),
|
|
67727
67799
|
instantRedeemEnabled: bool2(row.instantRedeemEnabled),
|
|
67728
67800
|
yieldWarmupSeconds: num13(row.yieldWarmupSeconds),
|
|
67729
|
-
accrual:
|
|
67801
|
+
accrual: str7(row.accrual),
|
|
67730
67802
|
needsDepositApproval: bool2(row.needsDepositApproval),
|
|
67731
67803
|
isMintable: bool2(row.isMintable),
|
|
67732
|
-
depositCapacity:
|
|
67733
|
-
supplyCap:
|
|
67804
|
+
depositCapacity: str7(row.depositCapacity),
|
|
67805
|
+
supplyCap: str7(row.supplyCap),
|
|
67734
67806
|
paused: bool2(row.isPaused),
|
|
67735
67807
|
depositsPaused: bool2(row.isDepositPaused),
|
|
67736
67808
|
withdrawalsPaused: bool2(row.isWithdrawalPaused),
|
|
@@ -67738,13 +67810,13 @@ function toVaultTermInput(vault, provider, chainId) {
|
|
|
67738
67810
|
whitelisted: bool2(row.whitelisted),
|
|
67739
67811
|
expiry: num13(row.expiry),
|
|
67740
67812
|
timelock: num13(row.timelock),
|
|
67741
|
-
owner:
|
|
67742
|
-
curator:
|
|
67743
|
-
guardian:
|
|
67744
|
-
feeRecipient:
|
|
67745
|
-
solvency:
|
|
67746
|
-
navOracle:
|
|
67747
|
-
yieldProfile:
|
|
67813
|
+
owner: str7(row.owner),
|
|
67814
|
+
curator: str7(row.curator),
|
|
67815
|
+
guardian: str7(row.guardian),
|
|
67816
|
+
feeRecipient: str7(row.feeRecipient),
|
|
67817
|
+
solvency: str7(row.solvency),
|
|
67818
|
+
navOracle: str7(row.navOracle),
|
|
67819
|
+
yieldProfile: str7(row.yieldProfile),
|
|
67748
67820
|
exposures: Array.isArray(row.exposures) ? row.exposures : void 0
|
|
67749
67821
|
};
|
|
67750
67822
|
}
|
|
@@ -67761,7 +67833,7 @@ function vaultTermInputFromEarnMarket(m) {
|
|
|
67761
67833
|
name: m.name,
|
|
67762
67834
|
brand: m.brand,
|
|
67763
67835
|
curatorName: m.brand,
|
|
67764
|
-
description:
|
|
67836
|
+
description: str7(meta.description),
|
|
67765
67837
|
asset: {
|
|
67766
67838
|
chainId: m.chainId,
|
|
67767
67839
|
address: m.asset.address,
|
|
@@ -67774,7 +67846,7 @@ function vaultTermInputFromEarnMarket(m) {
|
|
|
67774
67846
|
rewardsRate: m.rate.rewards,
|
|
67775
67847
|
totalRate: m.rate.total,
|
|
67776
67848
|
isForwardApr: bool2(meta.isForwardApr),
|
|
67777
|
-
aprWindow:
|
|
67849
|
+
aprWindow: str7(meta.aprWindow),
|
|
67778
67850
|
totalAssets: m.tvl.formatted,
|
|
67779
67851
|
totalAssetsUsd: m.tvl.usd,
|
|
67780
67852
|
liquidity: m.liquidity?.formatted,
|
|
@@ -67786,30 +67858,31 @@ function vaultTermInputFromEarnMarket(m) {
|
|
|
67786
67858
|
withdrawalCooldownSeconds: m.exit.cooldownSecs,
|
|
67787
67859
|
withdrawFeeBps: m.exit.feeBps,
|
|
67788
67860
|
fee: m.rate.fee,
|
|
67861
|
+
managementFee: num13(meta.managementFee),
|
|
67789
67862
|
swapFeeRate: num13(meta.feeRate),
|
|
67790
67863
|
redemptionDiscountBps: num13(meta.redemptionDiscountBps),
|
|
67791
67864
|
instantRedeemEnabled: bool2(meta.instantRedeemEnabled),
|
|
67792
67865
|
yieldWarmupSeconds: num13(meta.yieldWarmupSeconds),
|
|
67793
|
-
accrual:
|
|
67866
|
+
accrual: str7(meta.accrual),
|
|
67794
67867
|
needsDepositApproval: bool2(meta.needsDepositApproval),
|
|
67795
67868
|
// `canDeposit` already folds in the cap, the pause and the gate, so it is
|
|
67796
67869
|
// the authoritative answer — but the REASON is what a disabled CTA renders,
|
|
67797
67870
|
// and that only survives in the raw fields.
|
|
67798
67871
|
isMintable: m.availability.canDeposit ? void 0 : false,
|
|
67799
67872
|
depositCapacity: m.depositCapacity,
|
|
67800
|
-
supplyCap:
|
|
67873
|
+
supplyCap: str7(meta.supplyCap),
|
|
67801
67874
|
paused: m.availability.gating === "paused" ? true : void 0,
|
|
67802
67875
|
withdrawalsPaused: m.availability.canWithdraw ? void 0 : true,
|
|
67803
67876
|
isClosed: bool2(meta.isClosed),
|
|
67804
67877
|
whitelisted: bool2(meta.whitelisted),
|
|
67805
67878
|
expiry: m.maturity?.maturity,
|
|
67806
67879
|
timelock: num13(meta.timelock),
|
|
67807
|
-
owner:
|
|
67808
|
-
curator:
|
|
67809
|
-
guardian:
|
|
67810
|
-
feeRecipient:
|
|
67880
|
+
owner: str7(meta.owner),
|
|
67881
|
+
curator: str7(meta.curator),
|
|
67882
|
+
guardian: str7(meta.guardian),
|
|
67883
|
+
feeRecipient: str7(meta.feeRecipient),
|
|
67811
67884
|
solvency: m.risk?.counterparty,
|
|
67812
|
-
navOracle:
|
|
67885
|
+
navOracle: str7(meta.navOracle),
|
|
67813
67886
|
yieldProfile: m.risk?.yieldProfile,
|
|
67814
67887
|
exposures: m.refs?.exposures
|
|
67815
67888
|
};
|
|
@@ -67825,8 +67898,8 @@ function originRates(rates) {
|
|
|
67825
67898
|
};
|
|
67826
67899
|
}
|
|
67827
67900
|
function vaultTermInputFromSourceRow(row, chainId) {
|
|
67828
|
-
const provider =
|
|
67829
|
-
const address =
|
|
67901
|
+
const provider = str7(row.provider);
|
|
67902
|
+
const address = str7(row.vaultAddress)?.toLowerCase();
|
|
67830
67903
|
if (!provider || !address) return void 0;
|
|
67831
67904
|
const meta = row.providerMeta ?? {};
|
|
67832
67905
|
const rates = row.rates ?? {};
|
|
@@ -67840,21 +67913,21 @@ function vaultTermInputFromSourceRow(row, chainId) {
|
|
|
67840
67913
|
chainId,
|
|
67841
67914
|
address,
|
|
67842
67915
|
vaultUid: `vault.${provider}:${chainId}:${address}`,
|
|
67843
|
-
name:
|
|
67844
|
-
brand:
|
|
67845
|
-
curatorName:
|
|
67846
|
-
description:
|
|
67916
|
+
name: str7(info.name) ?? str7(row.displayName) ?? str7(row.name),
|
|
67917
|
+
brand: str7(row.curatorName) ?? str7(meta.brand),
|
|
67918
|
+
curatorName: str7(row.curatorName),
|
|
67919
|
+
description: str7(meta.description),
|
|
67847
67920
|
asset: {
|
|
67848
67921
|
chainId,
|
|
67849
|
-
address:
|
|
67850
|
-
symbol:
|
|
67922
|
+
address: str7(row.underlying)?.toLowerCase() ?? "",
|
|
67923
|
+
symbol: str7(assetInfo?.symbol),
|
|
67851
67924
|
decimals: assetDecimals,
|
|
67852
|
-
assetGroup:
|
|
67853
|
-
logoURI:
|
|
67925
|
+
assetGroup: str7(info.assetGroup),
|
|
67926
|
+
logoURI: str7(assetInfo?.logoURI)
|
|
67854
67927
|
},
|
|
67855
67928
|
...originRates(rates),
|
|
67856
67929
|
isForwardApr: bool2(meta.isForwardApr),
|
|
67857
|
-
aprWindow:
|
|
67930
|
+
aprWindow: str7(meta.aprWindow),
|
|
67858
67931
|
totalAssets: num13(tvl.totalAssetsFormatted) ?? fromRaw(tvl.totalAssets, assetDecimals),
|
|
67859
67932
|
totalAssetsUsd: num13(tvl.totalAssetsUsd),
|
|
67860
67933
|
liquidity: num13(liq.liquidityFormatted) ?? fromRaw(liq.liquidity, assetDecimals),
|
|
@@ -67862,19 +67935,20 @@ function vaultTermInputFromSourceRow(row, chainId) {
|
|
|
67862
67935
|
instantLiquidityRatio: num13(meta.instantLiquidityRatio),
|
|
67863
67936
|
totalBorrowed: fromRaw(meta.totalBorrowed, assetDecimals),
|
|
67864
67937
|
expectedLiquidity: fromRaw(meta.expectedLiquidity, assetDecimals),
|
|
67865
|
-
withdrawalMode:
|
|
67938
|
+
withdrawalMode: str7(meta.withdrawalMode),
|
|
67866
67939
|
withdrawalCooldownSeconds: num13(meta.withdrawalCooldownSeconds),
|
|
67867
67940
|
withdrawFeeBps: num13(meta.withdrawFeeBps),
|
|
67868
67941
|
fee: num13(rates.fee),
|
|
67942
|
+
managementFee: num13(meta.managementFee),
|
|
67869
67943
|
swapFeeRate: num13(meta.feeRate),
|
|
67870
67944
|
redemptionDiscountBps: num13(meta.redemptionDiscountBps),
|
|
67871
67945
|
instantRedeemEnabled: bool2(meta.instantRedeemEnabled),
|
|
67872
67946
|
yieldWarmupSeconds: num13(meta.yieldWarmupSeconds),
|
|
67873
|
-
accrual:
|
|
67947
|
+
accrual: str7(meta.accrual),
|
|
67874
67948
|
needsDepositApproval: bool2(meta.needsDepositApproval),
|
|
67875
67949
|
isMintable: bool2(meta.isMintable),
|
|
67876
|
-
depositCapacity:
|
|
67877
|
-
supplyCap:
|
|
67950
|
+
depositCapacity: str7(meta.depositCapacity) ?? str7(meta.maxDeposit),
|
|
67951
|
+
supplyCap: str7(meta.supplyCap),
|
|
67878
67952
|
paused: bool2(meta.paused) ?? bool2(meta.isPaused),
|
|
67879
67953
|
depositsPaused: bool2(meta.isDepositPaused),
|
|
67880
67954
|
withdrawalsPaused: bool2(meta.isWithdrawalPaused),
|
|
@@ -67882,13 +67956,13 @@ function vaultTermInputFromSourceRow(row, chainId) {
|
|
|
67882
67956
|
whitelisted: bool2(meta.whitelisted),
|
|
67883
67957
|
expiry: num13(meta.expiry) ?? num13(meta.maturity),
|
|
67884
67958
|
timelock: num13(meta.timelock),
|
|
67885
|
-
owner:
|
|
67886
|
-
curator:
|
|
67887
|
-
guardian:
|
|
67888
|
-
feeRecipient:
|
|
67889
|
-
solvency:
|
|
67890
|
-
navOracle:
|
|
67891
|
-
yieldProfile:
|
|
67959
|
+
owner: str7(meta.owner),
|
|
67960
|
+
curator: str7(meta.curator),
|
|
67961
|
+
guardian: str7(meta.guardian),
|
|
67962
|
+
feeRecipient: str7(meta.feeRecipient),
|
|
67963
|
+
solvency: str7(meta.solvency),
|
|
67964
|
+
navOracle: str7(meta.navOracle),
|
|
67965
|
+
yieldProfile: str7(info.yieldProfile),
|
|
67892
67966
|
exposures: Array.isArray(row.exposures) ? row.exposures : Array.isArray(meta.exposures) ? meta.exposures : void 0
|
|
67893
67967
|
};
|
|
67894
67968
|
}
|
|
@@ -70735,12 +70809,12 @@ var USER_SET_RATE_PREFIXES = [
|
|
|
70735
70809
|
function collateralSymbolsByVenue(rows, fallbackChainId) {
|
|
70736
70810
|
const byVenue = /* @__PURE__ */ new Map();
|
|
70737
70811
|
for (const row of rows) {
|
|
70738
|
-
const venue =
|
|
70739
|
-
const chainId =
|
|
70812
|
+
const venue = str6(row.lender) ?? str6(row.lenderKey);
|
|
70813
|
+
const chainId = str6(row.chainId) ?? fallbackChainId;
|
|
70740
70814
|
if (!venue || !chainId) continue;
|
|
70741
70815
|
const collateralActive = row.flags?.collateralActive ?? row.collateralActive;
|
|
70742
70816
|
if (collateralActive !== true) continue;
|
|
70743
|
-
const symbol =
|
|
70817
|
+
const symbol = str6(row.underlyingInfo?.asset?.symbol) ?? str6(row.asset?.symbol);
|
|
70744
70818
|
if (!symbol) continue;
|
|
70745
70819
|
const key3 = venueGroupKey(chainId, venue);
|
|
70746
70820
|
let set = byVenue.get(key3);
|
|
@@ -70753,7 +70827,7 @@ function venueGroupKey(chainId, venue) {
|
|
|
70753
70827
|
return `${chainId}::${venue}`;
|
|
70754
70828
|
}
|
|
70755
70829
|
function earnMarketFromPool(row, fallbackChainId, venueCollaterals) {
|
|
70756
|
-
const marketUid =
|
|
70830
|
+
const marketUid = str6(row.marketUid);
|
|
70757
70831
|
if (!marketUid) return void 0;
|
|
70758
70832
|
let earnUid;
|
|
70759
70833
|
try {
|
|
@@ -70761,8 +70835,8 @@ function earnMarketFromPool(row, fallbackChainId, venueCollaterals) {
|
|
|
70761
70835
|
} catch {
|
|
70762
70836
|
return void 0;
|
|
70763
70837
|
}
|
|
70764
|
-
const chainId =
|
|
70765
|
-
const venue =
|
|
70838
|
+
const chainId = str6(row.chainId) ?? fallbackChainId;
|
|
70839
|
+
const venue = str6(row.lender) ?? str6(row.lenderKey);
|
|
70766
70840
|
if (!chainId || !venue) return void 0;
|
|
70767
70841
|
const flags = row.flags ?? {};
|
|
70768
70842
|
const assetInfo = row.underlyingInfo?.asset ?? row.asset ?? {};
|
|
@@ -70799,32 +70873,32 @@ function earnMarketFromPool(row, fallbackChainId, venueCollaterals) {
|
|
|
70799
70873
|
// Same resolver as the vault half, so `protocol.key` means one thing
|
|
70800
70874
|
// across the listing: the STABLE family key, never the per-market venue.
|
|
70801
70875
|
// No lender publishes a curator today, hence the undefined.
|
|
70802
|
-
...resolveEarnIdentity(venue, void 0,
|
|
70876
|
+
...resolveEarnIdentity(venue, void 0, str6(row.lenderInfo?.protocol)),
|
|
70803
70877
|
// Pair-aware: "USDT · vs wstETH" for an isolated market, plain "USDC" for
|
|
70804
70878
|
// a shared pool. The fetcher's own name is only the fallback — it is the
|
|
70805
70879
|
// leg-local "Loan USDC", which a chain repeats across 300 markets and
|
|
70806
70880
|
// which says nothing about WHICH market this is. Identical to what the
|
|
70807
70881
|
// origin's SQL route builds, so both paths agree.
|
|
70808
70882
|
name: earnMarketLabel({
|
|
70809
|
-
assetSymbol:
|
|
70810
|
-
lenderMarketName:
|
|
70811
|
-
fetcherName:
|
|
70883
|
+
assetSymbol: str6(assetInfo.symbol),
|
|
70884
|
+
lenderMarketName: str6(row.lenderInfo?.name),
|
|
70885
|
+
fetcherName: str6(row.name),
|
|
70812
70886
|
venue,
|
|
70813
70887
|
// The venue's collaterals, UNFILTERED — the label removes this row's own
|
|
70814
70888
|
// leg itself. Filtering here made the collateral row of a 1-collateral
|
|
70815
70889
|
// market look like a 0-collateral one, so the two legs of one market
|
|
70816
70890
|
// disagreed about whether it was isolated.
|
|
70817
70891
|
collateralSymbols: venueCollaterals?.get(venueGroupKey(chainId, venue)),
|
|
70818
|
-
fallbackName:
|
|
70892
|
+
fallbackName: str6(row.name)
|
|
70819
70893
|
}),
|
|
70820
70894
|
// Never re-derived — the uid's third segment as the origin minted it.
|
|
70821
70895
|
ref: marketUid.split(":")[2],
|
|
70822
|
-
logoURI:
|
|
70896
|
+
logoURI: str6(assetInfo.logoURI),
|
|
70823
70897
|
asset: {
|
|
70824
70898
|
address: underlying,
|
|
70825
|
-
symbol:
|
|
70899
|
+
symbol: str6(assetInfo.symbol) ?? "",
|
|
70826
70900
|
decimals,
|
|
70827
|
-
assetGroup:
|
|
70901
|
+
assetGroup: str6(row.underlyingInfo?.assetGroup) ?? str6(row.asset?.assetGroup),
|
|
70828
70902
|
priceUsd
|
|
70829
70903
|
},
|
|
70830
70904
|
// A lending supply position is an aToken/cToken/eToken balance, but the
|
|
@@ -70854,7 +70928,7 @@ function earnMarketFromPool(row, fallbackChainId, venueCollaterals) {
|
|
|
70854
70928
|
availability,
|
|
70855
70929
|
risk: {
|
|
70856
70930
|
score: num12(row.risk?.score),
|
|
70857
|
-
label:
|
|
70931
|
+
label: str6(row.risk?.label),
|
|
70858
70932
|
illiquid: isIlliquid({
|
|
70859
70933
|
exitMode: "instant-capped",
|
|
70860
70934
|
tvlUsd: num12(row.totalDepositsUSD ?? row.totalDepositsUsd),
|
|
@@ -70869,7 +70943,7 @@ function earnMarketFromPool(row, fallbackChainId, venueCollaterals) {
|
|
|
70869
70943
|
// nothing else, and one may price its collateral off a feed that ignores
|
|
70870
70944
|
// a depeg in it.
|
|
70871
70945
|
oracle: addr2(row.oracleInfo?.feeds?.find((f) => f?.oracle)?.oracle),
|
|
70872
|
-
oracleDescription:
|
|
70946
|
+
oracleDescription: str6(
|
|
70873
70947
|
row.oracleInfo?.feeds?.find((f) => f?.priceDescription)?.priceDescription
|
|
70874
70948
|
),
|
|
70875
70949
|
borrowable: (flags.borrowingEnabled ?? row.borrowingEnabled) === true
|
|
@@ -71306,6 +71380,6 @@ function earnPositionTotals(items) {
|
|
|
71306
71380
|
};
|
|
71307
71381
|
}
|
|
71308
71382
|
|
|
71309
|
-
export { ApiBookSource, DEFAULT_MIDNIGHT_API, DEFAULT_OUTLIER_GUARD, DEFAULT_PROFILE_ID, DEFAULT_STALE_REJECT_SECONDS, DEFAULT_TERMMAX_API, EARN_DESCRIPTIONS, EARN_LABELS, EMPTY_BALANCE, EXACTLY_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, STABLECOIN_SYMBOLS, STCELO_MANAGER_ADDRESS, TELLER_CALLS_PER_BID, TERMMAX_CALLS_PER_ACCOUNT, DECIMAL_BASE as TERMMAX_DECIMAL_BASE, TERMMAX_LIQUIDATION_PENALTY, TERMMAX_LIQUIDATION_WINDOW_SECS, TERMMAX_LIQUIDATOR_BONUS, 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, 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, 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, convertDssMarketsToResponse, convertExactlyMarketsToResponse, 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, disambiguateEarnNames, dssIlkBytes32, dssKeyParts, dssLenderKey, duration, earnDescription, earnLabel, earnMarketFromPool, earnMarketFromVault, earnMarketLabel, earnPositionFromLenderEntry, earnPositionFromVaultBalance, earnPositionTotals, earnRowSubtitle, earnUidFromMarketUid, earnVaultTerms, earnVenueKind, encodeBalanceFetcherCalldata, enrichTermSheet, enrichmentIndexFromRows, exactlyPairLtv, exactlyPenaltyRateToAprPercent, exactlyWadRateToPercent, feePhrase, feedKeyOf, feedStatKey, fetchDolomiteAccountNumbers, fetchDssMarkets, fetchEulerEarnVaults, fetchEulerEarnVaultsFromSubgraph, fetchEulerSubAccountIndexes, fetchExactlyMarkets, fetchFlashLiquidityForChain, fetchFluidFTokens, 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, fetchTellerMarkets, fetchTermMarkets, fetchTermMaxMarkets, fetchTokenBalances, fetchTokenMetadata, fetchUpshiftApiVaults, fetchUpshiftVaults, fetchUsddMarkets, fetchYearnApiVaults, fetchYearnVaults, filterActiveLenders, filterLendersByProtocol, finalizeInfo, findingsFor, formatRaw, frankencoinKeyParts, frankencoinLenderKey, fraxlendAssetPerCollateral, fraxlendKeyParts, fraxlendLenderKey, fuseLenderData, generateLendingPools, getAavesForChain, getAssetConfig, getBalanceForMarketUid, getBorrowCapacity, 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, hasUpshiftVaults, hasYearnVaults, ilkToKeySegment, implausibleRatePercent, inverseKeyParts, inverseLenderKey, isBoundNeed, isFailedCall, isIlliquid, isLendingPosition, isLiveMarket as isLivePendleMarket, isStablecoinSymbol, isVaultPosition, isVaultVenue, isYearnV3, keySegmentToIlk, keysFromMaps, lenderApiOnly, lenderFamily, liquityCandidateTroveIds, liquityKeyParts, liquityLenderKey, llamaLendKeyParts, llamaLendLenderKey, mergeDeep, multicall3Abi2 as multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseEarnUid, parseMergedResult, parseMulticallRpcResponses, parseExpirySeconds as parsePendleExpirySeconds, parseRawRpcBatchResponses, parseRawRpcResponses, parseTermMaxLtv, parseTokenBalanceResult, pct, assetKey as pendleAssetKey, positivePart2 as positivePart, predictInverseEscrow, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, priceGlvVaults, priceGmMarkets, probeAaveFeedTimestamps, pruneFeedStats, rankFindings, ratePercent, readVaultSharePrices, rejectOutliers as rejectPriceOutliers, resolveAdapter, resolveDerivation, resolveEarnIdentity, resolveModeConfig, resolveStCeloDepositGroup, resolveVaultProfileId, resupplyKeyParts, resupplyLenderKey, resupplyMarketLabel, riverKeyParts, riverLenderKey, savingsAddresses, savingsBalanceKind, selectAssetGroupPrices, shortDate, splitChainScopedAddress as splitPendleChainScopedAddress, stampCapabilities, stampEarnSubtitles, stampVaultClassification, stampVaultTermSheets, stripLeadingBrand, supplyDescription, supplyFindings, supplyHeadline, swapRoutedProvidersArePriceConsistent, tellerBpsToPercent, tellerImpliedLtv, tellerLenderKey, tellerPoolFromLenderKey, 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, tickToAprNumber, tickToPrice, toDigest, toTermSheetInput, toVaultTermInput, trancheFromCounterparty, tryParseEarnUid, unflattenLenderData, updateFeedStats, usdValue, usddIlkBytes32, usddKeyParts, usddLenderKey, validateTermSheet, validateTermSheets, validateUserData, vaultSharesToAssets, vaultTermInputFromEarnMarket, vaultTermInputFromSourceRow, vaultTraits, vaultVenue, venueBrand, venueBrandKey, withMaturityLabel, withTrancheLabel };
|
|
71383
|
+
export { ApiBookSource, DEFAULT_MIDNIGHT_API, DEFAULT_OUTLIER_GUARD, DEFAULT_PROFILE_ID, DEFAULT_STALE_REJECT_SECONDS, DEFAULT_TERMMAX_API, EARN_DESCRIPTIONS, EARN_LABELS, EMPTY_BALANCE, EXACTLY_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, STABLECOIN_SYMBOLS, STCELO_MANAGER_ADDRESS, TELLER_CALLS_PER_BID, TERMMAX_CALLS_PER_ACCOUNT, DECIMAL_BASE as TERMMAX_DECIMAL_BASE, TERMMAX_LIQUIDATION_PENALTY, TERMMAX_LIQUIDATION_WINDOW_SECS, TERMMAX_LIQUIDATOR_BONUS, 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, 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, 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, convertDssMarketsToResponse, convertExactlyMarketsToResponse, 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, earnRowSubtitle, earnUidFromMarketUid, earnVaultTerms, earnVenueKind, encodeBalanceFetcherCalldata, enrichTermSheet, enrichmentIndexFromRows, exactlyPairLtv, exactlyPenaltyRateToAprPercent, exactlyWadRateToPercent, feePhrase, feedKeyOf, feedStatKey, fetchDolomiteAccountNumbers, fetchDssMarkets, fetchEulerEarnVaults, fetchEulerEarnVaultsFromSubgraph, fetchEulerSubAccountIndexes, fetchExactlyMarkets, fetchFlashLiquidityForChain, fetchFluidDexState, fetchFluidFTokens, 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, fetchTellerMarkets, fetchTermMarkets, fetchTermMaxMarkets, fetchTokenBalances, fetchTokenMetadata, fetchUpshiftApiVaults, fetchUpshiftVaults, fetchUsddMarkets, fetchYearnApiVaults, fetchYearnVaults, 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, hasUpshiftVaults, hasYearnVaults, ilkToKeySegment, implausibleRatePercent, inverseKeyParts, inverseLenderKey, isBoundNeed, isFailedCall, isIlliquid, isLendingPosition, isLiveMarket as isLivePendleMarket, isStablecoinSymbol, isVaultPosition, isVaultVenue, isYearnV3, keySegmentToIlk, keysFromMaps, lenderApiOnly, lenderFamily, liquityCandidateTroveIds, liquityKeyParts, liquityLenderKey, llamaLendKeyParts, llamaLendLenderKey, mergeDeep, multicall3Abi2 as multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseEarnUid, parseMergedResult, parseMulticallRpcResponses, parseExpirySeconds as parsePendleExpirySeconds, parseRawRpcBatchResponses, parseRawRpcResponses, parseTermMaxLtv, parseTokenBalanceResult, pct, assetKey as pendleAssetKey, positivePart2 as positivePart, predictInverseEscrow, prepareLenderUserDataRpcCalls, prepareMergedMulticallParams, prepareMergedRpcCalls, prepareMulticallInputs, prepareTokenBalanceRpcCalls, priceGlvVaults, priceGmMarkets, probeAaveFeedTimestamps, pruneFeedStats, rankFindings, ratePercent, readVaultSharePrices, rejectOutliers as rejectPriceOutliers, resolveAdapter, resolveDerivation, resolveEarnIdentity, resolveModeConfig, resolveStCeloDepositGroup, resolveVaultProfileId, resupplyKeyParts, resupplyLenderKey, resupplyMarketLabel, riverKeyParts, riverLenderKey, savingsAddresses, savingsBalanceKind, selectAssetGroupPrices, shortDate, splitChainScopedAddress as splitPendleChainScopedAddress, stampCapabilities, stampEarnSubtitles, stampVaultClassification, stampVaultTermSheets, stripLeadingBrand, supplyDescription, supplyFindings, supplyHeadline, swapRoutedProvidersArePriceConsistent, tellerBpsToPercent, tellerImpliedLtv, tellerLenderKey, tellerPoolFromLenderKey, 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, tickToAprNumber, tickToPrice, toDigest, toTermSheetInput, toVaultTermInput, trancheFromCounterparty, tryParseEarnUid, unflattenLenderData, updateFeedStats, usdValue, usddIlkBytes32, usddKeyParts, usddLenderKey, validateTermSheet, validateTermSheets, validateUserData, vaultSharesToAssets, vaultTermInputFromEarnMarket, vaultTermInputFromSourceRow, vaultTraits, vaultVenue, venueBrand, venueBrandKey, withMaturityLabel, withTrancheLabel };
|
|
71310
71384
|
//# sourceMappingURL=index.js.map
|
|
71311
71385
|
//# sourceMappingURL=index.js.map
|