use crate::{de::DeserializeError, lib::*, ser::SerializeError, SimpleSerialize};
pub fn serialize<T>(value: &T) -> Result<Vec<u8>, SerializeError>
where
T: SimpleSerialize,
{
let mut result = vec![];
value.serialize(&mut result)?;
Ok(result)
}
pub fn deserialize<T>(encoding: &[u8]) -> Result<T, DeserializeError>
where
T: SimpleSerialize,
{
T::deserialize(encoding)
}
pub(crate) fn write_bytes_to_lower_hex<T: AsRef<[u8]>>(
f: &mut fmt::Formatter<'_>,
data: T,
) -> fmt::Result {
if f.alternate() {
write!(f, "0x")?;
}
for i in data.as_ref() {
write!(f, "{i:02x}")?;
}
Ok(())
}