taubyte_sdk/utils/codec/
cid.rs

1use cid::Cid;
2
3pub struct Reader {
4    data: Vec<u8>,
5}
6
7impl Reader {
8    pub fn new() -> Reader {
9        Reader { data: vec![0; 64] }
10    }
11
12    pub fn ptr(&mut self) -> *mut u8 {
13        self.data.as_mut_ptr()
14    }
15
16    pub fn parse(&self) -> Result<Cid, Box<dyn std::error::Error>> {
17        let err = Cid::try_from(self.data.as_slice());
18        if err.is_err() {
19            Err(format!("Parsing cid failed with: {}", err.unwrap_err()).into())
20        } else {
21            Ok(err.unwrap())
22        }
23    }
24}