web3_utils/
wrapped_pod.rs

1
2
3
4pub trait WrappedPod<'a>: Sized {
5    fn export(&self, buffer: &mut Vec<u8>);
6    fn size(&self) -> usize;
7    fn from_bytes(buffer: &'a [u8]) -> Self;
8    #[allow(unused_variables)]
9    fn try_from_bytes(buffer: &'a [u8]) -> Result<Self, std::io::Error> {
10        // Default implementation for backward comp
11        Err(std::io::Error::new(
12            std::io::ErrorKind::Unsupported,
13            "Not implemented yet",
14        ))
15    }
16}
17
18pub trait WrappedPodMut<'a>: Sized {
19    fn export(&self, buffer: &mut Vec<u8>);
20    fn size(&self) -> usize;
21    fn from_bytes(buffer: &'a mut [u8]) -> Self;
22    #[allow(unused_variables)]
23    fn try_from_bytes(buffer: &'a mut [u8]) -> Result<Self, std::io::Error> {
24        // Default implementation for backward comp
25        Err(std::io::Error::new(
26            std::io::ErrorKind::Unsupported,
27            "Not implemented yet",
28        ))
29    }
30}