zebra_chain/serialization/
read_zcash.rs
1use std::io;
2
3pub trait ReadZcashExt: io::Read {
7 #[inline]
9 fn read_4_bytes(&mut self) -> io::Result<[u8; 4]> {
10 let mut bytes = [0; 4];
11 self.read_exact(&mut bytes)?;
12 Ok(bytes)
13 }
14
15 #[inline]
17 fn read_12_bytes(&mut self) -> io::Result<[u8; 12]> {
18 let mut bytes = [0; 12];
19 self.read_exact(&mut bytes)?;
20 Ok(bytes)
21 }
22
23 #[inline]
25 fn read_32_bytes(&mut self) -> io::Result<[u8; 32]> {
26 let mut bytes = [0; 32];
27 self.read_exact(&mut bytes)?;
28 Ok(bytes)
29 }
30
31 #[inline]
33 fn read_64_bytes(&mut self) -> io::Result<[u8; 64]> {
34 let mut bytes = [0; 64];
35 self.read_exact(&mut bytes)?;
36 Ok(bytes)
37 }
38}
39
40impl<R: io::Read + ?Sized> ReadZcashExt for R {}