ommx/polynomial_base/
serialize.rs

1use super::*;
2use crate::{v1, Message, Parse};
3use anyhow::Result;
4
5impl Linear {
6    pub fn to_bytes(&self) -> Vec<u8> {
7        let v1_linear = v1::Linear::from(self.clone());
8        v1_linear.encode_to_vec()
9    }
10
11    pub fn from_bytes(bytes: &[u8]) -> Result<Self> {
12        let inner = v1::Linear::decode(bytes)?;
13        Ok(Parse::parse(inner, &())?)
14    }
15}
16
17impl Quadratic {
18    pub fn to_bytes(&self) -> Vec<u8> {
19        let v1_quadratic = v1::Quadratic::from(self.clone());
20        v1_quadratic.encode_to_vec()
21    }
22
23    pub fn from_bytes(bytes: &[u8]) -> Result<Self> {
24        let inner = v1::Quadratic::decode(bytes)?;
25        Ok(Parse::parse(inner, &())?)
26    }
27}
28
29impl Polynomial {
30    pub fn to_bytes(&self) -> Vec<u8> {
31        let v1_polynomial = v1::Polynomial::from(self.clone());
32        v1_polynomial.encode_to_vec()
33    }
34
35    pub fn from_bytes(bytes: &[u8]) -> Result<Self> {
36        let inner = v1::Polynomial::decode(bytes)?;
37        Ok(Parse::parse(inner, &())?)
38    }
39}