• Mark Tyneway's avatar
    contracts-bedrock: mainnet protocol versions deployment · 5dee68b4
    Mark Tyneway authored
    Deploy `ProtocolVersions` to mainnet and configure.
    
    ```bash
    cast admin $(jq -r .address < deployments/mainnet/ProtocolVersionsProxy.json)
    0x543ba4aadbab8f9025686bd03993043599c6fb04
    
    cast implementation $(jq -r .address < deployments/mainnet/ProtocolVersionsProxy.json)
    0x42f0bd8313ad456a38061308857b2383fe2c72a0
    
    jq -r .address < deployments/mainnet/ProtocolVersions.json
    0x42F0bD8313ad456A38061308857b2383fe2c72a0
    
    ```
    
    The following diff to the deploy script was used to get around
    needing to do everything via multisig transactions:
    
    ```
    diff --git a/packages/contracts-bedrock/scripts/Deploy.s.sol b/packages/contracts-bedrock/scripts/Deploy.s.sol
    index b65ea490f..6dee882eb 100644
    --- a/packages/contracts-bedrock/scripts/Deploy.s.sol
    +++ b/packages/contracts-bedrock/scripts/Deploy.s.sol
    @@ -353,8 +353,8 @@ contract Deploy is Deployer {
         }
    
         /// @notice Deploy the ProtocolVersionsProxy
    -    function deployProtocolVersionsProxy() public onlyTestnetOrDevnet broadcast returns (address addr_) {
    -        address proxyAdmin = mustGetAddress("ProxyAdmin");
    +    function deployProtocolVersionsProxy() public broadcast returns (address addr_) {
    +        address proxyAdmin = 0x354F3f4ECdcA5E0A7acE08d71348cdC1Dab48960;
             Proxy proxy = new Proxy({
                 _admin: proxyAdmin
             });
    @@ -458,7 +458,7 @@ contract Deploy is Deployer {
         }
    
         /// @notice Deploy the ProtocolVersions
    -    function deployProtocolVersions() public onlyTestnetOrDevnet broadcast returns (address addr_) {
    +    function deployProtocolVersions() public broadcast returns (address addr_) {
             ProtocolVersions versions = new ProtocolVersions{ salt: implSalt() }();
             save("ProtocolVersions", address(versions));
             console.log("ProtocolVersions deployed at %s", address(versions));
    @@ -861,7 +861,7 @@ contract Deploy is Deployer {
             require(portal.paused() == false);
         }
    
    -    function initializeProtocolVersions() public onlyTestnetOrDevnet broadcast {
    +    function initializeProtocolVersions() public broadcast {
             address protocolVersionsProxy = mustGetAddress("ProtocolVersionsProxy");
             address protocolVersions = mustGetAddress("ProtocolVersions");
    
    @@ -869,6 +869,19 @@ contract Deploy is Deployer {
             uint256 requiredProtocolVersion = cfg.requiredProtocolVersion();
             uint256 recommendedProtocolVersion = cfg.recommendedProtocolVersion();
    
    +       Proxy(payable(protocolVersionsProxy)).upgradeToAndCall(
    +           protocolVersions,
    +            abi.encodeCall(
    +                ProtocolVersions.initialize,
    +                (
    +                    finalSystemOwner,
    +                    ProtocolVersion.wrap(requiredProtocolVersion),
    +                    ProtocolVersion.wrap(recommendedProtocolVersion)
    +                )
    +            )
    +        );
    +
    +        /*
             _upgradeAndCallViaSafe({
                 _proxy: payable(protocolVersionsProxy),
                 _implementation: protocolVersions,
    @@ -881,6 +894,7 @@ contract Deploy is Deployer {
                     )
                     )
             });
    +        */
    
             ProtocolVersions versions = ProtocolVersions(protocolVersionsProxy);
             string memory version = versions.version();
    
    ```
    5dee68b4
Name
Last commit
Last update
..
devnetL1-template.json Loading commit data...
getting-started.json Loading commit data...
goerli.json Loading commit data...
hardhat.json Loading commit data...
internal-devnet.json Loading commit data...
mainnet.json Loading commit data...
pgn-sepolia.json Loading commit data...
pgn.json Loading commit data...
sepolia.json Loading commit data...
zora-goerli.json Loading commit data...
zora.json Loading commit data...