use ciborium::into_writer;
use serde::Serialize;
use relay_core::envelope::EnvelopeError;
pub fn canonical_cbor<T: Serialize>(value: &T) -> Result<Vec<u8>, EnvelopeError> {
let mut buf = Vec::new();
into_writer(value, &mut buf).map_err(|e| EnvelopeError::EncodingError(e.to_string()))?;
Ok(buf)
}