Commit 8f2a1f8c authored by Mark Tyneway's avatar Mark Tyneway

contracts-bedrock: modularize deploy script

The way to deploy a new OP Stack chain that is part
of the superchain will be through
the `deployProxies` function in this script.
parent 40d9266a
......@@ -64,31 +64,8 @@ contract Deploy is Deployer {
function run() public {
console.log("Deploying L1 system");
deployAddressManager();
deployProxyAdmin();
deployOptimismPortalProxy();
deployL2OutputOracleProxy();
deploySystemConfigProxy();
deployL1StandardBridgeProxy();
deployL1CrossDomainMessengerProxy();
deployOptimismMintableERC20FactoryProxy();
deployL1ERC721BridgeProxy();
deployDisputeGameFactoryProxy();
deployOptimismPortal();
deployL1CrossDomainMessenger();
deployL2OutputOracle();
deployOptimismMintableERC20Factory();
deploySystemConfig();
deployL1StandardBridge();
deployL1ERC721Bridge();
deployDisputeGameFactory();
deployBlockOracle();
deployPreimageOracle();
deployMips();
transferAddressManagerOwnership();
deployProxies();
deployImplementations();
initializeDisputeGameFactory();
initializeSystemConfig();
......@@ -120,6 +97,38 @@ contract Deploy is Deployer {
}
}
/// @notice Deploy all of the proxies
function deployProxies() public {
deployAddressManager();
deployProxyAdmin();
deployOptimismPortalProxy();
deployL2OutputOracleProxy();
deploySystemConfigProxy();
deployL1StandardBridgeProxy();
deployL1CrossDomainMessengerProxy();
deployOptimismMintableERC20FactoryProxy();
deployL1ERC721BridgeProxy();
deployDisputeGameFactoryProxy();
transferAddressManagerOwnership();
}
/// @notice Deploy all of the implementations
function deployImplementations() public {
deployOptimismPortal();
deployL1CrossDomainMessenger();
deployL2OutputOracle();
deployOptimismMintableERC20Factory();
deploySystemConfig();
deployL1StandardBridge();
deployL1ERC721Bridge();
deployDisputeGameFactory();
deployBlockOracle();
deployPreimageOracle();
deployMips();
}
/// @notice Deploy the AddressManager
function deployAddressManager() broadcast() public returns (address) {
AddressManager manager = new AddressManager();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment