ommx/polynomial_base/
serialize.rs1use 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}