use crate::utils::multihash::prelude::*;
use cid::Cid;
use fvm_ipld_encoding::Error;
pub trait CidCborExt {
fn from_cbor_blake2b256<S: serde::ser::Serialize>(obj: &S) -> Result<Cid, Error> {
let bytes = fvm_ipld_encoding::to_vec(obj)?;
Ok(Self::from_cbor_encoded_raw_bytes_blake2b256(&bytes))
}
fn from_cbor_encoded_raw_bytes_blake2b256(bytes: &[u8]) -> Cid {
Cid::new_v1(
fvm_ipld_encoding::DAG_CBOR,
MultihashCode::Blake2b256.digest(bytes),
)
}
}
impl CidCborExt for Cid {}