Commit ca7b022f authored by George C. Knee's avatar George C. Knee Committed by GitHub

Import `SystemConfigProxy` address from new location in `superchain` (registry). (#9585)

* chore: update dependency on superchain-registry

* update references to chainConfig.SystemConfigAddr

* refactor: simplify extraction of addresses

* update dependency on superchain-registry/superchain

* go mod tidy
parent 52e52366
......@@ -10,7 +10,7 @@ require (
github.com/crate-crypto/go-kzg-4844 v0.7.0
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20240213180600-05287996b949
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20240222124135-cdcbd3dfeb01
github.com/ethereum/go-ethereum v1.13.8
github.com/fsnotify/fsnotify v1.7.0
github.com/go-chi/chi/v5 v5.0.12
......@@ -220,5 +220,6 @@ require (
replace github.com/ethereum/go-ethereum v1.13.8 => github.com/ethereum-optimism/op-geth v1.101308.1-rc.1
//replace github.com/ethereum-optimism/superchain-registry/superchain => ../superchain-registry/superchain
// replace github.com/ethereum-optimism/superchain-registry/superchain => ../superchain-registry/superchain
//replace github.com/ethereum/go-ethereum v1.13.5 => ../go-ethereum
......@@ -172,8 +172,8 @@ github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3 h1:RWHKLhCrQThMfch+QJ1Z
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3/go.mod h1:QziizLAiF0KqyLdNJYD7O5cpDlaFMNZzlxYNcWsJUxs=
github.com/ethereum-optimism/op-geth v1.101308.1-rc.1 h1:uKZtsxfu7G1AoiKQDIADZmCoKlQFdVpPLVt5zE6rSLc=
github.com/ethereum-optimism/op-geth v1.101308.1-rc.1/go.mod h1:ThMnNKm56W1zaBeth62dQDakd60fuHAYwuJ2tqP5qdM=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20240213180600-05287996b949 h1:QKw8/XbFsmFQJsipKHP0CGWE1jJyO5qhhzPNZixoTRw=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20240213180600-05287996b949/go.mod h1:7xh2awFQqsiZxFrHKTgEd+InVfDRrkKVUIuK8SAFHp0=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20240222124135-cdcbd3dfeb01 h1:jA9SNqYJcBOUqGJNUOg/ieAVSfTVDIpe15ULz4qGGV0=
github.com/ethereum-optimism/superchain-registry/superchain v0.0.0-20240222124135-cdcbd3dfeb01/go.mod h1:7xh2awFQqsiZxFrHKTgEd+InVfDRrkKVUIuK8SAFHp0=
github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY=
github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
......
......@@ -175,7 +175,7 @@ func entrypoint(ctx *cli.Context) error {
log.Info("L2OutputOracle", "version", versions.L2OutputOracle, "address", addresses.L2OutputOracleProxy)
log.Info("OptimismMintableERC20Factory", "version", versions.OptimismMintableERC20Factory, "address", addresses.OptimismMintableERC20FactoryProxy)
log.Info("OptimismPortal", "version", versions.OptimismPortal, "address", addresses.OptimismPortalProxy)
log.Info("SystemConfig", "version", versions.SystemConfig, "address", chainConfig.SystemConfigAddr)
log.Info("SystemConfig", "version", versions.SystemConfig, "address", addresses.SystemConfigProxy)
implementations, ok := superchain.Implementations[l1ChainID.Uint64()]
if !ok {
......
......@@ -144,7 +144,7 @@ func entrypoint(ctx *cli.Context) error {
contracts["L2OutputOracle"] = Contract{Version: versions.L2OutputOracle, Address: addresses.L2OutputOracleProxy}
contracts["OptimismMintableERC20Factory"] = Contract{Version: versions.OptimismMintableERC20Factory, Address: addresses.OptimismMintableERC20FactoryProxy}
contracts["OptimismPortal"] = Contract{Version: versions.OptimismPortal, Address: addresses.OptimismPortalProxy}
contracts["SystemConfig"] = Contract{Version: versions.SystemConfig, Address: chainConfig.SystemConfigAddr}
contracts["SystemConfig"] = Contract{Version: versions.SystemConfig, Address: addresses.SystemConfigProxy}
contracts["ProxyAdmin"] = Contract{Version: "null", Address: addresses.ProxyAdmin}
output = append(output, ChainVersionCheck{Name: chainConfig.Name, ChainID: l2ChainID, Contracts: contracts})
......
......@@ -89,7 +89,7 @@ func GetContractVersions(ctx context.Context, addresses *superchain.AddressList,
if err != nil {
return versions, fmt.Errorf("OptimismPortal: %w", err)
}
versions.SystemConfig, err = getVersion(ctx, common.Address(chainConfig.SystemConfigAddr), backend)
versions.SystemConfig, err = getVersion(ctx, common.Address(addresses.SystemConfigProxy), backend)
if err != nil {
return versions, fmt.Errorf("SystemConfig: %w", err)
}
......
......@@ -585,7 +585,7 @@ func OptimismPortal(batch *safe.Batch, implementations superchain.Implementation
return fmt.Errorf("L2OutputOracle address doesn't match config")
}
if systemConfig != common.Address(chainConfig.SystemConfigAddr) {
if systemConfig != common.Address(list.SystemConfigProxy) {
return fmt.Errorf("SystemConfig address doesn't match config")
}
......@@ -646,7 +646,7 @@ func SystemConfig(batch *safe.Batch, implementations superchain.ImplementationLi
return err
}
args := []any{
common.Address(chainConfig.SystemConfigAddr),
common.Address(list.SystemConfigProxy),
storageSetterAddr,
calldata,
}
......@@ -661,7 +661,7 @@ func SystemConfig(batch *safe.Batch, implementations superchain.ImplementationLi
return err
}
systemConfig, err := bindings.NewSystemConfigCaller(common.Address(chainConfig.SystemConfigAddr), backend)
systemConfig, err := bindings.NewSystemConfigCaller(common.Address(list.SystemConfigProxy), backend)
if err != nil {
return err
}
......@@ -763,7 +763,7 @@ func SystemConfig(batch *safe.Batch, implementations superchain.ImplementationLi
}
args := []any{
common.Address(chainConfig.SystemConfigAddr),
common.Address(list.SystemConfigProxy),
common.Address(implementations.SystemConfig.Address),
calldata,
}
......
......@@ -55,10 +55,8 @@ func LoadOPStackRollupConfig(chainID uint64) (*Config, error) {
return nil, fmt.Errorf("unable to retrieve genesis SystemConfig of chain %d", chainID)
}
var depositContractAddress common.Address
if addrs, ok := superchain.Addresses[chainID]; ok {
depositContractAddress = common.Address(addrs.OptimismPortalProxy)
} else {
addrs, ok := superchain.Addresses[chainID]
if !ok {
return nil, fmt.Errorf("unable to retrieve deposit contract address")
}
......@@ -113,8 +111,8 @@ func LoadOPStackRollupConfig(chainID uint64) (*Config, error) {
EcotoneTime: superChain.Config.EcotoneTime,
FjordTime: superChain.Config.FjordTime,
BatchInboxAddress: common.Address(chConfig.BatchInboxAddr),
DepositContractAddress: depositContractAddress,
L1SystemConfigAddress: common.Address(chConfig.SystemConfigAddr),
DepositContractAddress: common.Address(addrs.OptimismPortalProxy),
L1SystemConfigAddress: common.Address(addrs.SystemConfigProxy),
}
if superChain.Config.ProtocolVersionsAddr != nil { // Set optional protocol versions address
cfg.ProtocolVersionsAddress = common.Address(*superChain.Config.ProtocolVersionsAddr)
......
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