diff --git a/src/network/serialize.rs b/src/network/serialize.rs index 14644c3..4670fb0 100644 --- a/src/network/serialize.rs +++ b/src/network/serialize.rs @@ -21,6 +21,7 @@ use collections::Vec; use std::io::{IoError, IoResult, OtherIoError, MemReader, MemWriter}; +use serialize::hex::ToHex; use network::encodable::{ConsensusDecodable, ConsensusEncodable}; use util::hash::Sha256dHash; @@ -44,6 +45,12 @@ pub fn serialize, IoError>>(obj: &T) Ok(encoder.unwrap().unwrap()) } +/// Encode an object into a hex-encoded string +pub fn serialize_hex, IoError>>(obj: &T) -> IoResult { + let serial = try!(serialize(obj)); + Ok(serial.as_slice().to_hex()) +} + /// Deserialize an object from a vector pub fn deserialize, IoError>>(data: Vec) -> IoResult { let mut decoder = RawDecoder::new(MemReader::new(data));