LayerCover

IRiskManager

Interface for risk assessment, incident reporting, and claim validation.

View deployed contract addresses in the Contract Addresses section.

The IRiskManager is responsible for the "risk" side of the protocol. It handles incident reporting, configures the live claims system, and coordinates payout-related safety controls.

Interface

// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.20;

import "./IPoolRegistry.sol";
import "./IRMSalvageManager.sol";

/**
 * @title IRiskManager
 * @notice Interface for incident reporting, claims control, and risk-system configuration.
 */
interface IRiskManager {
    struct RiskManagerConfig {
        address committee;
        bool isTestnet;
    }

    function configure(RiskManagerConfig memory config) external;
    function state() external view returns (address committee, bool isTestnet);

    function setPoolFeeRecipient(uint256 _poolId, address _recipient) external;


    function setClaimSenderBlacklist(address sender, bool blacklisted) external;
    function claimSenderBlacklist(address sender) external view returns (bool);
    
    function reportIncident(uint256 _poolId, bool _pauseState, uint256 incidentBlock) external;
    
    function claimOutstandingDebt(uint256 policyId) external returns (uint256 paid, uint256 remaining);
    function setReinsuranceSettlementModule(address module) external;
    function reinsuranceSettlementModule() external view returns (address);

}

Incident Flow

When a covered protocol experiences an incident (e.g., a hack or depeg event):


Claim Blacklisting

The blacklist feature prevents certain addresses from filing claims:

FunctionDescription
setClaimSenderBlacklist(addr, true)Blocks address from claims
setClaimSenderBlacklist(addr, false)Allows address to claim
claimSenderBlacklist(addr)Check if address is blocked