Exposure

Documentation for eth_defi.vault_report.vault_probes.Exposure Python class.

class Exposure

Bases: object

One place a vault’s assets are: a Morpho market, an Euler strategy or one of its collaterals.

Written to the facts file under exposures; the agent starts its collateral research from these, and raise_signals() checks them.

Attributes summary

market

Morpho market id (0x-prefixed bytes32), or the Euler strategy or EVK vault address

kind

morpho_market, euler_strategy, euler_collateral, or idle for a Morpho market without collateral, which curators use to hold idle assets

assets

The vault's assets in this position, in denomination token units; 0 for euler_collateral, whose exposure is not known

share_of_assets

Share of the vault's total assets; for euler_collateral the share of the whole EVK vault, an upper bound

redeemable

Assets the vault could withdraw from this position now, in denomination token units

utilisation

Market utilisation, borrowed over supplied

collateral

Collateral token address, if any

collateral_symbol

Collateral token symbol

collateral_name

Collateral token name

oracle

Price oracle address of the market

lltv

Liquidation loan-to-value, as a fraction (Morpho stores it scaled by 1e18)

collateral_underlying

When the collateral is itself an ERC-4626 vault share, the vault's underlying asset; DEX liquidity is then measured for the underlying asset

collateral_dex_liquidity_usd

Largest DEX liquidity of the collateral, or of its underlying asset, in US dollars; None when unknown

Methods summary

__init__(market, kind, assets, share_of_assets)

market: str

Morpho market id (0x-prefixed bytes32), or the Euler strategy or EVK vault address

kind: str

morpho_market, euler_strategy, euler_collateral, or idle for a Morpho market without collateral, which curators use to hold idle assets

assets: float

The vault’s assets in this position, in denomination token units; 0 for euler_collateral, whose exposure is not known

share_of_assets: float

Share of the vault’s total assets; for euler_collateral the share of the whole EVK vault, an upper bound

redeemable: Optional[float]

Assets the vault could withdraw from this position now, in denomination token units

utilisation: Optional[float]

Market utilisation, borrowed over supplied

collateral: Optional[eth_typing.evm.HexAddress]

Collateral token address, if any

collateral_symbol: Optional[str]

Collateral token symbol

collateral_name: Optional[str]

Collateral token name

oracle: Optional[eth_typing.evm.HexAddress]

Price oracle address of the market

lltv: Optional[float]

Liquidation loan-to-value, as a fraction (Morpho stores it scaled by 1e18)

collateral_underlying: Optional[eth_typing.evm.HexAddress]

When the collateral is itself an ERC-4626 vault share, the vault’s underlying asset; DEX liquidity is then measured for the underlying asset

collateral_dex_liquidity_usd: Optional[float]

Largest DEX liquidity of the collateral, or of its underlying asset, in US dollars; None when unknown

__init__(market, kind, assets, share_of_assets, redeemable=None, utilisation=None, collateral=None, collateral_symbol=None, collateral_name=None, oracle=None, lltv=None, collateral_underlying=None, collateral_dex_liquidity_usd=None)
Parameters
Return type

None