#[macro_use]
mod macros;
#[macro_use]
pub mod cdh;
pub mod detached;
pub mod keyed_verification;
use crate::{error::ProofSystemError, setup_params::SetupParams, statement::Statement};
use ark_ec::pairing::Pairing;
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
use ark_std::vec::Vec;
use dock_crypto_utils::serde_utils::*;
use serde::{Deserialize, Serialize};
use serde_with::serde_as;
use short_group_sig::common::ProvingKey;
use vb_accumulator::{
kb_positive_accumulator::setup::{PublicKey as KBAccumPk, SetupParams as KBAccumParams},
prelude::{
MembershipProvingKey, NonMembershipProvingKey, PublicKey, SetupParams as AccumParams,
},
};
impl_struct_and_funcs!(
VBAccumulatorMembership,
AccumParams,
VbAccumulatorParams,
PublicKey,
VbAccumulatorPublicKey,
VBAccumulatorMembership,
MembershipProvingKey,
VbAccumulatorMemProvingKey
);
impl_struct_and_funcs!(
VBAccumulatorNonMembership,
AccumParams,
VbAccumulatorParams,
PublicKey,
VbAccumulatorPublicKey,
VBAccumulatorNonMembership,
NonMembershipProvingKey,
VbAccumulatorNonMemProvingKey
);
impl_struct_and_funcs!(
KBUniversalAccumulatorMembership,
AccumParams,
VbAccumulatorParams,
PublicKey,
VbAccumulatorPublicKey,
KBUniversalAccumulatorMembership,
ProvingKey,
BBSigProvingKey
);
impl_struct_and_funcs!(
KBUniversalAccumulatorNonMembership,
AccumParams,
VbAccumulatorParams,
PublicKey,
VbAccumulatorPublicKey,
KBUniversalAccumulatorNonMembership,
ProvingKey,
BBSigProvingKey
);
impl_struct_and_funcs!(
KBPositiveAccumulatorMembership,
KBAccumParams,
KBPositiveAccumulatorParams,
KBAccumPk,
KBPositiveAccumulatorPublicKey,
KBPositiveAccumulatorMembership,
ProvingKey,
BBSigProvingKey
);
pub use detached::*;