export { _try, DivisionByZeroError, type ErrorClass, IncompleteChainRegistryError, InvalidAddressError, InvalidBitLengthError, RegistryValueAlreadyRegisteredError, UnknownAddressError, UnsupportedChainIdError, } from "@morpho-org/morpho-ts"; import { type Hex } from "viem"; import type { Address, MarketId } from "./types.js"; /** Thrown when interest projection is requested for an unsupported nonzero IRM. */ export declare class UnsupportedMarketIrmError extends Error { readonly marketId: MarketId; readonly irm: Address; /** * @param marketId - Market whose interest cannot be projected. * @param irm - Unsupported interest-rate-model address. */ constructor(marketId: MarketId, irm: Address); } /** Error thrown when bytes cannot be decoded into valid Morpho Blue market params. */ export declare class InvalidMarketParamsError extends Error { readonly data: Hex; constructor(data: Hex); } /** Base error for optional data lookups that were not available. */ export declare class UnknownDataError extends Error { } /** Error thrown when token metadata is unavailable for an address. */ export declare class UnknownTokenError extends UnknownDataError { readonly address: Address; constructor(address: Address); } /** Error thrown when a token price is unavailable for an address. */ export declare class UnknownTokenPriceError extends UnknownDataError { readonly address: Address; constructor(address: Address); } /** Error thrown when market params are unavailable for a market id. */ export declare class UnknownMarketParamsError extends UnknownDataError { readonly marketId: MarketId; constructor(marketId: MarketId); } /** Error thrown when vault config is unavailable for a vault address. */ export declare class UnknownVaultConfigError extends UnknownDataError { readonly vault: Address; constructor(vault: Address); } /** Error thrown when a vault withdraw queue references a market without an allocation. */ export declare class UnknownMarketAllocationError extends UnknownDataError { readonly marketId: MarketId; constructor(marketId: MarketId); } /** * Error thrown when no default pre-liquidation params exist for an LLTV. * * @deprecated Pre-liquidation support is deprecated and will be removed in the next major. */ export declare class UnsupportedPreLiquidationParamsError extends Error { readonly lltv: bigint; constructor(lltv: bigint); } /** Error thrown when a Vault V2 adapter address is not supported by the SDK. */ export declare class UnsupportedVaultV2AdapterError extends Error { readonly address: Address; constructor(address: Address); } /** Morpho Blue protocol simulation errors. */ export declare namespace BlueErrors { /** Error thrown when a value that must be set once is already set. */ class AlreadySet extends Error { readonly name: string; readonly value: string; constructor(name: string, value: string); } /** * Legacy market accrual error retained for compatibility. * Accrual at or before `lastUpdate` now returns an unchanged snapshot instead. */ class InvalidInterestAccrual extends Error { readonly marketId: MarketId; readonly timestamp: bigint; readonly lastUpdate: bigint; constructor(marketId: MarketId, timestamp: bigint, lastUpdate: bigint); } /** Error thrown when asset and share inputs describe inconsistent values. */ class InconsistentInput extends Error { readonly assets: bigint; readonly shares: bigint; constructor(assets: bigint, shares: bigint); } /** Error thrown when a market has insufficient liquidity for an operation. */ class InsufficientLiquidity extends Error { readonly marketId: MarketId; constructor(marketId: MarketId); } /** Error thrown when a market oracle price is unavailable. */ class UnknownOraclePrice extends Error { readonly marketId: MarketId; constructor(marketId: MarketId); } /** Error thrown when a user position is too small for an operation. */ class InsufficientPosition extends Error { readonly user: Address; readonly marketId: MarketId; constructor(user: Address, marketId: MarketId); } /** Error thrown when a user position lacks required collateral. */ class InsufficientCollateral extends Error { readonly user: Address; readonly marketId: MarketId; constructor(user: Address, marketId: MarketId); } /** Error thrown when a signature deadline has expired. */ class ExpiredSignature extends Error { readonly deadline: bigint; constructor(deadline: bigint); } } /** Morpho Vault V2 simulation errors. */ export declare namespace VaultV2Errors { /** * Legacy Vault V2 accrual error retained for compatibility. * Accrual at or before `lastUpdate` now returns an unchanged snapshot instead. */ class InvalidInterestAccrual extends Error { readonly vault: Address; readonly timestamp: bigint; readonly lastUpdate: bigint; constructor(vault: Address, timestamp: bigint, lastUpdate: bigint); } /** Error thrown when a Vault V2 liquidity adapter is not supported by the SDK. */ class UnsupportedLiquidityAdapter extends Error { readonly address: Address; constructor(address: Address); } } /** Error thrown when a factory address is unavailable. */ export declare class UnknownFactory extends Error { constructor(); } /** Error thrown when an address is not deployed by the expected factory. */ export declare class UnknownOfFactory extends Error { readonly factory: Address; readonly address: Address; constructor(factory: Address, address: Address); }