Skip to content

Commit

Permalink
Interfaces in OPCM and OPCMInterop (#12188)
Browse files Browse the repository at this point in the history
* Updates to OPCM and OPCMInterop

* Update DeployImpls and OPCM Tests

* remove some unused imports

* Undo mapping type change

* Undo DeployOutput type change

* Semver and snapshots
  • Loading branch information
maurelian authored Sep 28, 2024
1 parent 5eaac1d commit 6ba2ac0
Show file tree
Hide file tree
Showing 9 changed files with 120 additions and 121 deletions.
23 changes: 11 additions & 12 deletions packages/contracts-bedrock/scripts/DeployImplementations.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { LibString } from "@solady/utils/LibString.sol";

import { IResourceMetering } from "src/L1/interfaces/IResourceMetering.sol";
import { ISuperchainConfig } from "src/L1/interfaces/ISuperchainConfig.sol";
import { IProtocolVersions } from "src/L1/interfaces/IProtocolVersions.sol";
import { ISystemConfigV160 } from "src/L1/interfaces/ISystemConfigV160.sol";
import { IL1CrossDomainMessengerV160 } from "src/L1/interfaces/IL1CrossDomainMessengerV160.sol";
import { IL1StandardBridgeV160 } from "src/L1/interfaces/IL1StandardBridgeV160.sol";
Expand All @@ -29,8 +30,6 @@ import { DisputeGameFactory } from "src/dispute/DisputeGameFactory.sol";
import { AnchorStateRegistry } from "src/dispute/AnchorStateRegistry.sol";
import { PermissionedDisputeGame } from "src/dispute/PermissionedDisputeGame.sol";

import { SuperchainConfig } from "src/L1/SuperchainConfig.sol";
import { ProtocolVersions } from "src/L1/ProtocolVersions.sol";
import { OPContractsManager } from "src/L1/OPContractsManager.sol";
import { OptimismPortal2 } from "src/L1/OptimismPortal2.sol";
import { SystemConfig } from "src/L1/SystemConfig.sol";
Expand Down Expand Up @@ -62,8 +61,8 @@ contract DeployImplementationsInput is BaseDeployIO {
string internal _release;

// Outputs from DeploySuperchain.s.sol.
SuperchainConfig internal _superchainConfigProxy;
ProtocolVersions internal _protocolVersionsProxy;
ISuperchainConfig internal _superchainConfigProxy;
IProtocolVersions internal _protocolVersionsProxy;

string internal _standardVersionsToml;

Expand Down Expand Up @@ -97,8 +96,8 @@ contract DeployImplementationsInput is BaseDeployIO {

function set(bytes4 _sel, address _addr) public {
require(_addr != address(0), "DeployImplementationsInput: cannot set zero address");
if (_sel == this.superchainConfigProxy.selector) _superchainConfigProxy = SuperchainConfig(_addr);
else if (_sel == this.protocolVersionsProxy.selector) _protocolVersionsProxy = ProtocolVersions(_addr);
if (_sel == this.superchainConfigProxy.selector) _superchainConfigProxy = ISuperchainConfig(_addr);
else if (_sel == this.protocolVersionsProxy.selector) _protocolVersionsProxy = IProtocolVersions(_addr);
else if (_sel == this.opcmProxyOwner.selector) _opcmProxyOwner = _addr;
else revert("DeployImplementationsInput: unknown selector");
}
Expand Down Expand Up @@ -151,12 +150,12 @@ contract DeployImplementationsInput is BaseDeployIO {
return _standardVersionsToml;
}

function superchainConfigProxy() public view returns (SuperchainConfig) {
function superchainConfigProxy() public view returns (ISuperchainConfig) {
require(address(_superchainConfigProxy) != address(0), "DeployImplementationsInput: not set");
return _superchainConfigProxy;
}

function protocolVersionsProxy() public view returns (ProtocolVersions) {
function protocolVersionsProxy() public view returns (IProtocolVersions) {
require(address(_protocolVersionsProxy) != address(0), "DeployImplementationsInput: not set");
return _protocolVersionsProxy;
}
Expand Down Expand Up @@ -777,8 +776,8 @@ contract DeployImplementations is Script {
public
virtual
{
SuperchainConfig superchainConfigProxy = _dii.superchainConfigProxy();
ProtocolVersions protocolVersionsProxy = _dii.protocolVersionsProxy();
ISuperchainConfig superchainConfigProxy = _dii.superchainConfigProxy();
IProtocolVersions protocolVersionsProxy = _dii.protocolVersionsProxy();

vm.broadcast(msg.sender);
// TODO: Eventually we will want to select the correct implementation based on the release.
Expand Down Expand Up @@ -1147,8 +1146,8 @@ contract DeployImplementationsInterop is DeployImplementations {
public
override
{
SuperchainConfig superchainConfigProxy = _dii.superchainConfigProxy();
ProtocolVersions protocolVersionsProxy = _dii.protocolVersionsProxy();
ISuperchainConfig superchainConfigProxy = _dii.superchainConfigProxy();
IProtocolVersions protocolVersionsProxy = _dii.protocolVersionsProxy();

vm.broadcast(msg.sender);
// TODO: Eventually we will want to select the correct implementation based on the release.
Expand Down
4 changes: 2 additions & 2 deletions packages/contracts-bedrock/semver-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
"sourceCodeHash": "0xde4df0f9633dc0cdb1c9f634003ea5b0f7c5c1aebc407bc1b2f44c0ecf938649"
},
"src/L1/OPContractsManager.sol": {
"initCodeHash": "0xf64b41f5ec9a94ddbac484f2bdcb5792bf71e66ed6197d172cfd4592311f9b85",
"sourceCodeHash": "0x0ac3668c5f1ccbd49713a4e079f0dafb5cc45eca8de33e0faf0f01b1b989da89"
"initCodeHash": "0xa0c1139a01cef2445266c71175eff2d36e4b3a7584b198835ed8cba4f7143704",
"sourceCodeHash": "0x67f9846a215d0817a75b4beee50925861d14da2cab1b699bb4e8ae89fa12d01b"
},
"src/L1/OptimismPortal.sol": {
"initCodeHash": "0xbe2c0c81b3459014f287d8c89cdc0d27dde5d1f44e5d024fa1e4773ddc47c190",
Expand Down
36 changes: 18 additions & 18 deletions packages/contracts-bedrock/snapshots/abi/OPContractsManager.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
{
"inputs": [
{
"internalType": "contract SuperchainConfig",
"internalType": "contract ISuperchainConfig",
"name": "_superchainConfig",
"type": "address"
},
{
"internalType": "contract ProtocolVersions",
"internalType": "contract IProtocolVersions",
"name": "_protocolVersions",
"type": "address"
}
Expand Down Expand Up @@ -184,17 +184,17 @@
"type": "address"
},
{
"internalType": "contract AddressManager",
"internalType": "contract IAddressManager",
"name": "addressManager",
"type": "address"
},
{
"internalType": "contract L1ERC721Bridge",
"internalType": "contract IL1ERC721Bridge",
"name": "l1ERC721BridgeProxy",
"type": "address"
},
{
"internalType": "contract SystemConfig",
"internalType": "contract ISystemConfig",
"name": "systemConfigProxy",
"type": "address"
},
Expand All @@ -204,52 +204,52 @@
"type": "address"
},
{
"internalType": "contract L1StandardBridge",
"internalType": "contract IL1StandardBridge",
"name": "l1StandardBridgeProxy",
"type": "address"
},
{
"internalType": "contract L1CrossDomainMessenger",
"internalType": "contract IL1CrossDomainMessenger",
"name": "l1CrossDomainMessengerProxy",
"type": "address"
},
{
"internalType": "contract OptimismPortal2",
"internalType": "contract IOptimismPortal2",
"name": "optimismPortalProxy",
"type": "address"
},
{
"internalType": "contract DisputeGameFactory",
"internalType": "contract IDisputeGameFactory",
"name": "disputeGameFactoryProxy",
"type": "address"
},
{
"internalType": "contract AnchorStateRegistry",
"internalType": "contract IAnchorStateRegistry",
"name": "anchorStateRegistryProxy",
"type": "address"
},
{
"internalType": "contract AnchorStateRegistry",
"internalType": "contract IAnchorStateRegistry",
"name": "anchorStateRegistryImpl",
"type": "address"
},
{
"internalType": "contract FaultDisputeGame",
"internalType": "contract IFaultDisputeGame",
"name": "faultDisputeGame",
"type": "address"
},
{
"internalType": "contract PermissionedDisputeGame",
"internalType": "contract IPermissionedDisputeGame",
"name": "permissionedDisputeGame",
"type": "address"
},
{
"internalType": "contract DelayedWETH",
"internalType": "contract IDelayedWETH",
"name": "delayedWETHPermissionedGameProxy",
"type": "address"
},
{
"internalType": "contract DelayedWETH",
"internalType": "contract IDelayedWETH",
"name": "delayedWETHPermissionlessGameProxy",
"type": "address"
}
Expand Down Expand Up @@ -410,7 +410,7 @@
"name": "protocolVersions",
"outputs": [
{
"internalType": "contract ProtocolVersions",
"internalType": "contract IProtocolVersions",
"name": "",
"type": "address"
}
Expand All @@ -423,7 +423,7 @@
"name": "superchainConfig",
"outputs": [
{
"internalType": "contract SuperchainConfig",
"internalType": "contract ISuperchainConfig",
"name": "",
"type": "address"
}
Expand All @@ -442,7 +442,7 @@
"name": "systemConfigs",
"outputs": [
{
"internalType": "contract SystemConfig",
"internalType": "contract ISystemConfig",
"name": "",
"type": "address"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
{
"inputs": [
{
"internalType": "contract SuperchainConfig",
"internalType": "contract ISuperchainConfig",
"name": "_superchainConfig",
"type": "address"
},
{
"internalType": "contract ProtocolVersions",
"internalType": "contract IProtocolVersions",
"name": "_protocolVersions",
"type": "address"
}
Expand Down Expand Up @@ -184,17 +184,17 @@
"type": "address"
},
{
"internalType": "contract AddressManager",
"internalType": "contract IAddressManager",
"name": "addressManager",
"type": "address"
},
{
"internalType": "contract L1ERC721Bridge",
"internalType": "contract IL1ERC721Bridge",
"name": "l1ERC721BridgeProxy",
"type": "address"
},
{
"internalType": "contract SystemConfig",
"internalType": "contract ISystemConfig",
"name": "systemConfigProxy",
"type": "address"
},
Expand All @@ -204,52 +204,52 @@
"type": "address"
},
{
"internalType": "contract L1StandardBridge",
"internalType": "contract IL1StandardBridge",
"name": "l1StandardBridgeProxy",
"type": "address"
},
{
"internalType": "contract L1CrossDomainMessenger",
"internalType": "contract IL1CrossDomainMessenger",
"name": "l1CrossDomainMessengerProxy",
"type": "address"
},
{
"internalType": "contract OptimismPortal2",
"internalType": "contract IOptimismPortal2",
"name": "optimismPortalProxy",
"type": "address"
},
{
"internalType": "contract DisputeGameFactory",
"internalType": "contract IDisputeGameFactory",
"name": "disputeGameFactoryProxy",
"type": "address"
},
{
"internalType": "contract AnchorStateRegistry",
"internalType": "contract IAnchorStateRegistry",
"name": "anchorStateRegistryProxy",
"type": "address"
},
{
"internalType": "contract AnchorStateRegistry",
"internalType": "contract IAnchorStateRegistry",
"name": "anchorStateRegistryImpl",
"type": "address"
},
{
"internalType": "contract FaultDisputeGame",
"internalType": "contract IFaultDisputeGame",
"name": "faultDisputeGame",
"type": "address"
},
{
"internalType": "contract PermissionedDisputeGame",
"internalType": "contract IPermissionedDisputeGame",
"name": "permissionedDisputeGame",
"type": "address"
},
{
"internalType": "contract DelayedWETH",
"internalType": "contract IDelayedWETH",
"name": "delayedWETHPermissionedGameProxy",
"type": "address"
},
{
"internalType": "contract DelayedWETH",
"internalType": "contract IDelayedWETH",
"name": "delayedWETHPermissionlessGameProxy",
"type": "address"
}
Expand Down Expand Up @@ -410,7 +410,7 @@
"name": "protocolVersions",
"outputs": [
{
"internalType": "contract ProtocolVersions",
"internalType": "contract IProtocolVersions",
"name": "",
"type": "address"
}
Expand All @@ -423,7 +423,7 @@
"name": "superchainConfig",
"outputs": [
{
"internalType": "contract SuperchainConfig",
"internalType": "contract ISuperchainConfig",
"name": "",
"type": "address"
}
Expand All @@ -442,7 +442,7 @@
"name": "systemConfigs",
"outputs": [
{
"internalType": "contract SystemConfig",
"internalType": "contract ISystemConfig",
"name": "",
"type": "address"
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"label": "systemConfigs",
"offset": 0,
"slot": "3",
"type": "mapping(uint256 => contract SystemConfig)"
"type": "mapping(uint256 => contract ISystemConfig)"
},
{
"bytes": "256",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"label": "systemConfigs",
"offset": 0,
"slot": "3",
"type": "mapping(uint256 => contract SystemConfig)"
"type": "mapping(uint256 => contract ISystemConfig)"
},
{
"bytes": "256",
Expand Down
Loading

0 comments on commit 6ba2ac0

Please sign in to comment.