#[derive(Clone, Debug, PartialEq)]
pub struct FirstReduceMessage<G1, G2, GT> {
pub d1_left: GT,
pub d1_right: GT,
pub d2_left: GT,
pub d2_right: GT,
pub e1_beta: G1,
pub e2_beta: G2,
}
#[derive(Clone, Debug, PartialEq)]
pub struct SecondReduceMessage<G1, G2, GT> {
pub c_plus: GT,
pub c_minus: GT,
pub e1_plus: G1,
pub e1_minus: G1,
pub e2_plus: G2,
pub e2_minus: G2,
}
#[derive(Clone, Debug, PartialEq)]
pub struct VMVMessage<G1, GT> {
pub c: GT,
pub d2: GT,
pub e1: G1,
}
#[derive(Clone, Debug, PartialEq)]
pub struct ScalarProductMessage<G1, G2> {
pub e1: G1,
pub e2: G2,
}
#[cfg(feature = "zk")]
#[derive(Clone, Debug, PartialEq)]
#[allow(missing_docs)]
pub struct Sigma1Proof<G1, G2, F> {
pub a1: G2,
pub a2: G1,
pub z1: F,
pub z2: F,
pub z3: F,
}
#[cfg(feature = "zk")]
#[derive(Clone, Debug, PartialEq)]
#[allow(missing_docs)]
pub struct Sigma2Proof<F, GT> {
pub a: GT,
pub z1: F,
pub z2: F,
}
#[derive(Clone, Debug, PartialEq)]
#[allow(missing_docs)]
pub struct ScalarProductProof<G1, G2, F, GT> {
pub p1: GT,
pub p2: GT,
pub q: GT,
pub r: GT,
pub e1: G1,
pub e2: G2,
pub r1: F,
pub r2: F,
pub r3: F,
}