all files / interfaces/ IComponent.sol

100% Statements 0/0
100% Branches 0/0
100% Functions 0/0
100% Lines 0/0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16                               
// SPDX-License-Identifier: BlueOak-1.0.0
pragma solidity 0.8.17;
 
import "./IMain.sol";
import "./IVersioned.sol";
 
/**
 * @title IComponent
 * @notice A Component is the central building block of all our system contracts. Components
 *   contain important state that must be migrated during upgrades, and they delegate
 *   their ownership to Main's owner.
 */
interface IComponent is IVersioned {
    function main() external view returns (IMain);
}