Skip to main content

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}