diff --git a/crates/block-explorers/src/lib.rs b/crates/block-explorers/src/lib.rs index efde257..7134f18 100644 --- a/crates/block-explorers/src/lib.rs +++ b/crates/block-explorers/src/lib.rs @@ -27,6 +27,7 @@ use std::{ collections::HashMap, io::Write, path::PathBuf, + str::FromStr, time::{Duration, SystemTime, UNIX_EPOCH}, }; @@ -70,11 +71,18 @@ impl std::fmt::Display for EtherscanApiVersion { impl TryFrom for EtherscanApiVersion { type Error = EtherscanError; - #[inline] fn try_from(value: String) -> Result { - match value.as_str() { - "v1" => Ok(EtherscanApiVersion::V1), - "v2" => Ok(EtherscanApiVersion::V2), + Self::from_str(value.as_str()) + } +} + +impl FromStr for EtherscanApiVersion { + type Err = EtherscanError; + + fn from_str(value: &str) -> Result { + match value { + "v1" | "V1" => Ok(EtherscanApiVersion::V1), + "v2" | "V2" => Ok(EtherscanApiVersion::V2), _ => Err(EtherscanError::InvalidApiVersion), } }