diff --git a/docker/deployed/staging/api/.env_validator.example b/docker/deployed/staging/api/.env_validator.example index c38fc499..6c29ad27 100644 --- a/docker/deployed/staging/api/.env_validator.example +++ b/docker/deployed/staging/api/.env_validator.example @@ -1,3 +1,3 @@ VALIDATOR_ALCHEMY_OPTIMISM_GOERLI_API_KEY= -VALIDATOR_OPTIMISM_GOERLI_SIGNER_PRIVATE_KEY= +VALIDATOR_ALCHEMY_OPTIMISM_SEPOLIA_API_KEY= METRICS_HUB_API_KEY= \ No newline at end of file diff --git a/docker/deployed/staging/api/config.json b/docker/deployed/staging/api/config.json index d516576d..a91278c3 100644 --- a/docker/deployed/staging/api/config.json +++ b/docker/deployed/staging/api/config.json @@ -51,6 +51,25 @@ "ChainStackCollectFrequency": "15m" }, "Chains": [ + { + "Name": "Optimism Sepolia", + "ChainID": 11155420, + "Registry": { + "EthEndpoint": "wss://eth-sepolia.g.alchemy.com/v2/${VALIDATOR_ALCHEMY_OPTIMISM_SEPOLIA_API_KEY}", + "ContractAddress": "0xd39a346e8299F4e3685f3D44215e0c9328e73439" + }, + "EventFeed": { + "ChainAPIBackoff": "15s", + "NewBlockPollFreq": "10s", + "MinBlockDepth": 0, + "PersistEvents": false + }, + "EventProcessor": { + "BlockFailedExecutionBackoff": "10s", + "DedupExecutedTxns": true + }, + "HashCalculationStep": 100 + }, { "Name": "Optimism Goerli", "ChainID": 420, diff --git a/docker/deployed/testnet/api/.env_validator.example b/docker/deployed/testnet/api/.env_validator.example index 273dfb66..561a6ec2 100644 --- a/docker/deployed/testnet/api/.env_validator.example +++ b/docker/deployed/testnet/api/.env_validator.example @@ -3,4 +3,5 @@ VALIDATOR_GLIF_FILECOIN_CALIBRATION_API_KEY= VALIDATOR_ALCHEMY_POLYGON_MUMBAI_API_KEY= VALIDATOR_ALCHEMY_ARBITRUM_SEPOLIA_API_KEY= VALIDATOR_ALCHEMY_OPTIMISM_GOERLI_API_KEY= +VALIDATOR_ALCHEMY_OPTIMISM_SEPOLIA_API_KEY= METRICS_HUB_API_KEY= diff --git a/docker/deployed/testnet/api/config.json b/docker/deployed/testnet/api/config.json index b18c8aa1..fb8792ea 100644 --- a/docker/deployed/testnet/api/config.json +++ b/docker/deployed/testnet/api/config.json @@ -128,6 +128,25 @@ }, "HashCalculationStep": 1800 }, + { + "Name": "Optimism Sepolia", + "ChainID": 11155420, + "Registry": { + "EthEndpoint": "wss://opt-sepolia.g.alchemy.com/v2/${VALIDATOR_ALCHEMY_OPTIMISM_SEPOLIA_API_KEY}", + "ContractAddress": "0x68A2f4423ad3bf5139Db563CF3bC80aA09ed7079" + }, + "EventFeed": { + "ChainAPIBackoff": "15s", + "NewBlockPollFreq": "5s", + "MinBlockDepth": 0, + "PersistEvents": true + }, + "EventProcessor": { + "BlockFailedExecutionBackoff": "10s", + "DedupExecutedTxns": true + }, + "HashCalculationStep": 1800 + }, { "Name": "Filecoin Calibration", "ChainID": 314159, diff --git a/pkg/client/chains.go b/pkg/client/chains.go index 6b6cc982..48b32ba8 100644 --- a/pkg/client/chains.go +++ b/pkg/client/chains.go @@ -24,6 +24,7 @@ var ChainIDs = struct { EthereumGoerli ChainID EthereumSepolia ChainID OptimismGoerli ChainID + OptimismSepolia ChainID ArbitrumGoerli ChainID ArbitrumSepolia ChainID FilecoinCalibration ChainID @@ -38,6 +39,7 @@ var ChainIDs = struct { Filecoin: 314, EthereumSepolia: 11155111, OptimismGoerli: 420, + OptimismSepolia: 11155420, ArbitrumSepolia: 421614, FilecoinCalibration: 314159, PolygonMumbai: 80001, @@ -102,6 +104,12 @@ var Chains = map[ChainID]Chain{ Name: "Optimism Goerli", ContractAddr: common.HexToAddress("0xC72E8a7Be04f2469f8C2dB3F1BdF69A7D516aBbA"), }, + ChainIDs.OptimismSepolia: { + Endpoint: testnetURL, + ID: ChainIDs.OptimismSepolia, + Name: "Optimism Sepolia", + ContractAddr: common.HexToAddress("0x68A2f4423ad3bf5139Db563CF3bC80aA09ed7079"), + }, ChainIDs.ArbitrumSepolia: { Endpoint: testnetURL, ID: ChainIDs.ArbitrumSepolia, @@ -143,6 +151,7 @@ var AlchemyURLs = map[ChainID]string{ ChainIDs.EthereumSepolia: "https://eth-sepolia.g.alchemy.com/v2/%s", ChainIDs.Ethereum: "https://eth-mainnet.g.alchemy.com/v2/%s", ChainIDs.OptimismGoerli: "https://opt-goerli.g.alchemy.com/v2/%s", + ChainIDs.OptimismSepolia: "https://opt-sepolia.g.alchemy.com/v2/%s", ChainIDs.Optimism: "https://opt-mainnet.g.alchemy.com/v2/%s", ChainIDs.ArbitrumSepolia: "https://arb-sepolia.g.alchemy.com/v2/%s", ChainIDs.Arbitrum: "https://arb-mainnet.g.alchemy.com/v2/%s",