zebra_chain/serialization/
write_zcash.rs

1use std::io;
2
3/// Extends [`Write`] with methods for writing Zcash/Bitcoin types.
4///
5/// [`Write`]: https://doc.rust-lang.org/std/io/trait.Write.html
6pub trait WriteZcashExt: io::Write {
7    /// Convenience method to write exactly 32 u8's.
8    #[inline]
9    fn write_32_bytes(&mut self, bytes: &[u8; 32]) -> io::Result<()> {
10        self.write_all(bytes)
11    }
12
13    /// Convenience method to write exactly 64 u8's.
14    #[inline]
15    fn write_64_bytes(&mut self, bytes: &[u8; 64]) -> io::Result<()> {
16        self.write_all(bytes)
17    }
18}
19
20/// Mark all types implementing `Write` as implementing the extension.
21impl<W: io::Write + ?Sized> WriteZcashExt for W {}