Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion op-deployer/pkg/deployer/bootstrap/validator.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ type ValidatorConfig struct {
type ValidatorInput struct {
Release string `json:"release"`
SuperchainConfig common.Address `json:"superchainConfig"`
ProtocolVersions common.Address `json:"protocolVersions"`
L1PAOMultisig common.Address `json:"l1PAOMultisig"`
MIPS common.Address `json:"mips" evm:"mips"`
Challenger common.Address `json:"challenger"`
Expand Down
1 change: 0 additions & 1 deletion op-deployer/pkg/deployer/bootstrap/validator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ func testValidator(t *testing.T, forkRPCURL string, loc *artifacts.Locator, rele
input := ValidatorInput{
Release: release,
SuperchainConfig: common.Address{'S'},
ProtocolVersions: common.Address{'P'},
L1PAOMultisig: common.Address{'M'},
MIPS: common.Address{'I'},
Challenger: common.Address{'C'},
Expand Down
5 changes: 3 additions & 2 deletions op-validator/pkg/validations/addresses.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ const (

var addresses = map[uint64]map[string]common.Address{
11155111: {
VersionV180: common.HexToAddress("0x2A788Bb1D32AD0dcEC1A51B7156015Aa90548d8C"),
VersionV200: common.HexToAddress("0x34FFEEF9D42E0EF0d999fBF01E006f745083Fd9b"),
// Both versions below bootstrapped on 02/23/2025 using OP Deployer.
VersionV180: common.HexToAddress("0x0a5bf8ebb4b177b2dcc6eba933db726a2e2e2b4d"),
VersionV200: common.HexToAddress("0xaf72eedb110f114a3b4e921c12755b4e47dbd63d"),
},
}

Expand Down
4 changes: 2 additions & 2 deletions op-validator/pkg/validations/addresses_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ func TestValidatorAddress(t *testing.T) {
name: "Valid Sepolia v1.8.0",
chainID: 11155111,
version: VersionV180,
want: common.HexToAddress("0x2A788Bb1D32AD0dcEC1A51B7156015Aa90548d8C"),
want: common.HexToAddress("0x0a5bf8ebb4b177b2dcc6eba933db726a2e2e2b4d"),
expectError: false,
},
{
name: "Valid Sepolia v2.0.0",
chainID: 11155111,
version: VersionV200,
want: common.HexToAddress("0x34FFEEF9D42E0EF0d999fBF01E006f745083Fd9b"),
want: common.HexToAddress("0xaf72eedb110f114a3b4e921c12755b4e47dbd63d"),
expectError: false,
},
{
Expand Down
8 changes: 1 addition & 7 deletions op-validator/pkg/validations/codes.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,7 @@ package validations

var descriptions = map[string]string{
// SuperchainConfig validations
"SPRCFG-10": "SuperchainConfig version mismatch",
"SPRCFG-20": "SuperchainConfig implementation address mismatch",
"SPRCFG-30": "SuperchainConfig is paused",

// Protocol Versions validations
"PVER-10": "ProtocolVersions version mismatch",
"PVER-20": "ProtocolVersions implementation address mismatch",
"SPRCFG-10": "SuperchainConfig is paused",

// ProxyAdmin validations
"PROXYA-10": "ProxyAdmin owner is not set to L1 PAO multisig",
Expand Down
2 changes: 1 addition & 1 deletion op-validator/pkg/validations/codes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ func TestErrorDescription(t *testing.T) {
{
name: "known error code",
code: "SPRCFG-10",
expected: "SuperchainConfig version mismatch",
expected: "SuperchainConfig is paused",
},
{
name: "another known error code",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"method": "eth_call",
"params": [
{
"to": "0x2a788bb1d32ad0dcec1a51b7156015aa90548d8c",
"to": "0x0a5bf8ebb4b177b2dcc6eba933db726a2e2e2b4d",
"data": "0x30d14888000000000000000000000000189abaaaa82dfc015a588a7dbad6f13b1d3485bc000000000000000000000000034edd2a225f7f429a63e0f1d2084b9e0a93b538038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c0000000000000000000000000000000000000000000000000000000000aa37dc0000000000000000000000000000000000000000000000000000000000000001"
},
"latest"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"method": "eth_call",
"params": [
{
"to": "0x34ffeef9d42e0ef0d999fbf01e006f745083fd9b",
"to": "0xaf72eedb110f114a3b4e921c12755b4e47dbd63d",
"data": "0x30d14888000000000000000000000000189abaaaa82dfc015a588a7dbad6f13b1d3485bc000000000000000000000000034edd2a225f7f429a63e0f1d2084b9e0a93b538038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c0000000000000000000000000000000000000000000000000000000000aa37dc0000000000000000000000000000000000000000000000000000000000000001"
},
"latest"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,9 @@ pragma solidity ^0.8.0;

// Interfaces
import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IProtocolVersions } from "interfaces/L1/IProtocolVersions.sol";

interface IStandardValidatorBase {
struct ImplementationsBase {
address superchainConfigImpl;
address protocolVersionsImpl;
address l1ERC721BridgeImpl;
address optimismPortalImpl;
address systemConfigImpl;
Expand Down Expand Up @@ -67,7 +64,6 @@ interface IStandardValidatorV180 is IStandardValidatorBase {
function __constructor__(
IStandardValidatorBase.ImplementationsBase memory _implementations,
ISuperchainConfig _superchainConfig,
IProtocolVersions _protocolVersions,
address _l1PAOMultisig,
address _mips,
address _challenger
Expand All @@ -87,7 +83,6 @@ interface IStandardValidatorV200 is IStandardValidatorBase {
function __constructor__(
IStandardValidatorBase.ImplementationsBase memory _implementations,
ISuperchainConfig _superchainConfig,
IProtocolVersions _protocolVersions,
address _l1PAOMultisig,
address _mips,
address _challenger
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import { DeployUtils } from "scripts/libraries/DeployUtils.sol";

// Interfaces
import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
import { IProtocolVersions } from "interfaces/L1/IProtocolVersions.sol";
import {
IStandardValidatorBase,
IStandardValidatorV180,
Expand All @@ -24,7 +23,6 @@ contract DeployStandardValidatorInput is BaseDeployIO {

// Required inputs
ISuperchainConfig internal _superchainConfig;
IProtocolVersions internal _protocolVersions;
address internal _l1PAOMultisig;
address internal _mips;
address internal _challenger;
Expand All @@ -47,9 +45,6 @@ contract DeployStandardValidatorInput is BaseDeployIO {
if (_sel == this.superchainConfig.selector) {
require(_value != address(0), "DeployStandardValidator: superchainConfig cannot be empty");
_superchainConfig = ISuperchainConfig(_value);
} else if (_sel == this.protocolVersions.selector) {
require(_value != address(0), "DeployStandardValidator: protocolVersions cannot be empty");
_protocolVersions = IProtocolVersions(_value);
} else if (_sel == this.l1PAOMultisig.selector) {
require(_value != address(0), "DeployStandardValidator: l1PAOMultisig cannot be empty");
_l1PAOMultisig = _value;
Expand Down Expand Up @@ -118,11 +113,6 @@ contract DeployStandardValidatorInput is BaseDeployIO {
return _superchainConfig;
}

function protocolVersions() public view returns (IProtocolVersions) {
require(address(_protocolVersions) != address(0), "DeployStandardValidator: protocolVersions not set");
return _protocolVersions;
}

function l1PAOMultisig() public view returns (address) {
require(_l1PAOMultisig != address(0), "DeployStandardValidator: l1PAOMultisig not set");
return _l1PAOMultisig;
Expand Down Expand Up @@ -236,8 +226,6 @@ contract DeployStandardValidator is Script {
returns (IStandardValidatorBase.ImplementationsBase memory)
{
return IStandardValidatorBase.ImplementationsBase({
superchainConfigImpl: _si.superchainConfigImpl(),
protocolVersionsImpl: _si.protocolVersionsImpl(),
l1ERC721BridgeImpl: _si.l1ERC721BridgeImpl(),
optimismPortalImpl: _si.optimismPortalImpl(),
systemConfigImpl: _si.systemConfigImpl(),
Expand Down Expand Up @@ -270,14 +258,7 @@ contract DeployStandardValidator is Script {
_args: DeployUtils.encodeConstructor(
abi.encodeCall(
IStandardValidatorV180.__constructor__,
(
getImplementations(_si),
_si.superchainConfig(),
_si.protocolVersions(),
_si.l1PAOMultisig(),
_si.mips(),
_si.challenger()
)
(getImplementations(_si), _si.superchainConfig(), _si.l1PAOMultisig(), _si.mips(), _si.challenger())
)
),
_salt: DeployUtils.DEFAULT_SALT
Expand All @@ -293,14 +274,7 @@ contract DeployStandardValidator is Script {
_args: DeployUtils.encodeConstructor(
abi.encodeCall(
IStandardValidatorV200.__constructor__,
(
getImplementations(_si),
_si.superchainConfig(),
_si.protocolVersions(),
_si.l1PAOMultisig(),
_si.mips(),
_si.challenger()
)
(getImplementations(_si), _si.superchainConfig(), _si.l1PAOMultisig(), _si.mips(), _si.challenger())
)
),
_salt: DeployUtils.DEFAULT_SALT
Expand Down Expand Up @@ -328,18 +302,16 @@ contract DeployStandardValidator is Script {
function assertValidValidatorV180(DeployStandardValidatorInput _si, address _validator) internal view {
IStandardValidatorV180 v180 = IStandardValidatorV180(_validator);
require(address(v180.superchainConfig()) == address(_si.superchainConfig()), "SV180-10");
require(address(v180.protocolVersions()) == address(_si.protocolVersions()), "SV180-20");
require(v180.l1PAOMultisig() == _si.l1PAOMultisig(), "SV180-30");
require(v180.mips() == _si.mips(), "SV180-40");
require(v180.challenger() == _si.challenger(), "SV180-50");
require(v180.l1PAOMultisig() == _si.l1PAOMultisig(), "SV180-20");
require(v180.mips() == _si.mips(), "SV180-30");
require(v180.challenger() == _si.challenger(), "SV180-40");
}

function assertValidValidatorV200(DeployStandardValidatorInput _si, address _validator) internal view {
IStandardValidatorV200 v200 = IStandardValidatorV200(_validator);
require(address(v200.superchainConfig()) == address(_si.superchainConfig()), "SV200-10");
require(address(v200.protocolVersions()) == address(_si.protocolVersions()), "SV200-20");
require(v200.l1PAOMultisig() == _si.l1PAOMultisig(), "SV200-30");
require(v200.mips() == _si.mips(), "SV200-40");
require(v200.challenger() == _si.challenger(), "SV200-50");
require(v200.l1PAOMultisig() == _si.l1PAOMultisig(), "SV200-20");
require(v200.mips() == _si.mips(), "SV200-30");
require(v200.challenger() == _si.challenger(), "SV200-40");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,6 @@
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "superchainConfigImpl",
"type": "address"
},
{
"internalType": "address",
"name": "protocolVersionsImpl",
"type": "address"
},
{
"internalType": "address",
"name": "l1ERC721BridgeImpl",
Expand Down Expand Up @@ -73,11 +63,6 @@
"name": "_superchainConfig",
"type": "address"
},
{
"internalType": "contract IProtocolVersions",
"name": "_protocolVersions",
"type": "address"
},
{
"internalType": "address",
"name": "_l1PAOMultisig",
Expand Down Expand Up @@ -396,45 +381,6 @@
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "protocolVersions",
"outputs": [
{
"internalType": "contract IProtocolVersions",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "protocolVersionsImpl",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "protocolVersionsVersion",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "superchainConfig",
Expand All @@ -448,32 +394,6 @@
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "superchainConfigImpl",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "superchainConfigVersion",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "systemConfigImpl",
Expand Down
Loading