arnaucube
arnaucube/hyperplonkPublic Self-hosted repository
hyperplonk/subroutines/src/pcs/structs.rs
subroutines/src/pcs/structs.rsRaw
 1// Copyright (c) 2023 Espresso Systems (espressosys.com)
 2// This file is part of the HyperPlonk library.
 3
 4// You should have received a copy of the MIT License
 5// along with the HyperPlonk library. If not, see <https://mit-license.org/>.
 6
 7use ark_ec::pairing::Pairing;
 8use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
 9use derivative::Derivative;
10
11#[derive(Derivative, CanonicalSerialize, CanonicalDeserialize)]
12#[derivative(
13    Default(bound = ""),
14    Hash(bound = ""),
15    Clone(bound = ""),
16    Copy(bound = ""),
17    Debug(bound = ""),
18    PartialEq(bound = ""),
19    Eq(bound = "")
20)]
21/// A commitment is an Affine point.
22pub struct Commitment<E: Pairing>(
23    /// the actual commitment is an affine point.
24    pub E::G1Affine,
25);