Commit 1975480f authored by Mark Tyneway's avatar Mark Tyneway Committed by GitHub

predeploys: fix address names (#3242)

* predeploys: fix address names

Updates the address names and also create a
mapping of addresses so that they can be iterated
over.

* op-bindings: export predeploys mapping

* fix test
Co-authored-by: default avatarMatthew Slipper <me@matthewslipper.com>
parent 5ee2af9a
...@@ -4,30 +4,47 @@ import "github.com/ethereum/go-ethereum/common" ...@@ -4,30 +4,47 @@ import "github.com/ethereum/go-ethereum/common"
const ( const (
L2ToL1MessagePasser = "0x4200000000000000000000000000000000000000" L2ToL1MessagePasser = "0x4200000000000000000000000000000000000000"
OVM_DeployerWhitelist = "0x4200000000000000000000000000000000000002" DeployerWhitelist = "0x4200000000000000000000000000000000000002"
OVM_ETH = "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000" LegacyERC20ETH = "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000"
WETH9 = "0x4200000000000000000000000000000000000006" WETH9 = "0x4200000000000000000000000000000000000006"
L2CrossDomainMessenger = "0x4200000000000000000000000000000000000007" L2CrossDomainMessenger = "0x4200000000000000000000000000000000000007"
L2StandardBridge = "0x4200000000000000000000000000000000000010" L2StandardBridge = "0x4200000000000000000000000000000000000010"
SequencerFeeVault = "0x4200000000000000000000000000000000000011" SequencerFeeVault = "0x4200000000000000000000000000000000000011"
OptimismMintableERC20Factory = "0x4200000000000000000000000000000000000012" OptimismMintableERC20Factory = "0x4200000000000000000000000000000000000012"
L1BlockNumber = "0x4200000000000000000000000000000000000013" L1BlockNumber = "0x4200000000000000000000000000000000000013"
OVM_GasPriceOracle = "0x420000000000000000000000000000000000000F" GasPriceOracle = "0x420000000000000000000000000000000000000F"
L1Block = "0x4200000000000000000000000000000000000015" L1Block = "0x4200000000000000000000000000000000000015"
GovernanceToken = "0x4200000000000000000000000000000000000042" GovernanceToken = "0x4200000000000000000000000000000000000042"
) )
var ( var (
L2ToL1MessagePasserAddr = common.HexToAddress(L2ToL1MessagePasser) L2ToL1MessagePasserAddr = common.HexToAddress(L2ToL1MessagePasser)
OVM_DeployerWhitelistAddr = common.HexToAddress(OVM_DeployerWhitelist) DeployerWhitelistAddr = common.HexToAddress(DeployerWhitelist)
OVM_ETHAddr = common.HexToAddress(OVM_ETH) LegacyERC20ETHAddr = common.HexToAddress(LegacyERC20ETH)
WETH9Addr = common.HexToAddress(WETH9) WETH9Addr = common.HexToAddress(WETH9)
L2CrossDomainMessengerAddr = common.HexToAddress(L2CrossDomainMessenger) L2CrossDomainMessengerAddr = common.HexToAddress(L2CrossDomainMessenger)
L2StandardBridgeAddr = common.HexToAddress(L2StandardBridge) L2StandardBridgeAddr = common.HexToAddress(L2StandardBridge)
SequencerFeeVaultAddr = common.HexToAddress(SequencerFeeVault) SequencerFeeVaultAddr = common.HexToAddress(SequencerFeeVault)
OptimismMintableERC20FactoryAddr = common.HexToAddress(OptimismMintableERC20Factory) OptimismMintableERC20FactoryAddr = common.HexToAddress(OptimismMintableERC20Factory)
L1BlockNumberAddr = common.HexToAddress(L1BlockNumber) L1BlockNumberAddr = common.HexToAddress(L1BlockNumber)
OVM_GasPriceOracleAddr = common.HexToAddress(OVM_GasPriceOracle) GasPriceOracleAddr = common.HexToAddress(GasPriceOracle)
L1BlockAddr = common.HexToAddress(L1Block) L1BlockAddr = common.HexToAddress(L1Block)
GovernanceTokenAddr = common.HexToAddress(GovernanceToken) GovernanceTokenAddr = common.HexToAddress(GovernanceToken)
Predeploys = make(map[string]*common.Address)
) )
func init() {
Predeploys["L2ToL1MessagePasser"] = &L2ToL1MessagePasserAddr
Predeploys["DeployerWhitelist"] = &DeployerWhitelistAddr
Predeploys["LegacyERC20ETH"] = &LegacyERC20ETHAddr
Predeploys["WETH9"] = &WETH9Addr
Predeploys["L2CrossDomainMessenger"] = &L2CrossDomainMessengerAddr
Predeploys["L2StandardBridge"] = &L2StandardBridgeAddr
Predeploys["SequencerFeeVault"] = &SequencerFeeVaultAddr
Predeploys["OptimismMintableERC20Factory"] = &OptimismMintableERC20FactoryAddr
Predeploys["L1BlockNumber"] = &L1BlockNumberAddr
Predeploys["GasPriceOracle"] = &GasPriceOracleAddr
Predeploys["L1Block"] = &L1BlockAddr
Predeploys["GovernanceToken"] = &GovernanceTokenAddr
}
...@@ -10,6 +10,6 @@ import ( ...@@ -10,6 +10,6 @@ import (
func TestGethAddresses(t *testing.T) { func TestGethAddresses(t *testing.T) {
// We test if the addresses in geth match those in op-bindings, to avoid an import-cycle: // We test if the addresses in geth match those in op-bindings, to avoid an import-cycle:
// we import geth in the monorepo, and do not want to import op-bindings into geth. // we import geth in the monorepo, and do not want to import op-bindings into geth.
require.Equal(t, OVM_GasPriceOracleAddr, core.OVM_GasPriceOracleAddr) require.Equal(t, GasPriceOracleAddr, core.OVM_GasPriceOracleAddr)
require.Equal(t, L1BlockAddr, core.L1BlockAddr) require.Equal(t, L1BlockAddr, core.L1BlockAddr)
} }
...@@ -232,7 +232,7 @@ func (cfg SystemConfig) start() (*System, error) { ...@@ -232,7 +232,7 @@ func (cfg SystemConfig) start() (*System, error) {
l2Alloc[cfg.L1InfoPredeployAddress] = core.GenesisAccount{Code: common.FromHex(bindings.L1BlockDeployedBin), Balance: common.Big0} l2Alloc[cfg.L1InfoPredeployAddress] = core.GenesisAccount{Code: common.FromHex(bindings.L1BlockDeployedBin), Balance: common.Big0}
l2Alloc[predeploys.L2ToL1MessagePasserAddr] = core.GenesisAccount{Code: common.FromHex(bindings.L2ToL1MessagePasserDeployedBin), Balance: common.Big0} l2Alloc[predeploys.L2ToL1MessagePasserAddr] = core.GenesisAccount{Code: common.FromHex(bindings.L2ToL1MessagePasserDeployedBin), Balance: common.Big0}
l2Alloc[predeploys.OVM_GasPriceOracleAddr] = core.GenesisAccount{Code: common.FromHex(bindings.GasPriceOracleDeployedBin), Balance: common.Big0, Storage: map[common.Hash]common.Hash{ l2Alloc[predeploys.GasPriceOracleAddr] = core.GenesisAccount{Code: common.FromHex(bindings.GasPriceOracleDeployedBin), Balance: common.Big0, Storage: map[common.Hash]common.Hash{
// storage for GasPriceOracle to have transctorPath wallet as owner // storage for GasPriceOracle to have transctorPath wallet as owner
common.BigToHash(big.NewInt(0)): common.HexToHash("0x8A0A996b22B103B500Cd0F20d62dF2Ba3364D295"), common.BigToHash(big.NewInt(0)): common.HexToHash("0x8A0A996b22B103B500Cd0F20d62dF2Ba3364D295"),
}} }}
......
...@@ -962,7 +962,7 @@ func TestFees(t *testing.T) { ...@@ -962,7 +962,7 @@ func TestFees(t *testing.T) {
fromAddr := crypto.PubkeyToAddress(ethPrivKey.PublicKey) fromAddr := crypto.PubkeyToAddress(ethPrivKey.PublicKey)
// Find gaspriceoracle contract // Find gaspriceoracle contract
gpoContract, err := bindings.NewGasPriceOracle(common.HexToAddress(predeploys.OVM_GasPriceOracle), l2Seq) gpoContract, err := bindings.NewGasPriceOracle(common.HexToAddress(predeploys.GasPriceOracle), l2Seq)
require.Nil(t, err) require.Nil(t, err)
// GPO signer // GPO signer
......
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