macros rule
104 lines
impl fmt::Display for Chain {
impl ::core::convert::AsRef<str> for Chain {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn as_ref(&self) -> &str {
let chain = match self {
match *self {
Chain::Mainnet => "mainnet",
Chain::Mainnet => "mainnet",
Chain::Morden => "morden",
Chain::Morden => "morden",
Chain::Ropsten => "ropsten",
Chain::Ropsten => "ropsten",
Chain::Rinkeby => "rinkeby",
Chain::Rinkeby => "rinkeby",
Chain::Goerli => "goerli",
Chain::Goerli => "goerli",
Chain::Kovan => "kovan",
Chain::Kovan => "kovan",
Chain::XDai => "gnosis",
Chain::Chiado => "chiado",
Chain::Polygon => "polygon",
Chain::PolygonMumbai => "mumbai",
Chain::Avalanche => "avalanche",
Chain::AvalancheFuji => "fuji",
Chain::Sepolia => "sepolia",
Chain::Sepolia => "sepolia",
Chain::Moonbeam => "moonbeam",
Chain::Moonbase => "moonbase",
Chain::MoonbeamDev => "moonbeam-dev",
Chain::Moonriver => "moonriver",
Chain::Optimism => "optimism",
Chain::Optimism => "optimism",
Chain::OptimismKovan => "optimism-kovan",
Chain::OptimismGoerli => "optimism-goerli",
Chain::OptimismGoerli => "optimism-goerli",
Chain::OptimismKovan => "optimism-kovan",
Chain::Fantom => "fantom",
Chain::Dev => "dev",
Chain::FantomTestnet => "fantom-testnet",
Chain::BinanceSmartChain => "bsc",
Chain::BinanceSmartChainTestnet => "bsc-testnet",
Chain::Arbitrum => "arbitrum",
Chain::Arbitrum => "arbitrum",
Chain::ArbitrumTestnet => "arbitrum-testnet",
Chain::ArbitrumTestnet => "arbitrum-testnet",
Chain::ArbitrumGoerli => "arbitrum-goerli",
Chain::ArbitrumGoerli => "arbitrum-goerli",
Chain::Cronos => "cronos",
Chain::Cronos => "cronos",
Chain::CronosTestnet => "cronos-testnet",
Chain::CronosTestnet => "cronos-testnet",
Chain::Rsk => "rsk",
Chain::BinanceSmartChain => "bsc",
Chain::BinanceSmartChainTestnet => "bsc-testnet",
Chain::Poa => "poa",
Chain::Poa => "poa",
Chain::Sokol => "sokol",
Chain::Sokol => "sokol",
Text moved with changes to lines 37-40 (95.4% similarity)
Chain::Rsk => "rsk",
Chain::XDai => "gnosis-chain",
Chain::Oasis => "oasis",
Chain::Polygon => "polygon",
Chain::Emerald => "emerald",
Chain::PolygonMumbai => "polygon-mumbai",
Chain::EmeraldTestnet => "emerald-testnet",
Chain::Fantom => "fantom",
Chain::FantomTestnet => "fantom-testnet",
Chain::Moonbeam => "moonbeam",
Chain::MoonbeamDev => "moonbeam-dev",
Chain::Moonriver => "moonriver",
Chain::Moonbase => "moonbase",
Chain::Dev => "dev",
Chain::AnvilHardhat => "anvil-hardhat",
Chain::AnvilHardhat => "anvil-hardhat",
Chain::Evmos => "evmos",
Chain::Evmos => "evmos",
Chain::EvmosTestnet => "evmos-testnet",
Chain::EvmosTestnet => "evmos-testnet",
Text moved with changes from lines 36-39 (95.4% similarity)
Chain::Aurora => "aurora",
Chain::Chiado => "chiado",
Chain::AuroraTestnet => "aurora-testnet",
Chain::Oasis => "oasis",
Chain::Emerald => "emerald",
Chain::EmeraldTestnet => "emerald-testnet",
Chain::Avalanche => "avalanche",
Chain::AvalancheFuji => "avalanche-fuji",
Chain::Celo => "celo",
Chain::Celo => "celo",
Chain::CeloAlfajores => "celo-alfajores",
Chain::CeloAlfajores => "celo-alfajores",
Chain::CeloBaklava => "celo-baklava",
Chain::CeloBaklava => "celo-baklava",
};
Chain::Aurora => "aurora",
Chain::AuroraTestnet => "aurora-testnet",
f.pad(chain)
}
}
}
}
}
impl FromStr for Chain {
impl ::core::str::FromStr for Chain {
type Err = ParseChainError;
type Err = ::strum::ParseError;
fn from_str(
fn from_str(chain: &str) -> Result<Self, Self::Err> {
s: &str,
Ok(match chain {
) -> ::core::result::Result<Chain, <Self as ::core::str::FromStr>::Err> {
"mainnet" => Chain::Mainnet,
match s {
"morden" => Chain::Morden,
"mainnet" => ::core::result::Result::Ok(Chain::Mainnet),
"ropsten" => Chain::Ropsten,
"morden" => ::core::result::Result::Ok(Chain::Morden),
"rinkeby" => Chain::Rinkeby,
"ropsten" => ::core::result::Result::Ok(Chain::Ropsten),
"goerli" => Chain::Goerli,
"rinkeby" => ::core::result::Result::Ok(Chain::Rinkeby),
"kovan" => Chain::Kovan,
"goerli" => ::core::result::Result::Ok(Chain::Goerli),
"xdai" | "gnosis" | "gnosis-chain" => Chain::XDai,
"kovan" => ::core::result::Result::Ok(Chain::Kovan),
"chiado" => Chain::Chiado,
"sepolia" => ::core::result::Result::Ok(Chain::Sepolia),
"polygon" => Chain::Polygon,
"optimism" => ::core::result::Result::Ok(Chain::Optimism),
"mumbai" | "polygon-mumbai" => Chain::PolygonMumbai,
"optimism-kovan" => ::core::result::Result::Ok(Chain::OptimismKovan),
"avalanche" => Chain::Avalanche,
"optimism-goerli" => ::core::result::Result::Ok(Chain::OptimismGoerli),
"fuji" | "avalanche-fuji" => Chain::AvalancheFuji,
"arbitrum" => ::core::result::Result::Ok(Chain::Arbitrum),
"sepolia" => Chain::Sepolia,
"arbitrum-testnet" => ::core::result::Result::Ok(Chain::ArbitrumTestnet),
"moonbeam" => Chain::Moonbeam,
"arbitrum-goerli" => ::core::result::Result::Ok(Chain::ArbitrumGoerli),
"moonbase" => Chain::Moonbase,
"cronos" => ::core::result::Result::Ok(Chain::Cronos),
"moonbeam-dev" => Chain::MoonbeamDev,
"cronos-testnet" => ::core::result::Result::Ok(Chain::CronosTestnet),
"moonriver" => Chain::Moonriver,
"rsk" => ::core::result::Result::Ok(Chain::Rsk),
"optimism" => Chain::Optimism,
"bsc" => ::core::result::Result::Ok(Chain::BinanceSmartChain),
"optimism-goerli" => Chain::OptimismGoerli,
"bsc-testnet" => ::core::result::Result::Ok(Chain::BinanceSmartChainTestnet),
"optimism-kovan" => Chain::OptimismKovan,
"poa" => ::core::result::Result::Ok(Chain::Poa),
"fantom" => Chain::Fantom,
"sokol" => ::core::result::Result::Ok(Chain::Sokol),
"fantom-testnet" => Chain::FantomTestnet,
"gnosis" => ::core::result::Result::Ok(Chain::XDai),
"dev" => Chain::Dev,
"xdai" => ::core::result::Result::Ok(Chain::XDai),
"anvil" | "hardhat" | "anvil-hardhat" => Chain::AnvilHardhat,
"gnosis-chain" => ::core::result::Result::Ok(Chain::XDai),
"bsc" => Chain::BinanceSmartChain,
"polygon" => ::core::result::Result::Ok(Chain::Polygon),
"bsc-testnet" => Chain::BinanceSmartChainTestnet,
"mumbai" => ::core::result::Result::Ok(Chain::PolygonMumbai),
"arbitrum" => Chain::Arbitrum,
"polygon-mumbai" => ::core::result::Result::Ok(Chain::PolygonMumbai),
"arbitrum-testnet" => Chain::ArbitrumTestnet,
"fantom" => ::core::result::Result::Ok(Chain::Fantom),
"arbitrum-goerli" => Chain::ArbitrumGoerli,
"fantom-testnet" => ::core::result::Result::Ok(Chain::FantomTestnet),
"cronos" => Chain::Cronos,
"moonbeam" => ::core::result::Result::Ok(Chain::Moonbeam),
"cronos-testnet" => Chain::CronosTestnet,
"moonbeam-dev" => ::core::result::Result::Ok(Chain::MoonbeamDev),
"poa" => Chain::Poa,
"moonriver" => ::core::result::Result::Ok(Chain::Moonriver),
"sokol" => Chain::Sokol,
"moonbase" => ::core::result::Result::Ok(Chain::Moonbase),
"rsk" => Chain::Rsk,
"dev" => ::core::result::Result::Ok(Chain::Dev),
"oasis" => Chain::Oasis,
"anvil-hardhat" => ::core::result::Result::Ok(Chain::AnvilHardhat),
"emerald" => Chain::Emerald,
"anvil" => ::core::result::Result::Ok(Chain::AnvilHardhat),
"emerald-testnet" => Chain::EmeraldTestnet,
"hardhat" => ::core::result::Result::Ok(Chain::AnvilHardhat),
"aurora" => Chain::Aurora,
"evmos" => ::core::result::Result::Ok(Chain::Evmos),
"aurora-testnet" => Chain::AuroraTestnet,
"evmos-testnet" => ::core::result::Result::Ok(Chain::EvmosTestnet),
"celo" => Chain::Celo,
"chiado" => ::core::result::Result::Ok(Chain::Chiado),
"celo-alfajores" => Chain::CeloAlfajores,
"oasis" => ::core::result::Result::Ok(Chain::Oasis),
"celo-baklava" => Chain::CeloBaklava,
"emerald" => ::core::result::Result::Ok(Chain::Emerald),
_ => return Err(ParseChainError(chain.to_owned())),
"emerald-testnet" => ::core::result::Result::Ok(Chain::EmeraldTestnet),
})
"avalanche" => ::core::result::Result::Ok(Chain::Avalanche),
"fuji" => ::core::result::Result::Ok(Chain::AvalancheFuji),
"avalanche-fuji" => ::core::result::Result::Ok(Chain::AvalancheFuji),
"celo" => ::core::result::Result::Ok(Chain::Celo),
"celo-alfajores" => ::core::result::Result::Ok(Chain::CeloAlfajores),
"celo-baklava" => ::core::result::Result::Ok(Chain::CeloBaklava),
"aurora" => ::core::result::Result::Ok(Chain::Aurora),
"aurora-testnet" => ::core::result::Result::Ok(Chain::AuroraTestnet),
_ => ::core::result::Result::Err(::strum::ParseError::VariantNotFound),
}
}
}
}
}