all files / interfaces/ IDeployerRegistry.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 17 18 19 20 21 22 23 24 25 26 27                                                     
// SPDX-License-Identifier: BlueOak-1.0.0
pragma solidity 0.8.17;
 
import "./IDeployer.sol";
 
interface IDeployerRegistry {
    event DeploymentUnregistered(string version, IDeployer deployer);
    event DeploymentRegistered(string version, IDeployer deployer);
    event LatestChanged(string version, IDeployer deployer);
 
    /// Register a deployer address, keyed by a version.
    /// @dev Does not allow overwriting without deregistration
    /// @param version A semver version string
    /// @param makeLatest True iff this deployment should be promoted to be the latest deployment
    function register(
        string calldata version,
        IDeployer deployer,
        bool makeLatest
    ) external;
 
    /// Unregister by version
    function unregister(string calldata version) external;
 
    /// @return The Deployer from the latest deployment
    function latestDeployment() external view returns (IDeployer);
}