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); } |