diff --git a/assets/chains.json b/assets/chains.json index 900eb26..3f7e2ae 100644 --- a/assets/chains.json +++ b/assets/chains.json @@ -276,6 +276,18 @@ "etherscanBaseUrl": "https://polygonscan.com", "etherscanApiKeyName": "POLYGONSCAN_API_KEY" }, + "146": { + "internalId": "Sonic", + "name": "sonic", + "averageBlocktimeHint": 1000, + "isLegacy": false, + "supportsShanghai": false, + "isTestnet": false, + "nativeCurrencySymbol": "S", + "etherscanApiUrl": "https://api.sonicscan.org/api", + "etherscanBaseUrl": "https://sonicscan.org", + "etherscanApiKeyName": "SONICSCAN_API_KEY" + }, "148": { "internalId": "Shimmer", "name": "shimmer", diff --git a/src/named.rs b/src/named.rs index 817217b..1933ab4 100644 --- a/src/named.rs +++ b/src/named.rs @@ -407,7 +407,12 @@ pub enum NamedChain { #[cfg_attr(feature = "serde", serde(alias = "apechain-testnet", alias = "curtis"))] Curtis = 33111, + #[strum(to_string = "sonic-testnet")] + #[cfg_attr(feature = "serde", serde(alias = "sonic-testnet"))] SonicTestnet = 64165, + #[strum(to_string = "sonic")] + #[cfg_attr(feature = "serde", serde(alias = "sonic"))] + Sonic = 146, #[strum(to_string = "treasure")] #[cfg_attr(feature = "serde", serde(alias = "treasure"))] @@ -709,6 +714,8 @@ impl NamedChain { Zeta => 6_000, Kaia => 1_000, + Sonic => 1_000, + UnichainSepolia => 1_000, BerachainBartio | BerachainArtio => 2_000, @@ -845,6 +852,7 @@ impl NamedChain { | ImmutableTestnet | Soneium | SoneiumMinatoTestnet + | Sonic | World | WorldSepolia | UnichainSepolia @@ -1018,7 +1026,6 @@ impl NamedChain { | XaiSepolia | Koi | ImmutableTestnet - | Soneium | SoneiumMinatoTestnet | WorldSepolia | UnichainSepolia @@ -1039,9 +1046,8 @@ impl NamedChain { | Fraxtal | Ink | Linea | ZkSync | Mantle | GravityAlphaMainnet | Xai | Zora | Pgn | Mode | Viction | Elastos | Degen | OpBNBMainnet | Ronin | Taiko | Flare | Acala | Karura | Darwinia | Cfx | Crab | Pulsechain | Etherlink | Immutable | World - | Iotex | Core | Merlin | Bitlayer | ApeChain | Vana | Zeta | Kaia | Treasure | Bob => { - false - } + | Iotex | Core | Merlin | Bitlayer | ApeChain | Vana | Zeta | Kaia | Treasure | Bob + | Soneium | Sonic => false, } } @@ -1102,6 +1108,8 @@ impl NamedChain { BerachainBartio | BerachainArtio => "BERA", + Sonic => "S", + _ => return None, }) } @@ -1458,7 +1466,7 @@ impl NamedChain { "https://api.routescan.io/v2/network/testnet/evm/64165/etherscan/api", "https://scan.soniclabs.com", ), - + Sonic => ("https://api.sonicscan.org/api", "https://sonicscan.org"), Treasure => ("https://block-explorer.treasurescan.io/api", "https://treasurescan.io"), TreasureTopaz => ( "https://block-explorer.topaz.treasurescan.io/api", @@ -1559,7 +1567,7 @@ impl NamedChain { Vana => "VANASCAN_API_KEY", Zeta => "ZETASCAN_API_KEY", Kaia => "KAIASCAN_API_KEY", - + Sonic => "SONICSCAN_API_KEY", // Explicitly exhaustive. See NB above. Metis | Chiado