@@ -10,36 +10,21 @@ import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
1010import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol " ;
1111import { IAddressManager } from "interfaces/legacy/IAddressManager.sol " ;
1212import { IProxyAdmin } from "interfaces/universal/IProxyAdmin.sol " ;
13- import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol " ;
1413import { IDisputeGameFactory } from "interfaces/dispute/IDisputeGameFactory.sol " ;
1514import { IFaultDisputeGame } from "interfaces/dispute/IFaultDisputeGame.sol " ;
1615import { IPermissionedDisputeGame } from "interfaces/dispute/IPermissionedDisputeGame.sol " ;
1716import { IProtocolVersions } from "interfaces/L1/IProtocolVersions.sol " ;
1817import { IOptimismPortal2 } from "interfaces/L1/IOptimismPortal2.sol " ;
1918import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol " ;
20- import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol " ;
2119import { IL1CrossDomainMessenger } from "interfaces/L1/IL1CrossDomainMessenger.sol " ;
2220import { IL1ERC721Bridge } from "interfaces/L1/IL1ERC721Bridge.sol " ;
2321import { IL1StandardBridge } from "interfaces/L1/IL1StandardBridge.sol " ;
2422import { IOptimismMintableERC20Factory } from "interfaces/universal/IOptimismMintableERC20Factory.sol " ;
2523import { IETHLockbox } from "interfaces/L1/IETHLockbox.sol " ;
2624import { IOPContractsManagerStandardValidator } from "interfaces/L1/IOPContractsManagerStandardValidator.sol " ;
27-
28- interface IOPContractsManagerContractsContainer {
29- error OPContractsManagerContractsContainer_DevFeatureInProd ();
30-
31- function __constructor__ (
32- IOPContractsManager.Blueprints memory _blueprints ,
33- IOPContractsManager.Implementations memory _implementations ,
34- bytes32 _devFeatureBitmap
35- )
36- external ;
37-
38- function blueprints () external view returns (IOPContractsManager.Blueprints memory );
39- function implementations () external view returns (IOPContractsManager.Implementations memory );
40- function devFeatureBitmap () external view returns (bytes32 );
41- function isDevFeatureEnabled (bytes32 _feature ) external view returns (bool );
42- }
25+ import { IOPContractsManagerV2 } from "interfaces/L1/opcm/IOPContractsManagerV2.sol " ;
26+ import { IOPContractsManagerContractsContainer } from "interfaces/L1/opcm/IOPContractsManagerContractsContainer.sol " ;
27+ import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol " ;
4328
4429interface IOPContractsManagerGameTypeAdder {
4530 error OPContractsManagerGameTypeAdder_UnsupportedGameType ();
@@ -179,45 +164,6 @@ interface IOPContractsManager {
179164 IDelayedWETH delayedWETHPermissionlessGameProxy;
180165 }
181166
182- /// @notice Addresses of ERC-5202 Blueprint contracts. There are used for deploying full size
183- /// contracts, to reduce the code size of this factory contract. If it deployed full contracts
184- /// using the `new Proxy()` syntax, the code size would get large fast, since this contract would
185- /// contain the bytecode of every contract it deploys. Therefore we instead use Blueprints to
186- /// reduce the code size of this contract.
187- struct Blueprints {
188- address addressManager;
189- address proxy;
190- address proxyAdmin;
191- address l1ChugSplashProxy;
192- address resolvedDelegateProxy;
193- address permissionedDisputeGame1;
194- address permissionedDisputeGame2;
195- address permissionlessDisputeGame1;
196- address permissionlessDisputeGame2;
197- }
198-
199- /// @notice The latest implementation contracts for the OP Stack.
200- struct Implementations {
201- address superchainConfigImpl;
202- address protocolVersionsImpl;
203- address l1ERC721BridgeImpl;
204- address optimismPortalImpl;
205- address optimismPortalInteropImpl;
206- address ethLockboxImpl;
207- address systemConfigImpl;
208- address optimismMintableERC20FactoryImpl;
209- address l1CrossDomainMessengerImpl;
210- address l1StandardBridgeImpl;
211- address disputeGameFactoryImpl;
212- address anchorStateRegistryImpl;
213- address delayedWETHImpl;
214- address mipsImpl;
215- address faultDisputeGameV2Impl;
216- address permissionedDisputeGameV2Impl;
217- address superFaultDisputeGameImpl;
218- address superPermissionedDisputeGameImpl;
219- }
220-
221167 /// @notice The input required to identify a chain for upgrading.
222168 struct OpChainConfig {
223169 ISystemConfig systemConfigProxy;
@@ -302,6 +248,10 @@ interface IOPContractsManager {
302248
303249 error InvalidDevFeatureAccess (bytes32 devFeature );
304250
251+ error MissingPermissionedDisputeGame ();
252+
253+ event Deployed (uint256 indexed l2ChainId , address indexed deployer , bytes deployOutput );
254+
305255 // -------- Methods --------
306256
307257 function __constructor__ (
@@ -310,6 +260,7 @@ interface IOPContractsManager {
310260 IOPContractsManagerUpgrader _opcmUpgrader ,
311261 IOPContractsManagerInteropMigrator _opcmInteropMigrator ,
312262 IOPContractsManagerStandardValidator _opcmStandardValidator ,
263+ IOPContractsManagerV2 _opcmV2 ,
313264 ISuperchainConfig _superchainConfig ,
314265 IProtocolVersions _protocolVersions
315266 )
@@ -379,7 +330,7 @@ interface IOPContractsManager {
379330 function chainIdToBatchInboxAddress (uint256 _l2ChainId ) external pure returns (address );
380331
381332 /// @notice Returns the blueprint contract addresses.
382- function blueprints () external view returns (Blueprints memory );
333+ function blueprints () external view returns (IOPContractsManagerContractsContainer. Blueprints memory );
383334
384335 function opcmDeployer () external view returns (IOPContractsManagerDeployer);
385336
@@ -391,6 +342,8 @@ interface IOPContractsManager {
391342
392343 function opcmStandardValidator () external view returns (IOPContractsManagerStandardValidator);
393344
345+ function opcmV2 () external view returns (IOPContractsManagerV2);
346+
394347 /// @notice Retrieves the development feature bitmap stored in this OPCM contract
395348 /// @return The development feature bitmap.
396349 function devFeatureBitmap () external view returns (bytes32 );
@@ -401,5 +354,5 @@ interface IOPContractsManager {
401354 function isDevFeatureEnabled (bytes32 _feature ) external view returns (bool );
402355
403356 /// @notice Returns the implementation contract addresses.
404- function implementations () external view returns (Implementations memory );
357+ function implementations () external view returns (IOPContractsManagerContractsContainer. Implementations memory );
405358}
0 commit comments