@1delta/margin-fetcher 5.0.58 → 5.0.59

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 CHANGED
@@ -270,6 +270,13 @@ declare interface GeneralCall {
270
270
  address: string;
271
271
  name: string;
272
272
  params?: any[];
273
+ /**
274
+ * Per-call ABI override. The multicall layer already honours this
275
+ * (`call.abi ?? abi` in `getLenderUserDataResult`) — it was simply untyped, so
276
+ * every builder that needs it declared its array as `any[]` and lost checking
277
+ * on the rest of the call shape too.
278
+ */
279
+ abi?: any;
273
280
  }
274
281
  type TokenList = {
275
282
  [address: string]: {
@@ -530,8 +537,39 @@ interface FixedTermInfo {
530
537
  * Origination window, for `provider.kind: 'auction'` markets only (Term
531
538
  * Finance). Absent for lenders whose terms are continuously available — a
532
539
  * missing `auction` means "no window applies", NOT "closed".
540
+ *
541
+ * Where a FILL-NOW surface also exists (Term Terminal 1 limit orders),
542
+ * `canBorrow`/`canLend` reflect ALL entry paths — they can be true while
543
+ * `status` is `closed`. `fillNow` below carries the instant-path detail.
533
544
  */
534
545
  auction?: FixedTermAuction;
546
+ /**
547
+ * Instant (limit-order) origination liquidity, where the lender has one
548
+ * (Term Finance Terminal 1). Unlike the auction, these rates are obtainable
549
+ * at fill time: a taker settles a maker's standing order at the order's own
550
+ * rate. Absent = the lender has no fill-now surface or none is live.
551
+ */
552
+ fillNow?: FixedTermFillNow;
553
+ }
554
+ /**
555
+ * Fill-now (limit-order) origination summary for a fixed-term market. Rates
556
+ * are best-executable percents in the lender's own day-count convention;
557
+ * liquidity is loan-token assets (human-scaled). The per-level book lives on
558
+ * `params.market.book` — this is the CTA-gating summary.
559
+ */
560
+ interface FixedTermFillNow {
561
+ /** A NEW borrow can be filled instantly against standing lend orders. */
562
+ canBorrow: boolean;
563
+ /** A NEW lend can be filled instantly against standing borrow orders. */
564
+ canLend: boolean;
565
+ /** Best instantly-executable borrow APR, percent. */
566
+ borrowAprPct?: number;
567
+ /** Best instantly-executable lend APR, percent. */
568
+ lendAprPct?: number;
569
+ /** Instantly-borrowable depth, loan-token assets. */
570
+ borrowLiquidity?: number;
571
+ /** Instantly-lendable depth, loan-token assets. */
572
+ lendLiquidity?: number;
535
573
  }
536
574
  /**
537
575
  * A single fixed-term loan, attached to its own entry in the positions array.
@@ -2846,6 +2884,32 @@ interface TermAuctionWindow {
2846
2884
  /** Highest accepted offer rate, WAD (raw string; '0' when unset). */
2847
2885
  maxOfferPriceWad: string;
2848
2886
  }
2887
+ /**
2888
+ * One side of the Terminal 1 FILL-NOW book (limit orders on the intent
2889
+ * diamond), reduced to the best executable rate + depth + best-first levels.
2890
+ * Unlike the auction clearing rate this IS obtainable right now: a taker
2891
+ * settles against the maker's order at the order's own rate.
2892
+ */
2893
+ interface TermFillNowSide {
2894
+ /** Best executable APR at this instant, percent (Term 360-day convention). */
2895
+ aprPct: number;
2896
+ /** Aggregate fillable depth, loan-token base units (raw string). */
2897
+ units: string;
2898
+ /** Same depth decimal-scaled to loan-token assets (human number). */
2899
+ assets: number;
2900
+ /** Best-first per-order levels (real per-level rates). */
2901
+ levels: TermBookLevel[];
2902
+ }
2903
+ /**
2904
+ * Fill-now liquidity for one repo from the Terminal 1 order store, taker
2905
+ * perspective: `borrow` aggregates maker LEND orders (what our user can borrow
2906
+ * against, cheapest first), `lend` aggregates maker BORROW orders (what our
2907
+ * user can lend into, highest rate first).
2908
+ */
2909
+ interface TermFillNow {
2910
+ borrow?: TermFillNowSide;
2911
+ lend?: TermFillNowSide;
2912
+ }
2849
2913
  /** A Term repo paired with its current top-of-book (null when the fetch failed). */
2850
2914
  interface TermMarketRaw {
2851
2915
  config: TermMarketConfig;
@@ -2857,8 +2921,95 @@ interface TermMarketRaw {
2857
2921
  * (the common case between auctions — the repo is then lend-only).
2858
2922
  */
2859
2923
  auction?: TermAuctionWindow | null;
2924
+ /**
2925
+ * Terminal 1 fill-now order liquidity, or null when the order store is
2926
+ * unreachable / has no fillable orders for this repo. Independent of the
2927
+ * auction window — this is what makes a repo borrowable BETWEEN rounds.
2928
+ */
2929
+ fillNow?: TermFillNow | null;
2860
2930
  }
2861
2931
 
2932
+ /**
2933
+ * Term Finance Terminal 1 order store — the FILL-NOW limit-order surface.
2934
+ *
2935
+ * Between sealed-bid auction rounds a Term repo used to be display-only on the
2936
+ * borrow side. Terminal 1 adds a maker/taker limit-order book settling into the
2937
+ * SAME repo markets: makers post EIP-712 (or on-chain presigned) lend/borrow
2938
+ * orders keyed by `repoServicer`, takers fill them on the Terminal 1 diamond
2939
+ * (`settleLimitLend` / `settleLimitBorrow`), and the resulting position is an
2940
+ * ordinary Term repo position (repo tokens / collateralized debt).
2941
+ *
2942
+ * Discovery is an open, unauthenticated REST store. Enforcement is on-chain,
2943
+ * so a stale store can only under-report — never mis-settle. See
2944
+ * TERM_TERMINAL1.md for the full surface.
2945
+ *
2946
+ * Side semantics (taker/our-user perspective):
2947
+ * - a maker LEND order = fill-now BORROW liquidity (taker borrows at its rate)
2948
+ * - a maker BORROW order = fill-now LEND liquidity (taker lends at its rate)
2949
+ */
2950
+ declare const DEFAULT_TERM_ORDER_STORE = "https://api.global.termfinance.io/protocol";
2951
+ /** Order-store base for a chain: override → config → public hosted store. */
2952
+ declare function termOrderStoreBaseUrl(chainId: string): string;
2953
+ /** One order as served by `GET {base}/orders?chainId=` (fields we consume). */
2954
+ interface TermStoreOrder {
2955
+ id: string;
2956
+ orderKind: 'lend' | 'borrow';
2957
+ chainId: number;
2958
+ /** THE market join key — the repo's TermRepoServicer (NOT termRepoId). */
2959
+ repoServicer: string;
2960
+ /** Order size, purchase-token base units (raw string). */
2961
+ purchaseTokenAmount: string;
2962
+ /**
2963
+ * Fixed rate, 1e18-scaled FRACTION annualized on Term's 360-day year — the
2964
+ * same convention as auction clearing prices (`termOfferRateToAprPct`).
2965
+ */
2966
+ offerRate: string;
2967
+ maker: string;
2968
+ /** Pinned counterparty; zero address = anyone may fill. */
2969
+ taker: string;
2970
+ /** Unix seconds (stringified uint256; max-uint = good-til-cancelled). */
2971
+ expiry: string;
2972
+ salt: string;
2973
+ sigType: number;
2974
+ sigData: string;
2975
+ isPreSigned: boolean;
2976
+ orderState: string;
2977
+ /** Unfilled remainder, purchase-token base units (raw string). */
2978
+ remainingAmount: string;
2979
+ filledAmount: string;
2980
+ /** Maker's live spendable balance (lend orders; raw string). */
2981
+ cachedAvailableBalance?: string;
2982
+ hasSufficientApproval?: boolean;
2983
+ /** True for auto-quoted Blue Sheets VAULT liquidity (not a human maker). */
2984
+ isSynthetic?: boolean;
2985
+ /** Fee the order charges the taker (raw string; semantics per order kind). */
2986
+ borrowFee?: string;
2987
+ feeRecipient?: string;
2988
+ repoToken?: string;
2989
+ }
2990
+ /**
2991
+ * A maker order is fillable by an arbitrary taker when it is live, open to
2992
+ * anyone, and (for lend orders) actually funded. The store pre-computes the
2993
+ * funding checks (`cachedAvailableBalance` / `hasSufficientApproval`); trust
2994
+ * them for DISPLAY — actions re-validate on-chain at settle time anyway.
2995
+ */
2996
+ declare function fillableRemaining(order: TermStoreOrder, nowSec: number): bigint;
2997
+ /**
2998
+ * Fetch the full order store for a chain (ONE request) and group orders by
2999
+ * `repoServicer` (lowercased). Returns null on transport failure so callers
3000
+ * can distinguish "store down" from "no orders".
3001
+ *
3002
+ * `filter` (default `'fillable'`) keeps only orders an ARBITRARY taker can
3003
+ * fill right now — the book/rate view. `'all'` keeps taker-pinned, unfunded
3004
+ * and exhausted rows too: the view a MAKER needs of their own orders.
3005
+ */
3006
+ declare function fetchTermStoreOrders(chainId: string, fetchImpl?: typeof fetch, filter?: 'fillable' | 'all'): Promise<Map<string, TermStoreOrder[]> | null>;
3007
+ /**
3008
+ * Reduce one repo's store orders to the fill-now summary consumed by the
3009
+ * converter: best-executable APR per side + depth + best-first levels.
3010
+ */
3011
+ declare function toTermFillNow(orders: TermStoreOrder[] | undefined, loanDecimals: number, nowSec?: number): TermFillNow | null;
3012
+
2862
3013
  /**
2863
3014
  * Fetch the current top-of-book + a bounded book chunk for every configured
2864
3015
  * Term repo on a chain.
@@ -2870,7 +3021,7 @@ interface TermMarketRaw {
2870
3021
  * null when the fetch failed and no recent snapshot is cached, and when no data
2871
3022
  * endpoint is configured (rates fall back to 0).
2872
3023
  */
2873
- declare function fetchTermMarkets(chainId: string, source?: TermBookSource): Promise<TermMarketRaw[]>;
3024
+ declare function fetchTermMarkets(chainId: string, source?: TermBookSource, fetchOrders?: (chainId: string) => Promise<Map<string, TermStoreOrder[]> | null>): Promise<TermMarketRaw[]>;
2874
3025
 
2875
3026
  /** Synthesized per-market lender key, e.g. `TERM_FINANCE_<TERM_REPO_ID_HEX_UPPER>`. */
2876
3027
  declare function termLenderKey(termRepoId: string): string;
@@ -2889,6 +3040,8 @@ declare function convertTermMarketsToResponse(raw: TermMarketRaw[], chainId: str
2889
3040
  };
2890
3041
 
2891
3042
  type FetchLike$1 = typeof fetch;
3043
+ /** Resolve a chain's Term subgraph URL (override/config → per-chain default → ''). */
3044
+ declare function termApiBaseUrl(chainId: string): string;
2892
3045
  /**
2893
3046
  * GraphQL subgraph source. `getBookTop` derives the fixed APR from the repo's
2894
3047
  * latest completed auction clearing price and open-order depth; `getListings`
@@ -2934,6 +3087,15 @@ declare class TermSubgraphSource implements TermBookSource {
2934
3087
  /** Default Term public-data source for a chain (subgraph via resolved URL). */
2935
3088
  declare function createTermBookSource(chainId: string, fetchImpl?: FetchLike$1): TermBookSource;
2936
3089
 
3090
+ /**
3091
+ * Convert a Terminal 1 order `offerRate` (1e18-scaled fraction, annualized on
3092
+ * Term's 360-day year) into the display APR percent. Deliberately the SAME
3093
+ * treatment as auction clearing prices (`rate / WAD * 100`, no 365/360
3094
+ * adjustment) so fill-now and auction rates on one row stay comparable —
3095
+ * both carry Term's own day-count convention.
3096
+ */
3097
+ declare function termOfferRateToAprPct(offerRate: string | undefined): number;
3098
+
2937
3099
  /**
2938
3100
  * Decoded shapes of the Exactly `Previewer.exactly(account)` aggregate view.
2939
3101
  * Field names/order mirror the on-chain struct (verified IDENTICAL on Optimism
@@ -4779,7 +4941,9 @@ declare function getCachedTermMaxMarkets(chainId: string | number): TermMaxMarke
4779
4941
  * from upstream entirely rather than lingering with a flag, and ~15% of the
4780
4942
  * book can roll on a single maturity date.
4781
4943
  */
4782
- declare function fetchTermMaxMarkets(chainId: string, source?: TermMaxDataSource): Promise<TermMaxMarketRaw[]>;
4944
+ declare function fetchTermMaxMarkets(chainId: string, source?: TermMaxDataSource, options?: {
4945
+ includeMatured?: boolean;
4946
+ }): Promise<TermMaxMarketRaw[]>;
4783
4947
 
4784
4948
  /**
4785
4949
  * Map fetched TermMax markets into the shared `MorphoGeneralPublicResponse`
@@ -4929,11 +5093,20 @@ declare function parseTermMaxLtv(v: string | number | bigint | undefined): numbe
4929
5093
  * from LTVs + oracle prices in `createMultiAccountTypeUserState`, exactly as
4930
5094
  * Midnight does. That keeps this to one call.
4931
5095
  */
4932
- /** Every TermMax market read consumes exactly one viewer call (batched). */
4933
- declare const TERMMAX_CALLS_PER_ACCOUNT = 1;
5096
+ /**
5097
+ * Markets per `getPositionDetails` call.
5098
+ *
5099
+ * Measured against the live Ethereum viewer: 200 markets answer cleanly (44.9 KB
5100
+ * of return data), 706 in one array REVERTS on gas. Matured markets are not the
5101
+ * problem — a market matured 2025-04-02 reads fine on its own — the ARRAY SIZE is.
5102
+ * 180 leaves headroom under the observed ceiling.
5103
+ */
5104
+ declare const TERMMAX_MARKETS_PER_CALL = 180;
4934
5105
  interface TermMaxDiscovery {
4935
5106
  /** Markets passed to the viewer, IN ORDER — the parser slices results by index. */
4936
5107
  markets: TermMaxMarketConfig[];
5108
+ /** How many `getPositionDetails` calls the roster was split across. */
5109
+ chunks: number;
4937
5110
  at: number;
4938
5111
  }
4939
5112
  /**
@@ -6109,20 +6282,35 @@ interface SiloVault extends VaultClassificationFields {
6109
6282
  /** Raw `convertToAssets(10**shareDecimals)` — 1 share → X underlying,
6110
6283
  * asset-scaled. Derived from `totalAssets / totalSupply`. */
6111
6284
  convertToAssets: string;
6112
- /** Supply APR in percent, net of performance fee (mirrors Silo's `userApr`).
6113
- * Includes any rewards rolled into the indexer-reported user yield. */
6285
+ /** BASE supply APR in percent, net of the performance fee (Silo's
6286
+ * `userApr`). Interest only incentives are a separate leg, see
6287
+ * `rewardsRate`. Verified live across the whole book:
6288
+ * `userApr === apr × (1 − performanceFee)` on 16/16 vaults, so this field
6289
+ * carries no rewards. (It was documented as rewards-inclusive for months;
6290
+ * it never was.) */
6114
6291
  supplyRate: number;
6115
6292
  /** Gross pre-fee APR in percent (mirrors Silo's `apr`). Present for
6116
6293
  * vaults with a non-zero performance fee where `supplyRate < grossRate`. */
6117
6294
  grossRate: number;
6118
- /** Extra rewards APR in percent — not separately surfaced by the Silo
6119
- * indexer, so always 0. Kept for cross-vault API parity. */
6295
+ /** Incentive APR in percent — the sum over `rewards` of every LIVE program
6296
+ * whose reward token we could price. `0` means either no live campaign or
6297
+ * none we could value; `rewardsIncomplete` distinguishes the two. */
6120
6298
  rewardsRate: number;
6121
6299
  /** Sum of `supplyRate + rewardsRate` — what a depositor actually earns. */
6122
6300
  depositRate: number;
6301
+ /** Live incentive programs paying this vault's depositors, with
6302
+ * provenance. Absent when none are running. */
6303
+ rewards?: SiloVaultReward[];
6304
+ /** `true` when at least one live program could NOT be priced, so
6305
+ * `rewardsRate` is a FLOOR rather than the whole incentive yield. Absent
6306
+ * when every live program was valued (including when there are none). */
6307
+ rewardsIncomplete?: boolean;
6123
6308
  /** Performance fee in percent (e.g. `15.0` = 15 %). */
6124
6309
  fee: number;
6125
- /** Timelock for vault config changes, in seconds. */
6310
+ /** Timelock for vault CONFIG changes, in seconds — a depositor's notice
6311
+ * period before the curator can change the deal. This is NOT a withdrawal
6312
+ * cooldown: Silo vaults are plain ERC-4626 and a holder's own exit is
6313
+ * never delayed by it. Do not sum or merge the two. */
6126
6314
  timelock: number;
6127
6315
  /** Owner address, lowercased. */
6128
6316
  owner?: string;
@@ -6130,12 +6318,17 @@ interface SiloVault extends VaultClassificationFields {
6130
6318
  curator?: string;
6131
6319
  /** Guardian address, lowercased — may be absent if not set. */
6132
6320
  guardian?: string;
6321
+ /** Allocator addresses, lowercased. An allocator reallocates the vault
6322
+ * between silos WITHOUT the timelock, so this is the curation power that
6323
+ * can change a depositor's exposure in the next block. Absent when none
6324
+ * are set. */
6325
+ allocators?: string[];
6133
6326
  /** Fee recipient, lowercased — may be absent. */
6134
6327
  feeRecipient?: string;
6135
- /** Human-readable curator label for UI. Always undefined today: the
6136
- * Silo indexer (`api-v3.silo.finance`) only exposes `curatorId` (the
6137
- * on-chain address). Field is kept for cross-provider parity with
6138
- * `MorphoVault.curatorName` so consumers can write generic UI code. */
6328
+ /** Human-readable curator label for UI, derived from the vault's own name
6329
+ * (`curatorNameFromVaultName`) the Silo indexer exposes only
6330
+ * `curatorId`, an address. Undefined when the name carries no curator
6331
+ * prefix, in which case `displayName` falls back to `Silo <symbol>`. */
6139
6332
  curatorName?: string;
6140
6333
  /** Hydrated asset metadata from the provided token list, if any. */
6141
6334
  asset?: GenericCurrency;
@@ -6146,21 +6339,79 @@ interface SiloVault extends VaultClassificationFields {
6146
6339
  /** Human-formatted total assets in USD (authoritative value from the
6147
6340
  * indexer when present). */
6148
6341
  totalAssetsUsd: number;
6149
- /** Currently withdrawable underlying, raw integer as string. Silo's
6150
- * indexer doesn't expose an immediate-withdraw figure, so this is a
6151
- * `totalAssets` fallback optimistic ceiling, not a hard withdraw
6152
- * cap. Kept for cross-vault field parity. */
6342
+ /** Currently withdrawable underlying, raw integer as string — reconstructed
6343
+ * as `idle + Σ min(allocation, market.liquidity)` across the vault's silos
6344
+ * and clamped to `totalAssets`. */
6153
6345
  liquidity: string;
6154
6346
  /** Human-formatted immediate withdrawable liquidity. */
6155
6347
  liquidityFormatted: number;
6156
6348
  /** Human-formatted immediate withdrawable liquidity in USD. */
6157
6349
  liquidityUsd: number;
6350
+ /** Set to `'instant-capped'` ONLY when no allocation row resolved, so
6351
+ * `liquidity` fell back to `totalAssets` and does not prove a same-block
6352
+ * exit. Left undefined on a proven figure, where the term-sheet builder
6353
+ * decides `instant` vs `instant-capped` from the liquidity itself. */
6354
+ withdrawalMode?: 'instant' | 'instant-capped';
6355
+ /** The vault's assets that are currently lent out, raw integer as string —
6356
+ * the allocation-weighted `Σ allocation × marketUtilization`, with idle
6357
+ * counted at zero. Paired with `expectedLiquidity` as the utilization
6358
+ * numerator/denominator. Absent when no allocation resolved.
6359
+ *
6360
+ * Distinct from `liquidity` on purpose: liquidity is capped per market at
6361
+ * that market's cash, utilization is pro-rata. A small position in a deep,
6362
+ * heavily-borrowed market is fully withdrawable AND almost fully lent. */
6363
+ totalBorrowed?: string;
6364
+ /** Utilization denominator — the vault's total assets, raw integer as
6365
+ * string. Absent when `totalBorrowed` is. */
6366
+ expectedLiquidity?: string;
6158
6367
  /** Per-silo allocation breakdown — which Silo markets the vault lends
6159
6368
  * into and how much, ordered by weight descending. Collateral is the
6160
6369
  * market's paired (`otherMarket`) input token. Undefined when the
6161
6370
  * indexer returns no allocation rows. */
6162
6371
  exposures?: VaultMarketExposure[];
6163
6372
  }
6373
+ /**
6374
+ * One live incentive program paying a Silo vault's depositors, with enough
6375
+ * provenance to say what is being paid, in what, and until when.
6376
+ *
6377
+ * Sourced from the indexer's `incentivesPrograms` root, joined on
6378
+ * `shareTokenId === vault.address`. Only programs that are still emitting
6379
+ * (`emissionPerSecond > 0` and `distributionEnd` in the future) are carried —
6380
+ * an expired campaign is not a yield.
6381
+ */
6382
+ interface SiloVaultReward {
6383
+ /** Indexer program id, e.g. `<controller>-ARB_soETH`. */
6384
+ programId: string;
6385
+ /** Program label from the indexer. Often just the reward token address. */
6386
+ name?: string;
6387
+ /** Reward token address, lowercased. */
6388
+ tokenAddress: string;
6389
+ tokenSymbol?: string;
6390
+ tokenDecimals: number;
6391
+ /** Raw reward-token wei emitted per second, as a string. */
6392
+ emissionPerSecond: string;
6393
+ /** Unix seconds at which emission stops. */
6394
+ endsAt: number;
6395
+ /**
6396
+ * This program's APR in percent, computed as
6397
+ * `emissionPerSecond × secondsPerYear × tokenPrice / vaultTvlUsd`.
6398
+ * Absent when the reward token has no price in the supplied map — the
6399
+ * program is real and is reported, but its value is unknown and it is NOT
6400
+ * counted into `SiloVault.rewardsRate`.
6401
+ */
6402
+ apr?: number;
6403
+ /**
6404
+ * The indexer's own `apr` field, carried VERBATIM and deliberately unused.
6405
+ *
6406
+ * Its unit is unverified: every program in the Silo book is currently
6407
+ * expired or emitting zero, so there is no live figure to reconcile
6408
+ * against, and the two plausible readings — percent (like `vault.apr`) or
6409
+ * fraction (like `market.utilization`) — differ by 100×. Reconcile this
6410
+ * against `apr` on the first live program and then delete the field.
6411
+ * Never render it or sum it.
6412
+ */
6413
+ indexerApr?: number;
6414
+ }
6164
6415
  /** Full parsed payload: per-vault-address map. */
6165
6416
  type SiloVaults = {
6166
6417
  /** Keyed by lowercased vault address. */
@@ -7598,7 +7849,10 @@ interface PositionConstraints {
7598
7849
  };
7599
7850
  }
7600
7851
  type AdminKind = Open<'EOA' | 'SAFE' | 'TIMELOCK' | 'GOVERNOR' | 'GOVERNANCE' | 'CUSTOM' | 'UNKNOWN'>;
7601
- type GovernancePower = Open<'pause-deposits' | 'pause-withdrawals' | 'pause-borrows' | 'freeze-market' | 'change-ltv' | 'change-rate' | 'change-fees' | 'set-caps' | 'add-collateral' | 'swap-oracle' | 'upgrade-implementation' | 'blacklist' | 'seize-funds' | 'reprice-pending-redemptions'>;
7852
+ type GovernancePower = Open<'pause-deposits' | 'pause-withdrawals' | 'pause-borrows' | 'freeze-market' | 'change-ltv' | 'change-rate' | 'change-fees' | 'set-caps' | 'add-collateral' | 'swap-oracle' | 'upgrade-implementation' | 'blacklist' | 'seize-funds' | 'reprice-pending-redemptions'
7853
+ /** Move funds between already-approved markets — on curated vaults this is
7854
+ * an allocator power and is NOT gated by the config timelock. */
7855
+ | 'reallocate'>;
7602
7856
  interface GovernanceTerms {
7603
7857
  mutability: Open<'immutable' | 'governed' | 'unknown'>;
7604
7858
  /** The governance root, after hopping proxy admins / timelock admins. */
@@ -7635,6 +7889,18 @@ interface GovernanceTerms {
7635
7889
  curator?: string;
7636
7890
  guardian?: string;
7637
7891
  feeRecipient?: string;
7892
+ /**
7893
+ * Addresses that can REALLOCATE a curated vault between its markets.
7894
+ *
7895
+ * Load-bearing next to `timelockSecs`, and the reason the two must be
7896
+ * read together: on the MetaMorpho shape a timelock gates adding a market
7897
+ * or raising a cap, but moving money BETWEEN already-approved markets is
7898
+ * an allocator call that lands in the next block. So a vault can publish
7899
+ * a 24-hour notice period and still change what a depositor is exposed to
7900
+ * with no notice at all. A sheet showing the timelock alone overstates
7901
+ * how much warning the holder gets.
7902
+ */
7903
+ allocators?: string[];
7638
7904
  };
7639
7905
  /** Governance screens refresh far slower than rates — own timestamp. */
7640
7906
  asOfScreen?: number;
@@ -12539,6 +12805,10 @@ interface VaultTermInput {
12539
12805
  /** Unix seconds. */
12540
12806
  expiry?: number;
12541
12807
  timelock?: number;
12808
+ /** Addresses that can REALLOCATE the vault between markets, typically with
12809
+ * no timelock — the curation power that moves a depositor's exposure
12810
+ * between blocks. */
12811
+ allocators?: string[];
12542
12812
  owner?: string;
12543
12813
  curator?: string;
12544
12814
  guardian?: string;
@@ -13215,6 +13485,33 @@ declare function isIlliquid(input: {
13215
13485
  tvlUsd?: number;
13216
13486
  liquidityUsd?: number;
13217
13487
  }): boolean;
13488
+ /**
13489
+ * Can at least `minUsd` actually leave this row, on ANY route?
13490
+ *
13491
+ * The predicate behind `?minLiquidityUsd=`. Its scalar predecessor
13492
+ * (`liquidity.usd >= X`) was 99 % false positive by dollar weight: it dropped
13493
+ * $31.4B of chain-1 TVL of which $31.4B had a working uncapped exit — every
13494
+ * large LST and cooldown vault — while the genuinely stuck rows it exists to
13495
+ * catch totaled ~$300M. Measured by `test/earn/liquidityFilterAudit.ts`,
13496
+ * which pins this predicate against the live catalogue.
13497
+ *
13498
+ * Three rules:
13499
+ *
13500
+ * - **A closed exit fails at any size.** `canWithdraw: false` means no route
13501
+ * is open, whatever the mode says.
13502
+ * - **An uncapped route passes at any size.** The buffer is a latency fact
13503
+ * on these rows, not a capacity fact.
13504
+ * - **On capped routes the buffer IS the capacity** — same-block redemption
13505
+ * (`instant`, `instant-capped`) and market exits (`market-sale`,
13506
+ * `dex-only`, where `liquidity` is book depth) compare it against the
13507
+ * floor. Unreported liquidity is kept, not dropped: the TVL floor's
13508
+ * "unknown is not worthless" rule, which `isIlliquid` already follows.
13509
+ */
13510
+ declare function meetsLiquidityFloor(input: {
13511
+ exitMode?: string;
13512
+ canWithdraw?: boolean;
13513
+ liquidityUsd?: number;
13514
+ }, minUsd: number): boolean;
13218
13515
  interface EarnProtocolAndCurator {
13219
13516
  protocol: {
13220
13517
  key: string;
@@ -13997,4 +14294,4 @@ declare const fetchFluidDexState: (chainId: string, multicallRetry: MulticallRet
13997
14294
  /** Synchronous read of whatever `fetchFluidDexState` last cached for a chain. */
13998
14295
  declare const getCachedFluidDexState: (chainId: string) => FluidDexStateMap | undefined;
13999
14296
 
14000
- export { type AaveMetadata, type AaveV2Public, type AaveV2UserReserveResponse, type AaveV3Public, type AaveV3UserReserveResponse, type AdditionalYields, type AdminKind, ApiBookSource, type AprData, type AprPercent, type AssetQuality, type AssetRiskIndex, type AuctionWindow, type AvailabilityTerms, type BalanceData, type BaseLendingPosition, type BasicReserveResponse, type BorrowExitTerms, type BorrowTermSheet, type BuildTermSheetOptions, type BuildVaultTermSheetOptions, type ChainDiagnostic, type ChainLinkResponse, type ChainQuery, type ChainSummary, type CompoundV2Metadata, type CompoundV3Public, type CompoundV3UserReserveResponse, type ConfigEntry, type ConvertLenderUserDataOptions, type CoolerDripRaw, type CoolerMarketsRaw, type CoolerPositionInfo, type CoreValidators, type CounterpartyTerms, type CoverageInfo, DEFAULT_MIDNIGHT_API, DEFAULT_OUTLIER_GUARD, DEFAULT_PROFILE_ID, DEFAULT_STALE_REJECT_SECONDS, DEFAULT_TERMMAX_API, type DeepPartial, type Denomination, type DepthMap, type DssMarketRaw, type DssMarketsRaw, type DssPositionInfo, EARN_DESCRIPTIONS, EARN_LABELS, EMPTY_BALANCE, type EModeAssets, type EModeData, type EModeResult, EXACTLY_LENDER_KEY, type EarnActionInput, type EarnActionKind, type EarnAmount, type EarnAppliedDefaults, type EarnAprBreakdown, type EarnAsset, type EarnAvailability, type EarnBasket, type EarnBasketLeg, type EarnCapability, type EarnCurator, type EarnExclusions, type EarnExit, type EarnFacetBucket, type EarnFacets, type EarnGating, type EarnLabelDimension, type EarnLendingPosition, type EarnMarket, type EarnMarketLabelInput, type EarnPosition, type EarnPositionAsset, type EarnPositionBase, type EarnPositionLeg, type EarnPositionSourceStatus, type EarnPositionSubAccount, type EarnPositionTotals, type EarnPositionUid, type EarnPositionsResponse, type EarnProtocol, type EarnProtocolAndCurator, type EarnRate, type EarnRateSource, type EarnRefs, type EarnResponse, type EarnRisk, type EarnShareToken, type EarnSourceStatus, type EarnVaultNormalizeOptions, type EarnVaultPosition, type EarnVenueKind, type EarnVocabulary, type EndpointFailure, type EnrichmentIndex, type EulerEarnVault, type EulerEarnVaults, type EulerV2Metadata, type ExactlyFixedPool, type ExactlyFixedPosition, type ExactlyMarketAccount, type ExactlyMarketsRaw, type ExactlyUserFixedPosition, type ExposureEntry, type ExposureTerms, type ExtraValidationCall, FRACTION_RATE_PROVIDERS, type FeeTerm, type FeeWhen, type FeedObservation, type FeedStat, type FeedStatsMap, type FeedTimestampMap, type FetchListaVaultsFromChainOptions, type FetchMorphoVaultsFromChainOptions, type FetchOraclePricesOptions, type FetchPendlePtOptions, type FetchSpectraPtOptions, type FetchTokenBalancesOptions, type FlattenPriorityConfig, type FluidDexShareState, type FluidDexStateMap, type FluidFToken, type FluidFTokens, type FrankencoinMarketRaw, type FrankencoinMarketsRaw, type FrankencoinPositionInfo, type FraxlendPairRaw, type FraxlendPairsRaw, type FullLenderRewardsMap, GMX_API_HOSTS, GMX_READ_CONTRACTS, GMX_SUPPORTED_CHAINS, type GenericCurrency, type GenericTokenList, type GetVaultPublicDataAllOptions, type GmxExecutionFees, type GmxPendingDeposit, type GmxPendingWithdrawal, type GmxReadContracts, type GmxUserBalance, type GmxUserPositions, type GmxUserPositionsOptions, type GmxVault, type GmxVaultKind, type GmxVaults, type GmxVaultsFetchOptions, type GovernancePower, type GovernanceRow, type GovernanceTerms, type GroupAccumulator, HYPERCORE_VAULT_REGISTRY, type HypercoreLockStatus, type HypercoreUserPositionsOptions, type HypercoreVault, type HypercoreVaultPosition, type HypercoreVaultRegistryEntry, type HypercoreVaults, type HypercoreVaultsFetchOptions, IDLE_MARKET_ID, INTERFACE_IDS, type IncompleteLenderRead, type IncompleteReason, type InitMetadata, type InitPublic, type InitUserReserveResponse, type InterfaceKind, type InvariantViolation, type InverseMarketRaw, type InverseMarketsRaw, type InversePositionInfo, LAGOON_API_URL, LAGOON_CHAIN_IDS, type LagoonApiVault, type LagoonSyncMode, type LagoonVault, type LagoonVaults, type LenderAssetReward, type LenderConfigData, type LenderConfigMap, type LenderCrossPoolMeta, type LenderData, type LenderDataEntry, type LenderInfo, type LenderInfoMap, type LenderPublicBase, type LenderRewardsMap, type LenderSummary, type LenderToLenderCrossPoolMeta, type LenderTotalAmounts, type LenderUserQuery, type LenderUserResponse, type LenderYieldComplete, type LenderYields$1 as LenderYields, LendingMode, type LiquidationPenaltyTerm, type LiquidationTerms, type LiquityBranchRaw, type LiquityDiscoveredTrove, type LiquityDiscovery, type LiquityMarketsRaw, type LiquitySpInfo, type LiquityTroveInfo, type ListaMarketOverrides, type LlamaLendMarketOverride, type LlamaLendMarketOverrides, type LlamaLendMarketRaw, type LlamaLendMarketsRaw, type LlamaLendPositionInfo, type LoopPostTradeMetrics, type LstDelegation, type LstDelegationKind, type LstValidator, type LstWithdrawalFetchOptions, type LstWithdrawalRegistryEntry, type LstWithdrawalRequest, type LstWithdrawalRequestsByLst, type LstWithdrawalStatus, MORPHO_LENS, MULTICALL_FAILURE, type MaturityTerms, MaxParamThresholds, type MergedUserData, type MidnightBook, type MidnightBookLevel, type MidnightBookSource, type ModeBase, type ModeVariant, type MorphoMarketOverrides, type MorphoSubgraphProxyConfig, type MorphoUserMarketBalance, type MorphoUserReserveResponse, type MorphoVault, type MorphoVaults, type MulticallEndpointOptions, type MulticallRpcBatch, type NumberMap, type Open, type OracleBand, type OracleDiagnostics, type OraclePriceEntry, type OraclePricesResult, type OracleRiskRow, type OracleTerms, type OutlierGuardConfig, PASSTHROUGH_RATE_EPSILON, PENDLE_ASSETS_URL, PENDLE_CHAIN_IDS, PENDLE_MARKETS_URL, type ParsedBalanceData, type ParsedEarnUid, type ParsedLendingEarnUid, type ParsedResponse, type ParsedUserBalance, type ParsedVaultEarnUid, type PendleApiAsset, type PendleApiMarket, type PendleApiMarketDetails, type PendlePtMarket, type PendlePtMarkets, type PermissionKind, type PermissionParams, type PoolData, type PoolSourceRow, type PoolWithMeta, type PortfolioSummary, type PortfolioTotals, type PositionConstraints, type PostTradeMetrics, type PreparedCall, type PreparedMergedMulticallParams, type PreparedMergedRpcCalls, type PreparedTokenBalanceRpcCalls, type PreparedUserDataRpcCalls, type PriceDerivation, type PriceSelection, type ProtocolParams, type ProviderOptions, type RateKind, type RateMenuEntry, type RateTerms, type RawRpcBatch, type RawRpcCall, type RawRpcResponse, type ReadFailurePolicy, type RedemptionTerms, type ResupplyMarketsRaw, type ResupplyPairIdentity, type ResupplyPairRaw, type ResupplyPositionInfo, type ResupplyWrappedMarket, type RewardSourceRef, type RewardStream, type RewardTerm, type RewardTokenRef, type RiverMarketRaw, type RiverMarketsRaw, type RiverPositionInfo, SDK_FRACTION_RATE_PROVIDERS, SPECTRA_NETWORKS, SPECTRA_RATE_MAX_PERCENT, SPECTRA_RATE_MIN_PERCENT, STABLECOIN_SYMBOLS, STCELO_MANAGER_ADDRESS, type SelectPricesOptions, type Severity, type SeverityFinding, type SiloVault, type SiloVaults, type SpectraApiMarket, type SpectraApiPool, type SpectraApiToken, type SpectraPtMarket, type SpectraPtMarkets, type StCeloValidatorGroup, type StaleFeedEntry, type StampOptions, type StructuredOraclePrices, type SubAccountSummary, type SumerPositionInput, type SummaryAprData, type SummaryBalanceData, type SupplyExitMode, type SupplyExitTerms, type SupplyTermSheet, 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, type TellerDiscoveredBid, type TellerDiscovery, type TellerMarketsRaw, type TellerPoolRaw, type TermAdapter, type TermAssetRef, type TermAuctionOrder, type TermAuctionOrders, type TermBookSource, type TermBookTop, type TermInfo, type TermListing, type TermMarketRaw, TermMaxApiSource, type TermMaxBookTop, type TermMaxCurveSegment, type TermMaxDataSource, type TermMaxDiscovery, type TermMaxFeeConfig, type TermMaxMarketConfig, type TermMaxMarketRaw, type TermMaxOrderState, type TermProfile, type TermSheet, type TermSheetDigest, type TermSheetInput, type TermSheetViolation, TermSubgraphSource, type TermTag, type TokenApprovalMeta, type TokenApprovalParams, type TokenBalanceEntry, type TokenBalanceQuery, type TokenBalanceResult, type TokenEntry, type TokenList, type TokenListInput, type TrackerDiagnostic, UPSHIFT_CHAIN_IDS, UPSHIFT_VAULTS_URL, type USDPriceMap, type UpshiftApiAsset, type UpshiftApiVault, type UpshiftVault, type UpshiftVaults, type UsddMarketRaw, type UsddMarketsRaw, type DssPositionInfo as UsddPositionInfo, type UserApr, type UserConfig, type UserData, type UserDataResult, type UserLendingPosition, type UtilizationTerms, VAULT_PROVIDERS, VAULT_PROVIDER_PROFILE, VAULT_PROVIDER_TRAITS, VAULT_SHARE_PRICE_PROBE, VAULT_VENUE_PREFIX, VOLATILE_VAULT_OVERRIDES, type ValidationResult, type VaultAprResult, type VaultBalanceInput, type VaultClassification, type VaultClassificationFields, type VaultLookupEntry, type VaultMarketExposure, type VaultProvider, type VaultProviderTraits, type VaultPublicDataAll, type VaultPublicDataResult, type VaultSourceRow, type VaultTermInput, type VaultYieldSeries, type VaultYieldSnapshot, type YDaemonVault, YEARN_CHAIN_IDS, YEARN_YDAEMON_BASE, type YearnVault, type YearnVaultKind, type YearnVaults, type YieldProfile, __resetResupplyUserCaches, accountDepositListKey, accountWithdrawalListKey, appendSnapshot, applyPositionDelta, attachImplications, attachPricesToFlashLiquidity, borrowDescription, borrowFindings, borrowHeadline, 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, computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeVaultApr, computeWithdrawDelta, computeZapTradeDeltas, consensusReference, convertCoolerMarketsToResponse, 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, fetchCoolerMarkets, 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, fetchSpectraApiMarkets, fetchSpectraPtMarkets, 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, hasSpectraMarkets, hasUpshiftVaults, hasYearnVaults, ilkToKeySegment, implausibleRatePercent, inverseKeyParts, inverseLenderKey, isBoundNeed, isFailedCall, isIlliquid, isLendingPosition, isLiveMarket as isLivePendleMarket, isLiveSpectraMarket, isSecondaryMarketOnly, isStablecoinSymbol, isVaultPosition, isVaultVenue, isYearnV3, keySegmentToIlk, keysFromMaps, lenderApiOnly, lenderFamily, liquityCandidateTroveIds, liquityKeyParts, liquityLenderKey, llamaLendKeyParts, llamaLendLenderKey, mergeDeep, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseEarnUid, parseMergedResult, parseMulticallRpcResponses, parseExpirySeconds as parsePendleExpirySeconds, parseRawRpcBatchResponses, parseRawRpcResponses, parseCurveFee as parseSpectraCurveFee, parsePtRate as parseSpectraPtRate, parseTermMaxLtv, parseTokenBalanceResult, pct, assetKey as pendleAssetKey, pickPool as pickSpectraPool, 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, sanePercent as saneSpectraPercent, savingsAddresses, savingsBalanceKind, secondaryMarketVault, selectAssetGroupPrices, shortDate, spectraAddress, spectraNetwork, spectraPoolsUrl, 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 };
14297
+ export { type AaveMetadata, type AaveV2Public, type AaveV2UserReserveResponse, type AaveV3Public, type AaveV3UserReserveResponse, type AdditionalYields, type AdminKind, ApiBookSource, type AprData, type AprPercent, type AssetQuality, type AssetRiskIndex, type AuctionWindow, type AvailabilityTerms, type BalanceData, type BaseLendingPosition, type BasicReserveResponse, type BorrowExitTerms, type BorrowTermSheet, type BuildTermSheetOptions, type BuildVaultTermSheetOptions, type ChainDiagnostic, type ChainLinkResponse, type ChainQuery, type ChainSummary, type CompoundV2Metadata, type CompoundV3Public, type CompoundV3UserReserveResponse, type ConfigEntry, type ConvertLenderUserDataOptions, type CoolerDripRaw, type CoolerMarketsRaw, type CoolerPositionInfo, type CoreValidators, type CounterpartyTerms, type CoverageInfo, DEFAULT_MIDNIGHT_API, DEFAULT_OUTLIER_GUARD, DEFAULT_PROFILE_ID, DEFAULT_STALE_REJECT_SECONDS, DEFAULT_TERMMAX_API, DEFAULT_TERM_ORDER_STORE, type DeepPartial, type Denomination, type DepthMap, type DssMarketRaw, type DssMarketsRaw, type DssPositionInfo, EARN_DESCRIPTIONS, EARN_LABELS, EMPTY_BALANCE, type EModeAssets, type EModeData, type EModeResult, EXACTLY_LENDER_KEY, type EarnActionInput, type EarnActionKind, type EarnAmount, type EarnAppliedDefaults, type EarnAprBreakdown, type EarnAsset, type EarnAvailability, type EarnBasket, type EarnBasketLeg, type EarnCapability, type EarnCurator, type EarnExclusions, type EarnExit, type EarnFacetBucket, type EarnFacets, type EarnGating, type EarnLabelDimension, type EarnLendingPosition, type EarnMarket, type EarnMarketLabelInput, type EarnPosition, type EarnPositionAsset, type EarnPositionBase, type EarnPositionLeg, type EarnPositionSourceStatus, type EarnPositionSubAccount, type EarnPositionTotals, type EarnPositionUid, type EarnPositionsResponse, type EarnProtocol, type EarnProtocolAndCurator, type EarnRate, type EarnRateSource, type EarnRefs, type EarnResponse, type EarnRisk, type EarnShareToken, type EarnSourceStatus, type EarnVaultNormalizeOptions, type EarnVaultPosition, type EarnVenueKind, type EarnVocabulary, type EndpointFailure, type EnrichmentIndex, type EulerEarnVault, type EulerEarnVaults, type EulerV2Metadata, type ExactlyFixedPool, type ExactlyFixedPosition, type ExactlyMarketAccount, type ExactlyMarketsRaw, type ExactlyUserFixedPosition, type ExposureEntry, type ExposureTerms, type ExtraValidationCall, FRACTION_RATE_PROVIDERS, type FeeTerm, type FeeWhen, type FeedObservation, type FeedStat, type FeedStatsMap, type FeedTimestampMap, type FetchListaVaultsFromChainOptions, type FetchMorphoVaultsFromChainOptions, type FetchOraclePricesOptions, type FetchPendlePtOptions, type FetchSpectraPtOptions, type FetchTokenBalancesOptions, type FlattenPriorityConfig, type FluidDexShareState, type FluidDexStateMap, type FluidFToken, type FluidFTokens, type FrankencoinMarketRaw, type FrankencoinMarketsRaw, type FrankencoinPositionInfo, type FraxlendPairRaw, type FraxlendPairsRaw, type FullLenderRewardsMap, GMX_API_HOSTS, GMX_READ_CONTRACTS, GMX_SUPPORTED_CHAINS, type GenericCurrency, type GenericTokenList, type GetVaultPublicDataAllOptions, type GmxExecutionFees, type GmxPendingDeposit, type GmxPendingWithdrawal, type GmxReadContracts, type GmxUserBalance, type GmxUserPositions, type GmxUserPositionsOptions, type GmxVault, type GmxVaultKind, type GmxVaults, type GmxVaultsFetchOptions, type GovernancePower, type GovernanceRow, type GovernanceTerms, type GroupAccumulator, HYPERCORE_VAULT_REGISTRY, type HypercoreLockStatus, type HypercoreUserPositionsOptions, type HypercoreVault, type HypercoreVaultPosition, type HypercoreVaultRegistryEntry, type HypercoreVaults, type HypercoreVaultsFetchOptions, IDLE_MARKET_ID, INTERFACE_IDS, type IncompleteLenderRead, type IncompleteReason, type InitMetadata, type InitPublic, type InitUserReserveResponse, type InterfaceKind, type InvariantViolation, type InverseMarketRaw, type InverseMarketsRaw, type InversePositionInfo, LAGOON_API_URL, LAGOON_CHAIN_IDS, type LagoonApiVault, type LagoonSyncMode, type LagoonVault, type LagoonVaults, type LenderAssetReward, type LenderConfigData, type LenderConfigMap, type LenderCrossPoolMeta, type LenderData, type LenderDataEntry, type LenderInfo, type LenderInfoMap, type LenderPublicBase, type LenderRewardsMap, type LenderSummary, type LenderToLenderCrossPoolMeta, type LenderTotalAmounts, type LenderUserQuery, type LenderUserResponse, type LenderYieldComplete, type LenderYields$1 as LenderYields, LendingMode, type LiquidationPenaltyTerm, type LiquidationTerms, type LiquityBranchRaw, type LiquityDiscoveredTrove, type LiquityDiscovery, type LiquityMarketsRaw, type LiquitySpInfo, type LiquityTroveInfo, type ListaMarketOverrides, type LlamaLendMarketOverride, type LlamaLendMarketOverrides, type LlamaLendMarketRaw, type LlamaLendMarketsRaw, type LlamaLendPositionInfo, type LoopPostTradeMetrics, type LstDelegation, type LstDelegationKind, type LstValidator, type LstWithdrawalFetchOptions, type LstWithdrawalRegistryEntry, type LstWithdrawalRequest, type LstWithdrawalRequestsByLst, type LstWithdrawalStatus, MORPHO_LENS, MULTICALL_FAILURE, type MaturityTerms, MaxParamThresholds, type MergedUserData, type MidnightBook, type MidnightBookLevel, type MidnightBookSource, type ModeBase, type ModeVariant, type MorphoMarketOverrides, type MorphoSubgraphProxyConfig, type MorphoUserMarketBalance, type MorphoUserReserveResponse, type MorphoVault, type MorphoVaults, type MulticallEndpointOptions, type MulticallRpcBatch, type NumberMap, type Open, type OracleBand, type OracleDiagnostics, type OraclePriceEntry, type OraclePricesResult, type OracleRiskRow, type OracleTerms, type OutlierGuardConfig, PASSTHROUGH_RATE_EPSILON, PENDLE_ASSETS_URL, PENDLE_CHAIN_IDS, PENDLE_MARKETS_URL, type ParsedBalanceData, type ParsedEarnUid, type ParsedLendingEarnUid, type ParsedResponse, type ParsedUserBalance, type ParsedVaultEarnUid, type PendleApiAsset, type PendleApiMarket, type PendleApiMarketDetails, type PendlePtMarket, type PendlePtMarkets, type PermissionKind, type PermissionParams, type PoolData, type PoolSourceRow, type PoolWithMeta, type PortfolioSummary, type PortfolioTotals, type PositionConstraints, type PostTradeMetrics, type PreparedCall, type PreparedMergedMulticallParams, type PreparedMergedRpcCalls, type PreparedTokenBalanceRpcCalls, type PreparedUserDataRpcCalls, type PriceDerivation, type PriceSelection, type ProtocolParams, type ProviderOptions, type RateKind, type RateMenuEntry, type RateTerms, type RawRpcBatch, type RawRpcCall, type RawRpcResponse, type ReadFailurePolicy, type RedemptionTerms, type ResupplyMarketsRaw, type ResupplyPairIdentity, type ResupplyPairRaw, type ResupplyPositionInfo, type ResupplyWrappedMarket, type RewardSourceRef, type RewardStream, type RewardTerm, type RewardTokenRef, type RiverMarketRaw, type RiverMarketsRaw, type RiverPositionInfo, SDK_FRACTION_RATE_PROVIDERS, SPECTRA_NETWORKS, SPECTRA_RATE_MAX_PERCENT, SPECTRA_RATE_MIN_PERCENT, STABLECOIN_SYMBOLS, STCELO_MANAGER_ADDRESS, type SelectPricesOptions, type Severity, type SeverityFinding, type SiloVault, type SiloVaults, type SpectraApiMarket, type SpectraApiPool, type SpectraApiToken, type SpectraPtMarket, type SpectraPtMarkets, type StCeloValidatorGroup, type StaleFeedEntry, type StampOptions, type StructuredOraclePrices, type SubAccountSummary, type SumerPositionInput, type SummaryAprData, type SummaryBalanceData, type SupplyExitMode, type SupplyExitTerms, type SupplyTermSheet, 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, type TellerDiscoveredBid, type TellerDiscovery, type TellerMarketsRaw, type TellerPoolRaw, type TermAdapter, type TermAssetRef, type TermAuctionOrder, type TermAuctionOrders, type TermBookSource, type TermBookTop, type TermFillNow, type TermFillNowSide, type TermInfo, type TermListing, type TermMarketRaw, TermMaxApiSource, type TermMaxBookTop, type TermMaxCurveSegment, type TermMaxDataSource, type TermMaxDiscovery, type TermMaxFeeConfig, type TermMaxMarketConfig, type TermMaxMarketRaw, type TermMaxOrderState, type TermProfile, type TermSheet, type TermSheetDigest, type TermSheetInput, type TermSheetViolation, type TermStoreOrder, TermSubgraphSource, type TermTag, type TokenApprovalMeta, type TokenApprovalParams, type TokenBalanceEntry, type TokenBalanceQuery, type TokenBalanceResult, type TokenEntry, type TokenList, type TokenListInput, type TrackerDiagnostic, UPSHIFT_CHAIN_IDS, UPSHIFT_VAULTS_URL, type USDPriceMap, type UpshiftApiAsset, type UpshiftApiVault, type UpshiftVault, type UpshiftVaults, type UsddMarketRaw, type UsddMarketsRaw, type DssPositionInfo as UsddPositionInfo, type UserApr, type UserConfig, type UserData, type UserDataResult, type UserLendingPosition, type UtilizationTerms, VAULT_PROVIDERS, VAULT_PROVIDER_PROFILE, VAULT_PROVIDER_TRAITS, VAULT_SHARE_PRICE_PROBE, VAULT_VENUE_PREFIX, VOLATILE_VAULT_OVERRIDES, type ValidationResult, type VaultAprResult, type VaultBalanceInput, type VaultClassification, type VaultClassificationFields, type VaultLookupEntry, type VaultMarketExposure, type VaultProvider, type VaultProviderTraits, type VaultPublicDataAll, type VaultPublicDataResult, type VaultSourceRow, type VaultTermInput, type VaultYieldSeries, type VaultYieldSnapshot, type YDaemonVault, YEARN_CHAIN_IDS, YEARN_YDAEMON_BASE, type YearnVault, type YearnVaultKind, type YearnVaults, type YieldProfile, __resetResupplyUserCaches, accountDepositListKey, accountWithdrawalListKey, appendSnapshot, applyPositionDelta, attachImplications, attachPricesToFlashLiquidity, borrowDescription, borrowFindings, borrowHeadline, 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, computeBorrowDelta, computeCloseTradeDeltas, computeCollateralSwapDeltas, computeDebtSwapDeltas, computeDepositDelta, computeEModeAnalysis, computeOpenTradeDeltas, computePostTradeMetrics, computeRepayDelta, computeSumerBorrowDelta, computeSumerDepositDelta, computeSumerRepayDelta, computeSumerWaterfall, computeSumerWithdrawDelta, computeVaultApr, computeWithdrawDelta, computeZapTradeDeltas, consensusReference, convertCoolerMarketsToResponse, 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, fetchCoolerMarkets, 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, 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, isSecondaryMarketOnly, isStablecoinSymbol, isVaultPosition, isVaultVenue, isYearnV3, keySegmentToIlk, keysFromMaps, lenderApiOnly, lenderFamily, liquityCandidateTroveIds, liquityKeyParts, liquityLenderKey, llamaLendKeyParts, llamaLendLenderKey, meetsLiquidityFloor, mergeDeep, multicall3Abi, nanTo, needsLenderApproval, needsTokenApproval, noOpResult, normalizeToBytes, parseBalanceFetcherResult, parseEarnUid, parseMergedResult, parseMulticallRpcResponses, parseExpirySeconds as parsePendleExpirySeconds, parseRawRpcBatchResponses, parseRawRpcResponses, parseCurveFee as parseSpectraCurveFee, parsePtRate as parseSpectraPtRate, parseTermMaxLtv, parseTokenBalanceResult, pct, assetKey as pendleAssetKey, pickPool as pickSpectraPool, 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, sanePercent as saneSpectraPercent, savingsAddresses, savingsBalanceKind, secondaryMarketVault, selectAssetGroupPrices, 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 };