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:
| Function | Description |
|---|---|
setClaimSenderBlacklist(addr, true) | Blocks address from claims |
setClaimSenderBlacklist(addr, false) | Allows address to claim |
claimSenderBlacklist(addr) | Check if address is blocked |
Related Documentation
- Claims & Salvage - How claims affect capital
- IPayoutManager - Executes claim payouts
- Access Controls - Committee and admin roles