diff --git a/assets/chains.json b/assets/chains.json index 385ceef..ff57831 100644 --- a/assets/chains.json +++ b/assets/chains.json @@ -1200,6 +1200,18 @@ "etherscanBaseUrl": "https://scrollscan.com", "etherscanApiKeyName": "ETHERSCAN_API_KEY" }, + "660279": { + "internalId": "Xai", + "name": "xai", + "averageBlocktimeHint": 260, + "isLegacy": false, + "supportsShanghai": true, + "isTestnet": false, + "nativeCurrencySymbol": "XAI", + "etherscanApiUrl": "https://xaiscan.io/api", + "etherscanBaseUrl": "https://xaiscan.io", + "etherscanApiKeyName": "ETHERSCAN_API_KEY" + }, "7777777": { "internalId": "Zora", "name": "zora", @@ -1319,6 +1331,18 @@ "etherscanApiUrl": "https://sepolia.kakarotscan.org/api", "etherscanBaseUrl": "https://sepolia.kakarotscan.org", "etherscanApiKeyName": "BLOCKSCOUT_API_KEY" + }, + "37714555429": { + "internalId": "XaiSepolia", + "name": "xai-sepolia", + "averageBlocktimeHint": 260, + "isLegacy": false, + "supportsShanghai": true, + "isTestnet": true, + "nativeCurrencySymbol": "XAI", + "etherscanApiUrl": "https://sepolia.xaiscan.io/api", + "etherscanBaseUrl": "https://sepolia.xaiscan.io", + "etherscanApiKeyName": "ETHERSCAN_API_KEY" } } } \ No newline at end of file diff --git a/src/named.rs b/src/named.rs index 8c85237..23a7501 100644 --- a/src/named.rs +++ b/src/named.rs @@ -233,6 +233,13 @@ pub enum NamedChain { #[cfg_attr(feature = "serde", serde(alias = "mantle-sepolia"))] MantleSepolia = 5003, + #[strum(to_string = "xai")] + #[cfg_attr(feature = "serde", serde(alias = "xai"))] + Xai = 660279, + #[strum(to_string = "xai-sepolia")] + #[cfg_attr(feature = "serde", serde(alias = "xai-sepolia"))] + XaiSepolia = 37714555429, + Viction = 88, Zora = 7777777, @@ -454,6 +461,8 @@ impl NamedChain { | C::ArbitrumTestnet | C::ArbitrumGoerli | C::ArbitrumSepolia + | C::Xai + | C::XaiSepolia | C::Syndr | C::SyndrSepolia | C::ArbitrumNova => 260, @@ -638,6 +647,8 @@ impl NamedChain { | C::ArbitrumGoerli | C::ArbitrumSepolia | C::ArbitrumNova + | C::Xai + | C::XaiSepolia | C::Syndr | C::SyndrSepolia | C::FilecoinMainnet @@ -734,6 +745,8 @@ impl NamedChain { | C::Arbitrum | C::ArbitrumNova | C::ArbitrumSepolia + | C::Xai + | C::XaiSepolia | C::Syndr | C::SyndrSepolia | C::Etherlink @@ -834,6 +847,7 @@ impl NamedChain { | C::KaruraTestnet | C::CfxTestnet | C::PulsechainTestnet + | C::XaiSepolia | C::Koi => true, // Dev chains. @@ -875,6 +889,7 @@ impl NamedChain { | C::Linea | C::ZkSync | C::Mantle + | C::Xai | C::Zora | C::Pgn | C::Mode @@ -915,6 +930,8 @@ impl NamedChain { C::Mantle | C::MantleSepolia => "MNT", + C::Xai | C::XaiSepolia => "XAI", + C::BinanceSmartChain | C::BinanceSmartChainTestnet | C::OpBNBMainnet @@ -1042,6 +1059,9 @@ impl NamedChain { } C::ArbitrumNova => ("https://api-nova.arbiscan.io/api", "https://nova.arbiscan.io"), + C::XaiSepolia => ("https://sepolia.xaiscan.io/api", "https://sepolia.xaiscan.io"), + C::Xai => ("https://xaiscan.io/api", "https://xaiscan.io"), + C::Syndr => ("https://explorer.syndr.com/api", "https://explorer.syndr.com"), C::SyndrSepolia => { ("https://sepolia-explorer.syndr.com/api", "https://sepolia-explorer.syndr.com") @@ -1307,6 +1327,8 @@ impl NamedChain { | C::Mantle | C::MantleTestnet | C::MantleSepolia + | C::Xai + | C::XaiSepolia | C::BaseGoerli | C::BaseSepolia | C::Fraxtal @@ -1494,6 +1516,8 @@ mod tests { (Mantle, &["mantle"]), (MantleTestnet, &["mantle-testnet"]), (MantleSepolia, &["mantle-sepolia"]), + (Xai, &["xai"]), + (XaiSepolia, &["xai-sepolia"]), (Base, &["base"]), (BaseGoerli, &["base-goerli"]), (BaseSepolia, &["base-sepolia"]),