@@ -1992,6 +1992,9 @@ contract OPContractsManagerInteropMigrator is OPContractsManagerBase {
19921992 }
19931993}
19941994
1995+ /// @title OPContractsManagerV2
1996+ /// @notice OPContractsManagerV2 is an enhanced version of OPContractsManager that unifies all
1997+ /// existing OPContractsManager functionality into a single contract and codepath.
19951998contract OPContractsManagerV2 is OPContractsManagerBase {
19961999 /// @notice Configuration for the FaultDisputeGame.
19972000 struct FaultDisputeGameConfig {
@@ -2103,17 +2106,6 @@ contract OPContractsManagerV2 is OPContractsManagerBase {
21032106 /// @param _container The OPContractsManagerContractsContainer contract.
21042107 constructor (OPContractsManagerContractsContainer _container ) OPContractsManagerBase (_container) { }
21052108
2106- /// @notice Helper, logs when this contract creates proxies, makes fuzz testing for accidental
2107- /// proxy creation easier.
2108- /// @param _name The name of the proxy.
2109- /// @param _proxy The address of the proxy.
2110- function logProxyCreation (string memory _name , address _proxy ) public {
2111- if (msg .sender != address (this )) {
2112- revert OPContractsManagerV2_ProxyLogOnlySelf ();
2113- }
2114- emit ProxyCreation (_name, _proxy);
2115- }
2116-
21172109 /// @notice Deploys a new chain from full config.
21182110 /// @param _cfg The full config.
21192111 /// @return The chain contracts.
@@ -2140,6 +2132,17 @@ contract OPContractsManagerV2 is OPContractsManagerBase {
21402132 return _execute (cfg, cts, false );
21412133 }
21422134
2135+ /// @notice Helper function logs when this contract creates proxies. Using an external function
2136+ /// for this purpose significantly improves our ability to fuzz test the contract.
2137+ /// @param _name The name of the proxy.
2138+ /// @param _proxy The address of the proxy.
2139+ function logProxyCreation (string memory _name , address _proxy ) public {
2140+ if (msg .sender != address (this )) {
2141+ revert OPContractsManagerV2_ProxyLogOnlySelf ();
2142+ }
2143+ emit ProxyCreation (_name, _proxy);
2144+ }
2145+
21432146 /// @notice Builds or loads the chain contracts from whatever exists.
21442147 /// @param _systemConfig The SystemConfig contract.
21452148 /// @param _l2ChainId The L2 chain ID.
0 commit comments