Skip to content

Commit

Permalink
Update chainIds type
Browse files Browse the repository at this point in the history
  • Loading branch information
nagdahimanshu committed Jan 18, 2024
1 parent 58f3a2f commit c9e7f23
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 82 deletions.
152 changes: 76 additions & 76 deletions pkg/chain/chain_constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ import (
)

type DefaultL2ContractAddress struct {
L2CrossDomainMessenger string
L2ToL1MessagePasser string
L2StandardBridge string
OVM_L1BlockNumber string
OVM_L2ToL1MessagePasser string
OVM_DeployerWhitelist string
OVM_ETH string
OVM_GasPriceOracle string
OVM_SequencerFeeVault string
WETH string
BedrockMessagePasser string
l2CrossDomainMessenger string
l2ToL1MessagePasser string
l2StandardBridge string
ovm_l1BlockNumber string
ovm_l2ToL1MessagePasser string
ovm_deployerWhitelist string
ovm_eth string
ovm_gasPriceOracle string
ovm_sequencerFeeVault string
weth string
bedrockMessagePasser string
}

type NetworkType struct {
Expand All @@ -25,18 +25,18 @@ type NetworkType struct {
}

type L2ChainIDs struct {
OPTIMISM int
OPTIMISM_GOERLI int
OPTIMISM_HARDHAT_LOCAL int
OPTIMISM_HARDHAT_DEVNET int
OPTIMISM_BEDROCK_LOCAL_DEVNET int
OPTIMISM_BEDROCK_ALPHA_TESTNET int
BASE_GOERLI int
ZORA_GOERLI int
ZORA_MAINNET int
OPTIMISM_SEPOLIA int
BASE_SEPOLIA int
BASE_MAINNET int
OPTIMISM uint64
OPTIMISM_GOERLI uint64
OPTIMISM_HARDHAT_LOCAL uint64
OPTIMISM_HARDHAT_DEVNET uint64
OPTIMISM_BEDROCK_LOCAL_DEVNET uint64
OPTIMISM_BEDROCK_ALPHA_TESTNET uint64
BASE_GOERLI uint64
ZORA_GOERLI uint64
ZORA_MAINNET uint64
OPTIMISM_SEPOLIA uint64
BASE_SEPOLIA uint64
BASE_MAINNET uint64
}

var L2_CHAIN_ID = L2ChainIDs{
Expand Down Expand Up @@ -78,10 +78,10 @@ var OPTIMISM_PORTAL_ADDRESS = NetworkType{
}

type L1Contracts struct {
L1CrossDomainMessenger string
StateCommitmentChain string
OptimismPortal string
L2OutputOracle string
l1CrossDomainMessenger string
stateCommitmentChain string
optimismPortal string
l2OutputOracle string
}

type ContractAddresses struct {
Expand All @@ -90,17 +90,17 @@ type ContractAddresses struct {
}

var DEFAULT_L2_CONTRACT_ADDRESS = DefaultL2ContractAddress{
BedrockMessagePasser: "0x4200000000000000000000000000000000000016",
L2CrossDomainMessenger: "0x4200000000000000000000000000000000000007",
L2StandardBridge: "0x4200000000000000000000000000000000000010",
L2ToL1MessagePasser: "0x4200000000000000000000000000000000000016",
OVM_DeployerWhitelist: "0x4200000000000000000000000000000000000002",
OVM_ETH: "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",
OVM_GasPriceOracle: "0x420000000000000000000000000000000000000F",
OVM_L1BlockNumber: "0x4200000000000000000000000000000000000013",
OVM_L2ToL1MessagePasser: "0x4200000000000000000000000000000000000016",
OVM_SequencerFeeVault: "0x4200000000000000000000000000000000000011",
WETH: "0x4200000000000000000000000000000000000006",
bedrockMessagePasser: "0x4200000000000000000000000000000000000016",
l2CrossDomainMessenger: "0x4200000000000000000000000000000000000007",
l2StandardBridge: "0x4200000000000000000000000000000000000010",
l2ToL1MessagePasser: "0x4200000000000000000000000000000000000016",
ovm_deployerWhitelist: "0x4200000000000000000000000000000000000002",
ovm_eth: "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000",
ovm_gasPriceOracle: "0x420000000000000000000000000000000000000F",
ovm_l1BlockNumber: "0x4200000000000000000000000000000000000013",
ovm_l2ToL1MessagePasser: "0x4200000000000000000000000000000000000016",
ovm_sequencerFeeVault: "0x4200000000000000000000000000000000000011",
weth: "0x4200000000000000000000000000000000000006",
}

func FilterAddressByNetwork(c NetworkType, network string) string {
Expand All @@ -111,17 +111,17 @@ func FilterAddressByNetwork(c NetworkType, network string) string {

func getL1ContractsByNetworkName(network string) L1Contracts {
L1Contracts := L1Contracts{
L1CrossDomainMessenger: FilterAddressByNetwork(L1_CROSS_DOMAIN_MESSENGER, network),
StateCommitmentChain: FilterAddressByNetwork(STATE_COMMITMENT_CHAIN, network),
OptimismPortal: FilterAddressByNetwork(OPTIMISM_PORTAL_ADDRESS, network),
L2OutputOracle: FilterAddressByNetwork(L2_OUTPUT_ORACLE_ADDRESSES, network),
l1CrossDomainMessenger: FilterAddressByNetwork(L1_CROSS_DOMAIN_MESSENGER, network),
stateCommitmentChain: FilterAddressByNetwork(STATE_COMMITMENT_CHAIN, network),
optimismPortal: FilterAddressByNetwork(OPTIMISM_PORTAL_ADDRESS, network),
l2OutputOracle: FilterAddressByNetwork(L2_OUTPUT_ORACLE_ADDRESSES, network),
}

return L1Contracts
}

func getContractAddresses() map[int]map[string]L1Contracts {
CONTRACT_ADDRESSES := map[int]map[string]L1Contracts{
func getContractAddresses() map[uint64]map[string]L1Contracts {
CONTRACT_ADDRESSES := map[uint64]map[string]L1Contracts{
L2_CHAIN_ID.OPTIMISM: {
"l1": getL1ContractsByNetworkName("mainnet"),
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
Expand All @@ -136,73 +136,73 @@ func getContractAddresses() map[int]map[string]L1Contracts {
},
L2_CHAIN_ID.OPTIMISM_HARDHAT_LOCAL: {
"l1": {
L1CrossDomainMessenger: "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
StateCommitmentChain: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
OptimismPortal: "0x0000000000000000000000000000000000000000",
L2OutputOracle: "0x0000000000000000000000000000000000000000",
l1CrossDomainMessenger: "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
stateCommitmentChain: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
optimismPortal: "0x0000000000000000000000000000000000000000",
l2OutputOracle: "0x0000000000000000000000000000000000000000",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
L2_CHAIN_ID.OPTIMISM_HARDHAT_DEVNET: {
"l1": {
L1CrossDomainMessenger: "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
StateCommitmentChain: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
OptimismPortal: "0x0000000000000000000000000000000000000000",
L2OutputOracle: "0x0000000000000000000000000000000000000000",
l1CrossDomainMessenger: "0x8A791620dd6260079BF849Dc5567aDC3F2FdC318",
stateCommitmentChain: "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9",
optimismPortal: "0x0000000000000000000000000000000000000000",
l2OutputOracle: "0x0000000000000000000000000000000000000000",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
L2_CHAIN_ID.OPTIMISM_BEDROCK_ALPHA_TESTNET: {
"l1": {
L1CrossDomainMessenger: "0x838a6DC4E37CA45D4Ef05bb776bf05eEf50798De",
StateCommitmentChain: "0x0000000000000000000000000000000000000000",
OptimismPortal: "0xA581Ca3353DB73115C4625FFC7aDF5dB379434A8",
L2OutputOracle: "0x3A234299a14De50027eA65dCdf1c0DaC729e04A6",
l1CrossDomainMessenger: "0x838a6DC4E37CA45D4Ef05bb776bf05eEf50798De",
stateCommitmentChain: "0x0000000000000000000000000000000000000000",
optimismPortal: "0xA581Ca3353DB73115C4625FFC7aDF5dB379434A8",
l2OutputOracle: "0x3A234299a14De50027eA65dCdf1c0DaC729e04A6",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
L2_CHAIN_ID.BASE_GOERLI: {
"l1": {
L1CrossDomainMessenger: "0x8e5693140eA606bcEB98761d9beB1BC87383706D",
StateCommitmentChain: "0x0000000000000000000000000000000000000000",
OptimismPortal: "0xe93c8cD0D409341205A592f8c4Ac1A5fe5585cfA",
L2OutputOracle: "0x2A35891ff30313CcFa6CE88dcf3858bb075A2298",
l1CrossDomainMessenger: "0x8e5693140eA606bcEB98761d9beB1BC87383706D",
stateCommitmentChain: "0x0000000000000000000000000000000000000000",
optimismPortal: "0xe93c8cD0D409341205A592f8c4Ac1A5fe5585cfA",
l2OutputOracle: "0x2A35891ff30313CcFa6CE88dcf3858bb075A2298",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
L2_CHAIN_ID.BASE_SEPOLIA: {
"l1": {
L1CrossDomainMessenger: "0xC34855F4De64F1840e5686e64278da901e261f20",
StateCommitmentChain: "0x0000000000000000000000000000000000000000",
OptimismPortal: "0x49f53e41452C74589E85cA1677426Ba426459e85",
L2OutputOracle: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254",
l1CrossDomainMessenger: "0xC34855F4De64F1840e5686e64278da901e261f20",
stateCommitmentChain: "0x0000000000000000000000000000000000000000",
optimismPortal: "0x49f53e41452C74589E85cA1677426Ba426459e85",
l2OutputOracle: "0x84457ca9D0163FbC4bbfe4Dfbb20ba46e48DF254",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
L2_CHAIN_ID.BASE_MAINNET: {
"l1": {
L1CrossDomainMessenger: "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
StateCommitmentChain: "0x0000000000000000000000000000000000000000",
OptimismPortal: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
L2OutputOracle: "0x56315b90c40730925ec5485cf004d835058518A0",
l1CrossDomainMessenger: "0x866E82a600A1414e583f7F13623F1aC5d58b0Afa",
stateCommitmentChain: "0x0000000000000000000000000000000000000000",
optimismPortal: "0x49048044D57e1C92A77f79988d21Fa8fAF74E97e",
l2OutputOracle: "0x56315b90c40730925ec5485cf004d835058518A0",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
L2_CHAIN_ID.ZORA_GOERLI: {
"l1": {
L1CrossDomainMessenger: "0xD87342e16352D33170557A7dA1e5fB966a60FafC",
StateCommitmentChain: "0x0000000000000000000000000000000000000000",
OptimismPortal: "0xDb9F51790365e7dc196e7D072728df39Be958ACe",
L2OutputOracle: "0xdD292C9eEd00f6A32Ff5245d0BCd7f2a15f24e00",
l1CrossDomainMessenger: "0xD87342e16352D33170557A7dA1e5fB966a60FafC",
stateCommitmentChain: "0x0000000000000000000000000000000000000000",
optimismPortal: "0xDb9F51790365e7dc196e7D072728df39Be958ACe",
l2OutputOracle: "0xdD292C9eEd00f6A32Ff5245d0BCd7f2a15f24e00",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
L2_CHAIN_ID.ZORA_MAINNET: {
"l1": {
L1CrossDomainMessenger: "0xdC40a14d9abd6F410226f1E6de71aE03441ca506",
StateCommitmentChain: "0x0000000000000000000000000000000000000000",
OptimismPortal: "0x1a0ad011913A150f69f6A19DF447A0CfD9551054",
L2OutputOracle: "0x9E6204F750cD866b299594e2aC9eA824E2e5f95c",
l1CrossDomainMessenger: "0xdC40a14d9abd6F410226f1E6de71aE03441ca506",
stateCommitmentChain: "0x0000000000000000000000000000000000000000",
optimismPortal: "0x1a0ad011913A150f69f6A19DF447A0CfD9551054",
l2OutputOracle: "0x9E6204F750cD866b299594e2aC9eA824E2e5f95c",
},
// "l2": DEFAULT_L2_CONTRACT_ADDRESS,
},
Expand Down
12 changes: 6 additions & 6 deletions pkg/chain/contracts.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ import (
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
)

func GetOracleAddressbyChainID(l2ChainID int) string {
func GetL1OracleContractAddressByChainID(chainID uint64) string {
ContractAddresses := getContractAddresses()
address := ContractAddresses[l2ChainID]["l1"].L2OutputOracle
address := ContractAddresses[chainID]["l1"].l2OutputOracle
return address
}

// TODO: Create oracle Struct with required functions
func OracleContractInstance(client *ethclient.Client, l2ChainID int, log log.Logger) (*bindings.L2OutputOracle, error) {
oracleContractAddress := GetOracleAddressbyChainID(l2ChainID)
func OracleContractInstance(client *ethclient.Client, chainID uint64, log log.Logger) (*bindings.L2OutputOracle, error) {
oracleContractAddress := GetL1OracleContractAddressByChainID(chainID)

contract, err := bindings.NewL2OutputOracle(common.HexToAddress(oracleContractAddress), client)

Expand All @@ -31,14 +31,14 @@ func OracleContractInstance(client *ethclient.Client, l2ChainID int, log log.Log
}

// TODO: Use EthClientInterface
func CreateContractInstance(url string, l2ChainID int, logger log.Logger) *bindings.L2OutputOracle {
func CreateContractInstance(url string, chainID uint64, logger log.Logger) *bindings.L2OutputOracle {
client, err := ethclient.Dial(url)

if err != nil {
logger.Errorf("Error occurred while connecting %w", err)
}

contract, err := OracleContractInstance(client, l2ChainID, logger)
contract, err := OracleContractInstance(client, chainID, logger)

if err != nil {
logger.Errorf("Error occurred while creating contract instance %w", err)
Expand Down

0 comments on commit c9e7f23

Please sign in to comment.