diff --git a/ssz-rs/src/lib.rs b/ssz-rs/src/lib.rs index e415b144..b43e7e6a 100644 --- a/ssz-rs/src/lib.rs +++ b/ssz-rs/src/lib.rs @@ -68,10 +68,10 @@ mod lib { array::TryFromSliceError, fmt::{Debug, Display, Formatter}, ops::{Deref, DerefMut, Index, IndexMut}, - slice::{IterMut, SliceIndex}, + slice::SliceIndex, str::FromStr, }, - iter::{Enumerate, ExactSizeIterator}, + iter::ExactSizeIterator, }; #[cfg(not(feature = "std"))] diff --git a/ssz-rs/src/serde.rs b/ssz-rs/src/serde.rs index 42bd939e..f0632687 100644 --- a/ssz-rs/src/serde.rs +++ b/ssz-rs/src/serde.rs @@ -3,34 +3,8 @@ use hex::FromHexError; const HEX_ENCODING_PREFIX: &str = "0x"; -#[derive(Debug)] -pub enum HexError { - Hex(FromHexError), - MissingPrefix, -} - -impl fmt::Display for HexError { - fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result { - match self { - Self::Hex(e) => write!(f, "{e}"), - Self::MissingPrefix => { - write!(f, "missing prefix `{HEX_ENCODING_PREFIX}` when deserializing hex data") - } - } - } -} - -impl From for HexError { - fn from(e: FromHexError) -> Self { - Self::Hex(e) - } -} - -#[cfg(feature = "std")] -impl std::error::Error for HexError {} - -pub fn try_bytes_from_hex_str(s: &str) -> Result, HexError> { - let target = s.strip_prefix(HEX_ENCODING_PREFIX).ok_or(HexError::MissingPrefix)?; +pub fn try_bytes_from_hex_str(s: &str) -> Result, FromHexError> { + let target = s.strip_prefix(HEX_ENCODING_PREFIX).unwrap_or(s); let data = hex::decode(target)?; Ok(data) }