all files / plugins/assets/compoundv3/vendor/ ICometProxyAdmin.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                                         
// SPDX-License-Identifier: BlueOak-1.0.0
pragma solidity 0.8.17;
 
import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
 
interface Deployable {
    function deploy(address cometProxy) external returns (address);
}
 
interface ICometProxyAdmin {
    /**
     * @dev Deploy a new Comet and upgrade the implementation of the Comet proxy
     *  Requirements:
     *   - This contract must be the admin of `CometProxy`
     */
    function deployAndUpgradeTo(
        Deployable configuratorProxy,
        TransparentUpgradeableProxy cometProxy
    ) external;
}