// Source: contracts/interfaces/IInitProxy.sol pragma solidity ^0.8.0; // SPDX-License-Identifier: MIT // File contracts/interfaces/IProxy.sol // General interface for upgradable contracts interface IProxy { error InvalidOwner(); error InvalidImplementation(); error SetupFailed(); error NotOwner(); error AlreadyInitialized(); function implementation() external view returns (address); function setup(bytes calldata setupParams) external; } // File contracts/interfaces/IInitProxy.sol // General interface for upgradable contracts interface IInitProxy is IProxy { function init( address implementationAddress, address newOwner, bytes memory params ) external; }