diff --git a/contracts/script/DeployDeployChain.s.sol b/contracts/script/DeployDeployChain.s.sol index 1618eb3..b5fd7ec 100644 --- a/contracts/script/DeployDeployChain.s.sol +++ b/contracts/script/DeployDeployChain.s.sol @@ -14,6 +14,7 @@ contract DeployDeployChain is Script, Artifacts { console.log("Deploying DeployChain implementation"); vm.broadcast(); DeployChain deployChain = new DeployChain{salt: _implSalt()}({ + _owner: tx.origin, _proxyAdmin: mustGetAddress("ProxyAdmin"), _optimismPortal: mustGetAddress("OptimismPortalProxy"), _systemConfig: mustGetAddress("SystemConfigProxy"), diff --git a/contracts/script/DeploySystem.s.sol b/contracts/script/DeploySystem.s.sol index 2992c0c..fee81ad 100644 --- a/contracts/script/DeploySystem.s.sol +++ b/contracts/script/DeploySystem.s.sol @@ -201,6 +201,7 @@ contract DeploySystem is Deploy { function deployDeployChain() public broadcast returns (address addr_) { console.log("Deploying DeployChain implementation"); DeployChain deployChain = new DeployChain{salt: _implSalt()}({ + _owner: tx.origin, _proxyAdmin: mustGetAddress("ProxyAdmin"), _optimismPortal: mustGetAddress("OptimismPortalProxy"), _systemConfig: mustGetAddress("SystemConfigProxy"), diff --git a/contracts/src/DeployChain.sol b/contracts/src/DeployChain.sol index f71b8e4..765431b 100644 --- a/contracts/src/DeployChain.sol +++ b/contracts/src/DeployChain.sol @@ -77,6 +77,7 @@ contract DeployChain is Ownable { address public immutable protocolVersions; constructor( + address _owner, address _proxyAdmin, address _optimismPortal, address _systemConfig, @@ -108,6 +109,7 @@ contract DeployChain is Ownable { l2OutputOracle = _l2OutputOracle; superchainConfig = _superchainConfig; protocolVersions = _protocolVersions; + transferOwnership(_owner); } function deployAddresses(uint256 chainID) external view returns (DeployAddresses memory) {