use std::io;
pub trait ReadZcashExt: io::Read {
#[inline]
fn read_4_bytes(&mut self) -> io::Result<[u8; 4]> {
let mut bytes = [0; 4];
self.read_exact(&mut bytes)?;
Ok(bytes)
}
#[inline]
fn read_12_bytes(&mut self) -> io::Result<[u8; 12]> {
let mut bytes = [0; 12];
self.read_exact(&mut bytes)?;
Ok(bytes)
}
#[inline]
fn read_32_bytes(&mut self) -> io::Result<[u8; 32]> {
let mut bytes = [0; 32];
self.read_exact(&mut bytes)?;
Ok(bytes)
}
#[inline]
fn read_64_bytes(&mut self) -> io::Result<[u8; 64]> {
let mut bytes = [0; 64];
self.read_exact(&mut bytes)?;
Ok(bytes)
}
}
impl<R: io::Read + ?Sized> ReadZcashExt for R {}