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}