diff --git a/assets/chains.json b/assets/chains.json index 371bfb1..489d91c 100644 --- a/assets/chains.json +++ b/assets/chains.json @@ -1284,6 +1284,18 @@ "etherscanBaseUrl": "https://scan.soniclabs.com", "etherscanApiKeyName": null }, + "80000": { + "internalId": "BerachainCartio", + "name": "berachain-cartio", + "averageBlocktimeHint": 2000, + "isLegacy": false, + "supportsShanghai": false, + "isTestnet": true, + "nativeCurrencySymbol": "BERA", + "etherscanApiUrl": "https://80000.testnet.routescan.io/api", + "etherscanBaseUrl": "https://80000.testnet.routescan.io", + "etherscanApiKeyName": null + }, "80001": { "internalId": "PolygonMumbai", "name": "mumbai", @@ -1308,6 +1320,30 @@ "etherscanBaseUrl": "https://amoy.polygonscan.com", "etherscanApiKeyName": "POLYGONSCAN_API_KEY" }, + "80084": { + "internalId": "BerachainBartio", + "name": "berachain-bartio", + "averageBlocktimeHint": 2000, + "isLegacy": false, + "supportsShanghai": false, + "isTestnet": true, + "nativeCurrencySymbol": "BERA", + "etherscanApiUrl": "https://bartio.beratrail.io/api", + "etherscanBaseUrl": "https://bartio.beratrail.io", + "etherscanApiKeyName": null + }, + "80085": { + "internalId": "BerachainArtio", + "name": "berachain-artio", + "averageBlocktimeHint": 2000, + "isLegacy": false, + "supportsShanghai": false, + "isTestnet": true, + "nativeCurrencySymbol": "BERA", + "etherscanApiUrl": "https://artio.beratrail.io/api", + "etherscanBaseUrl": "https://artio.beratrail.io", + "etherscanApiKeyName": null + }, "81457": { "internalId": "Blast", "name": "blast", diff --git a/src/named.rs b/src/named.rs index a6cf763..d8de416 100644 --- a/src/named.rs +++ b/src/named.rs @@ -415,6 +415,27 @@ pub enum NamedChain { serde(alias = "treasure-topaz-testnet", alias = "treasure-topaz") )] TreasureTopaz = 978658, + + #[strum(to_string = "berachain-cartio", serialize = "berachain-cartio-testnet")] + #[cfg_attr( + feature = "serde", + serde(alias = "berachain-cartio-testnet", alias = "berachain-cartio") + )] + BerachainCartio = 80000, + + #[strum(to_string = "berachain-bartio", serialize = "berachain-bartio-testnet")] + #[cfg_attr( + feature = "serde", + serde(alias = "berachain-bartio-testnet", alias = "berachain-bartio") + )] + BerachainBartio = 80084, + + #[strum(to_string = "berachain-artio", serialize = "berachain-artio-testnet")] + #[cfg_attr( + feature = "serde", + serde(alias = "berachain-artio-testnet", alias = "berachain-artio") + )] + BerachainArtio = 80085, } // This must be implemented manually so we avoid a conflict with `TryFromPrimitive` where it treats @@ -692,6 +713,8 @@ impl NamedChain { UnichainSepolia => 1_000, + BerachainBartio | BerachainArtio | BerachainCartio => 2_000, + Morden | Ropsten | Rinkeby | Goerli | Kovan | Sepolia | Holesky | MantleTestnet | Moonbase | MoonbeamDev | OptimismKovan | Poa | Sokol | Rsk | EmeraldTestnet | Boba | ZkSync | ZkSyncTestnet | PolygonZkEvm | PolygonZkEvmTestnet | Metis @@ -827,6 +850,9 @@ impl NamedChain { | WorldSepolia | UnichainSepolia | ApeChain + | BerachainBartio + | BerachainArtio + | BerachainCartio | Curtis => false, // Unknown / not applicable, default to false for backwards compatibility. @@ -998,7 +1024,10 @@ impl NamedChain { | UnichainSepolia | Curtis | TreasureTopaz - | SonicTestnet => true, + | SonicTestnet + | BerachainBartio + | BerachainArtio + | BerachainCartio => true, // Dev chains. Dev | AnvilHardhat => true, @@ -1072,6 +1101,8 @@ impl NamedChain { Treasure | TreasureTopaz => "MAGIC", + BerachainBartio | BerachainArtio | BerachainCartio => "BERA", + _ => return None, }) } @@ -1432,6 +1463,11 @@ impl NamedChain { "https://block-explorer.topaz.treasurescan.io/api", "https://topaz.treasurescan.io", ), + BerachainBartio => ("https://bartio.beratrail.io/api", "https://bartio.beratrail.io"), + BerachainArtio => ("https://artio.beratrail.io/api", "https://artio.beratrail.io"), + BerachainCartio => { + ("https://80000.testnet.routescan.io/api", "https://80000.testnet.routescan.io") + } }) } @@ -1564,7 +1600,10 @@ impl NamedChain { | HappychainTestnet | SonicTestnet | Treasure - | TreasureTopaz => return None, + | TreasureTopaz + | BerachainBartio + | BerachainArtio + | BerachainCartio => return None, }; Some(api_key_name) @@ -1752,6 +1791,9 @@ mod tests { (Curtis, &["apechain-testnet", "curtis"]), (Treasure, &["treasure"]), (TreasureTopaz, &["treasure-topaz-testnet", "treasure-topaz"]), + (BerachainArtio, &["berachain-artio-testnet", "berachain-artio"]), + (BerachainBartio, &["berachain-bartio-testnet", "berachain-bartio"]), + (BerachainCartio, &["berachain-cartio-testnet", "berachain-cartio"]), ]; for &(chain, aliases) in ALIASES {