Commit 39e0f1e5 authored by Maurelian's avatar Maurelian

contracts-bedrock: Add superchain config to post ChainAssertions

parent 76beb937
......@@ -9,6 +9,7 @@ import { Constants } from "src/libraries/Constants.sol";
import { L1StandardBridge } from "src/L1/L1StandardBridge.sol";
import { L2OutputOracle } from "src/L1/L2OutputOracle.sol";
import { ProtocolVersion, ProtocolVersions } from "src/L1/ProtocolVersions.sol";
import { SuperchainConfig } from "src/L1/SuperchainConfig.sol";
import { OptimismPortal } from "src/L1/OptimismPortal.sol";
import { L1CrossDomainMessenger } from "src/L1/L1CrossDomainMessenger.sol";
import { OptimismMintableERC20Factory } from "src/universal/OptimismMintableERC20Factory.sol";
......@@ -178,4 +179,11 @@ library ChainAssertions {
require(ProtocolVersion.unwrap(versions.recommended()) == 0);
}
}
/// @notice Asserts that the SuperchainConfig is setup correctly
function checkSuperchainConfig(Types.ContractSet memory _contracts, DeployConfig _cfg) internal view {
SuperchainConfig superchainConfig = SuperchainConfig(_contracts.SuperchainConfig);
require(superchainConfig.guardian() == _cfg.portalGuardian());
require(superchainConfig.paused() == false);
}
}
......@@ -242,6 +242,7 @@ contract Deploy is Deployer {
deploySuperchainConfig();
initializeSuperchainConfig();
// Deploy the ProtocolVersionsProxy
deployERC1967Proxy("ProtocolVersionsProxy");
deployProtocolVersions();
initializeProtocolVersions();
......@@ -706,11 +707,7 @@ contract Deploy is Deployer {
_upgradeAndCallViaSafe({
_proxy: superchainConfigProxy,
_implementation: superchainConfig,
_innerCallData: abi.encodeCall( // reverts in call to initialize
// SuperchainConfig.initialize, (mustGetAddress("SystemOwner"), cfg.superchainConfigGuardian(),)
SuperchainConfig.initialize,
(cfg.portalGuardian())
)
_innerCallData: abi.encodeCall(SuperchainConfig.initialize, (cfg.portalGuardian()))
});
ChainAssertions.checkSuperchainConfig(_proxiesUnstrict(), cfg);
......
......@@ -12,5 +12,6 @@ library Types {
address SystemConfig;
address L1ERC721Bridge;
address ProtocolVersions;
address SuperchainConfig;
}
}
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