ManagedTvlModule contract provides a mechanism to artificially reduce or increase tvl using regular or debt tokens in the vault to reduce possible losses due to slashing events.

Key Features

  • Parameter Management: Enables setting of asset parameters used for calculating TVL.

  • TVL Calculation: Computes the TVL for the vault according to the predefined asset parameters.

  • Access Control: Ensures only authorized administrators can modify vault parameters.


  1. Parameter Management

    • setParams(address, Data[]): Sets asset parameters for a given vault.

      • vault: The address of the vault.

      • data: An array of Data structures containing asset details.

      • Event:

        • ManagedTvlModuleSetParams(address, Data[], uint256): Emitted after asset parameters are set for a vault.

          • vault: Address of the vault.

          • data: An array of Data structures.

          • timestamp: Timestamp of the parameter update.

  2. TVL Calculation

    • tvl(address): Computes the total value locked for the vault based on predefined asset parameters.

      • vault: The address of the vault.

      • Returns: An array of Data structures with details about each asset:

        • token: Address of the ERC20 token.

        • underlyingToken: Address of the base asset.

        • amount: The amount of the token held by the vault.

        • underlyingAmount: Amount translated to the base asset.