diff --git a/tendermint/src/serializers/apphash.rs b/tendermint/src/serializers/apphash.rs index d5c34a588..cbe86e131 100644 --- a/tendermint/src/serializers/apphash.rs +++ b/tendermint/src/serializers/apphash.rs @@ -1,9 +1,9 @@ //! AppHash serialization with validation +use core::str::FromStr; use alloc::borrow::Cow; -use serde::{de, ser, Deserialize, Deserializer, Serializer}; -use subtle_encoding::hex; +use serde::{de, Deserialize, Deserializer, Serializer}; use crate::{prelude::*, AppHash}; @@ -13,7 +13,7 @@ where D: Deserializer<'de>, { let hexstring = Option::>::deserialize(deserializer)?.unwrap_or(Cow::Borrowed("")); - AppHash::from_hex_upper(&hexstring).map_err(de::Error::custom) + AppHash::from_str(&hexstring).map_err(de::Error::custom) } /// Serialize from AppHash into hexstring @@ -21,8 +21,6 @@ pub fn serialize(value: &AppHash, serializer: S) -> Result where S: Serializer, { - let hex_bytes = hex::encode_upper(value.as_ref()); - let hex_string = String::from_utf8(hex_bytes).map_err(ser::Error::custom)?; // Serialize as Option for symmetry with deserialize - serializer.serialize_some(&hex_string) + serializer.serialize_some(&value.to_string()) }