relay_crypto/encode.rs
1use ciborium::into_writer;
2use serde::Serialize;
3
4use relay_core::envelope::EnvelopeError;
5
6pub fn canonical_cbor<T: Serialize>(value: &T) -> Result<Vec<u8>, EnvelopeError> {
7 let mut buf = Vec::new();
8 into_writer(value, &mut buf).map_err(|e| EnvelopeError::EncodingError(e.to_string()))?;
9 Ok(buf)
10}