mirror of
https://github.com/arnaucube/ark-r1cs-std.git
synced 2026-01-10 16:01:28 +01:00
Switch to stable cargo formatting options
This commit is contained in:
@@ -26,9 +26,9 @@ where
|
||||
GG: GroupGadget<G, ConstraintF>,
|
||||
IG: InjectiveMapGadget<G, I, ConstraintF, GG>,
|
||||
{
|
||||
_compressor: PhantomData<I>,
|
||||
_compressor: PhantomData<I>,
|
||||
_compressor_gadget: PhantomData<IG>,
|
||||
_crh: PedersenCommitmentGadget<G, ConstraintF, GG>,
|
||||
_crh: PedersenCommitmentGadget<G, ConstraintF, GG>,
|
||||
}
|
||||
|
||||
impl<G, I, ConstraintF, GG, IG, W> CommitmentGadget<PedersenCommCompressor<G, I, W>, ConstraintF>
|
||||
|
||||
@@ -13,9 +13,9 @@ use algebra_core::groups::Group;
|
||||
pub mod constraints;
|
||||
|
||||
pub struct PedersenCommCompressor<G: Group, I: InjectiveMap<G>, W: PedersenWindow> {
|
||||
_group: PhantomData<G>,
|
||||
_group: PhantomData<G>,
|
||||
_compressor: PhantomData<I>,
|
||||
_comm: PedersenCommitment<G, W>,
|
||||
_comm: PedersenCommitment<G, W>,
|
||||
}
|
||||
|
||||
impl<G: Group, I: InjectiveMap<G>, W: PedersenWindow> CommitmentScheme
|
||||
|
||||
@@ -15,9 +15,9 @@ use r1cs_std::prelude::*;
|
||||
#[derive(Derivative)]
|
||||
#[derivative(Clone(bound = "G: Group, W: PedersenWindow, ConstraintF: Field"))]
|
||||
pub struct PedersenCommitmentGadgetParameters<G: Group, W: PedersenWindow, ConstraintF: Field> {
|
||||
params: PedersenParameters<G>,
|
||||
params: PedersenParameters<G>,
|
||||
#[doc(hidden)]
|
||||
_group: PhantomData<G>,
|
||||
_group: PhantomData<G>,
|
||||
#[doc(hidden)]
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
#[doc(hidden)]
|
||||
@@ -109,8 +109,8 @@ where
|
||||
let parameters = temp.borrow().clone();
|
||||
|
||||
Ok(PedersenCommitmentGadgetParameters {
|
||||
params: parameters,
|
||||
_group: PhantomData,
|
||||
params: parameters,
|
||||
_group: PhantomData,
|
||||
_engine: PhantomData,
|
||||
_window: PhantomData,
|
||||
})
|
||||
@@ -128,8 +128,8 @@ where
|
||||
let parameters = temp.borrow().clone();
|
||||
|
||||
Ok(PedersenCommitmentGadgetParameters {
|
||||
params: parameters,
|
||||
_group: PhantomData,
|
||||
params: parameters,
|
||||
_group: PhantomData,
|
||||
_engine: PhantomData,
|
||||
_window: PhantomData,
|
||||
})
|
||||
|
||||
@@ -23,11 +23,11 @@ pub mod constraints;
|
||||
#[derive(Clone)]
|
||||
pub struct PedersenParameters<G: Group> {
|
||||
pub randomness_generator: Vec<G>,
|
||||
pub generators: Vec<Vec<G>>,
|
||||
pub generators: Vec<Vec<G>>,
|
||||
}
|
||||
|
||||
pub struct PedersenCommitment<G: Group, W: PedersenWindow> {
|
||||
group: PhantomData<G>,
|
||||
group: PhantomData<G>,
|
||||
window: PhantomData<W>,
|
||||
}
|
||||
|
||||
|
||||
@@ -21,10 +21,10 @@ pub struct BoweHopwoodPedersenCRHGadgetParameters<
|
||||
ConstraintF: Field,
|
||||
GG: GroupGadget<G, ConstraintF>,
|
||||
> {
|
||||
params: BoweHopwoodPedersenParameters<G>,
|
||||
params: BoweHopwoodPedersenParameters<G>,
|
||||
_group_g: PhantomData<GG>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_window: PhantomData<W>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_window: PhantomData<W>,
|
||||
}
|
||||
|
||||
pub struct BoweHopwoodPedersenCRHGadget<
|
||||
@@ -32,9 +32,9 @@ pub struct BoweHopwoodPedersenCRHGadget<
|
||||
ConstraintF: Field,
|
||||
GG: GroupGadget<G, ConstraintF>,
|
||||
> {
|
||||
_group: PhantomData<*const G>,
|
||||
_group: PhantomData<*const G>,
|
||||
_group_gadget: PhantomData<*const GG>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
}
|
||||
|
||||
impl<ConstraintF, G, GG, W> FixedLengthCRHGadget<BoweHopwoodPedersenCRH<G, W>, ConstraintF>
|
||||
|
||||
@@ -23,7 +23,7 @@ pub struct BoweHopwoodPedersenParameters<G: Group> {
|
||||
}
|
||||
|
||||
pub struct BoweHopwoodPedersenCRH<G: Group, W: PedersenWindow> {
|
||||
group: PhantomData<G>,
|
||||
group: PhantomData<G>,
|
||||
window: PhantomData<W>,
|
||||
}
|
||||
|
||||
|
||||
@@ -97,9 +97,9 @@ where
|
||||
GG: GroupGadget<G, ConstraintF>,
|
||||
IG: InjectiveMapGadget<G, I, ConstraintF, GG>,
|
||||
{
|
||||
_compressor: PhantomData<I>,
|
||||
_compressor: PhantomData<I>,
|
||||
_compressor_gadget: PhantomData<IG>,
|
||||
_crh: PedersenCRHGadget<G, ConstraintF, GG>,
|
||||
_crh: PedersenCRHGadget<G, ConstraintF, GG>,
|
||||
}
|
||||
|
||||
impl<G, I, ConstraintF, GG, IG, W> FixedLengthCRHGadget<PedersenCRHCompressor<G, I, W>, ConstraintF>
|
||||
|
||||
@@ -46,9 +46,9 @@ impl<P: TEModelParameters> InjectiveMap<TEProjective<P>> for TECompressor {
|
||||
}
|
||||
|
||||
pub struct PedersenCRHCompressor<G: Group, I: InjectiveMap<G>, W: PedersenWindow> {
|
||||
_group: PhantomData<G>,
|
||||
_group: PhantomData<G>,
|
||||
_compressor: PhantomData<I>,
|
||||
_crh: PedersenCRH<G, W>,
|
||||
_crh: PedersenCRH<G, W>,
|
||||
}
|
||||
|
||||
impl<G: Group, I: InjectiveMap<G>, W: PedersenWindow> FixedLengthCRH
|
||||
|
||||
@@ -18,19 +18,19 @@ pub struct PedersenCRHGadgetParameters<
|
||||
ConstraintF: Field,
|
||||
GG: GroupGadget<G, ConstraintF>,
|
||||
> {
|
||||
params: PedersenParameters<G>,
|
||||
params: PedersenParameters<G>,
|
||||
_group_g: PhantomData<GG>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_window: PhantomData<W>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_window: PhantomData<W>,
|
||||
}
|
||||
|
||||
pub struct PedersenCRHGadget<G: Group, ConstraintF: Field, GG: GroupGadget<G, ConstraintF>> {
|
||||
#[doc(hideen)]
|
||||
_group: PhantomData<*const G>,
|
||||
_group: PhantomData<*const G>,
|
||||
#[doc(hideen)]
|
||||
_group_gadget: PhantomData<*const GG>,
|
||||
#[doc(hideen)]
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
}
|
||||
|
||||
impl<ConstraintF, G, GG, W> FixedLengthCRHGadget<PedersenCRH<G, W>, ConstraintF>
|
||||
|
||||
@@ -25,7 +25,7 @@ pub struct PedersenParameters<G: Group> {
|
||||
}
|
||||
|
||||
pub struct PedersenCRH<G: Group, W: PedersenWindow> {
|
||||
group: PhantomData<G>,
|
||||
group: PhantomData<G>,
|
||||
window: PhantomData<W>,
|
||||
}
|
||||
|
||||
|
||||
@@ -82,13 +82,13 @@ impl<P: MerkleTreeConfig> MerkleTreePath<P> {
|
||||
}
|
||||
|
||||
pub struct MerkleHashTree<P: MerkleTreeConfig> {
|
||||
tree: Vec<<P::H as FixedLengthCRH>::Output>,
|
||||
tree: Vec<<P::H as FixedLengthCRH>::Output>,
|
||||
padding_tree: Vec<(
|
||||
<P::H as FixedLengthCRH>::Output,
|
||||
<P::H as FixedLengthCRH>::Output,
|
||||
)>,
|
||||
parameters: <P::H as FixedLengthCRH>::Parameters,
|
||||
root: Option<<P::H as FixedLengthCRH>::Output>,
|
||||
parameters: <P::H as FixedLengthCRH>::Parameters,
|
||||
root: Option<<P::H as FixedLengthCRH>::Output>,
|
||||
}
|
||||
|
||||
impl<P: MerkleTreeConfig> MerkleHashTree<P> {
|
||||
@@ -248,7 +248,7 @@ impl core::fmt::Display for MerkleTreeError {
|
||||
let msg = match self {
|
||||
MerkleTreeError::IncorrectLeafIndex(index) => {
|
||||
format!("incorrect leaf index: {}", index)
|
||||
},
|
||||
}
|
||||
MerkleTreeError::IncorrectPathLength(len) => format!("incorrect path length: {}", len),
|
||||
};
|
||||
write!(f, "{}", msg)
|
||||
|
||||
@@ -28,12 +28,12 @@ pub struct VerifyingKeyGadget<
|
||||
ConstraintF: Field,
|
||||
P: PairingGadget<PairingE, ConstraintF>,
|
||||
> {
|
||||
pub h_g2: P::G2Gadget,
|
||||
pub h_g2: P::G2Gadget,
|
||||
pub g_alpha_g1: P::G1Gadget,
|
||||
pub h_beta_g2: P::G2Gadget,
|
||||
pub h_beta_g2: P::G2Gadget,
|
||||
pub g_gamma_g1: P::G1Gadget,
|
||||
pub h_gamma_g2: P::G2Gadget,
|
||||
pub query: Vec<P::G1Gadget>,
|
||||
pub query: Vec<P::G1Gadget>,
|
||||
}
|
||||
|
||||
impl<PairingE: PairingEngine, ConstraintF: Field, P: PairingGadget<PairingE, ConstraintF>>
|
||||
@@ -72,14 +72,14 @@ pub struct PreparedVerifyingKeyGadget<
|
||||
ConstraintF: Field,
|
||||
P: PairingGadget<PairingE, ConstraintF>,
|
||||
> {
|
||||
pub g_alpha: P::G1Gadget,
|
||||
pub h_beta: P::G2Gadget,
|
||||
pub g_alpha: P::G1Gadget,
|
||||
pub h_beta: P::G2Gadget,
|
||||
pub g_alpha_pc: P::G1PreparedGadget,
|
||||
pub h_beta_pc: P::G2PreparedGadget,
|
||||
pub h_beta_pc: P::G2PreparedGadget,
|
||||
pub g_gamma_pc: P::G1PreparedGadget,
|
||||
pub h_gamma_pc: P::G2PreparedGadget,
|
||||
pub h_pc: P::G2PreparedGadget,
|
||||
pub query: Vec<P::G1Gadget>,
|
||||
pub h_pc: P::G2PreparedGadget,
|
||||
pub query: Vec<P::G1Gadget>,
|
||||
}
|
||||
|
||||
pub struct Gm17VerifierGadget<PairingE, ConstraintF, P>
|
||||
@@ -89,7 +89,7 @@ where
|
||||
P: PairingGadget<PairingE, ConstraintF>,
|
||||
{
|
||||
_pairing_engine: PhantomData<PairingE>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_pairing_gadget: PhantomData<P>,
|
||||
}
|
||||
|
||||
@@ -412,7 +412,7 @@ mod test {
|
||||
type TestVkGadget = VerifyingKeyGadget<Bls12_377, Fq, Bls12_377PairingGadget>;
|
||||
|
||||
struct Bench<F: Field> {
|
||||
inputs: Vec<Option<F>>,
|
||||
inputs: Vec<Option<F>>,
|
||||
num_constraints: usize,
|
||||
}
|
||||
|
||||
@@ -564,7 +564,7 @@ mod test_recursive {
|
||||
|
||||
#[derive(Clone)]
|
||||
struct Bench<F: Field> {
|
||||
inputs: Vec<Option<F>>,
|
||||
inputs: Vec<Option<F>>,
|
||||
num_constraints: usize,
|
||||
}
|
||||
|
||||
@@ -612,7 +612,7 @@ mod test_recursive {
|
||||
struct Wrapper {
|
||||
inputs: Vec<Option<MNT4Fq>>,
|
||||
params: Parameters<MNT6_298>,
|
||||
proof: Proof<MNT6_298>,
|
||||
proof: Proof<MNT6_298>,
|
||||
}
|
||||
|
||||
impl ConstraintSynthesizer<MNT6Fq> for Wrapper {
|
||||
@@ -709,7 +709,7 @@ mod test_recursive {
|
||||
let c = Wrapper {
|
||||
inputs: inputs.clone(),
|
||||
params: inner_params.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
};
|
||||
|
||||
generate_random_parameters(c, rng).unwrap()
|
||||
@@ -722,7 +722,7 @@ mod test_recursive {
|
||||
let c = Wrapper {
|
||||
inputs: inputs.clone(),
|
||||
params: inner_params.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
};
|
||||
// Create a groth16 proof with our parameters.
|
||||
create_random_proof(c, ¶ms, rng).unwrap()
|
||||
|
||||
@@ -23,9 +23,9 @@ pub struct Gm17<
|
||||
V: ToConstraintField<E::Fr> + ?Sized,
|
||||
> {
|
||||
#[doc(hidden)]
|
||||
_engine: PhantomData<E>,
|
||||
_engine: PhantomData<E>,
|
||||
#[doc(hidden)]
|
||||
_circuit: PhantomData<C>,
|
||||
_circuit: PhantomData<C>,
|
||||
#[doc(hidden)]
|
||||
_verifier_input: PhantomData<V>,
|
||||
}
|
||||
|
||||
@@ -28,10 +28,10 @@ pub struct VerifyingKeyGadget<
|
||||
ConstraintF: Field,
|
||||
P: PairingGadget<PairingE, ConstraintF>,
|
||||
> {
|
||||
pub alpha_g1: P::G1Gadget,
|
||||
pub beta_g2: P::G2Gadget,
|
||||
pub gamma_g2: P::G2Gadget,
|
||||
pub delta_g2: P::G2Gadget,
|
||||
pub alpha_g1: P::G1Gadget,
|
||||
pub beta_g2: P::G2Gadget,
|
||||
pub gamma_g2: P::G2Gadget,
|
||||
pub delta_g2: P::G2Gadget,
|
||||
pub gamma_abc_g1: Vec<P::G1Gadget>,
|
||||
}
|
||||
|
||||
@@ -78,9 +78,9 @@ pub struct PreparedVerifyingKeyGadget<
|
||||
P: PairingGadget<PairingE, ConstraintF>,
|
||||
> {
|
||||
pub alpha_g1_beta_g2: P::GTGadget,
|
||||
pub gamma_g2_neg_pc: P::G2PreparedGadget,
|
||||
pub delta_g2_neg_pc: P::G2PreparedGadget,
|
||||
pub gamma_abc_g1: Vec<P::G1Gadget>,
|
||||
pub gamma_g2_neg_pc: P::G2PreparedGadget,
|
||||
pub delta_g2_neg_pc: P::G2PreparedGadget,
|
||||
pub gamma_abc_g1: Vec<P::G1Gadget>,
|
||||
}
|
||||
|
||||
pub struct Groth16VerifierGadget<PairingE, ConstraintF, P>
|
||||
@@ -90,7 +90,7 @@ where
|
||||
P: PairingGadget<PairingE, ConstraintF>,
|
||||
{
|
||||
_pairing_engine: PhantomData<PairingE>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_engine: PhantomData<ConstraintF>,
|
||||
_pairing_gadget: PhantomData<P>,
|
||||
}
|
||||
|
||||
@@ -359,7 +359,7 @@ mod test {
|
||||
type TestVkGadget = VerifyingKeyGadget<Bls12_377, Fq, Bls12_377PairingGadget>;
|
||||
|
||||
struct Bench<F: Field> {
|
||||
inputs: Vec<Option<F>>,
|
||||
inputs: Vec<Option<F>>,
|
||||
num_constraints: usize,
|
||||
}
|
||||
|
||||
@@ -511,7 +511,7 @@ mod test_recursive {
|
||||
|
||||
#[derive(Clone)]
|
||||
struct Bench<F: Field> {
|
||||
inputs: Vec<Option<F>>,
|
||||
inputs: Vec<Option<F>>,
|
||||
num_constraints: usize,
|
||||
}
|
||||
|
||||
@@ -559,7 +559,7 @@ mod test_recursive {
|
||||
struct Wrapper {
|
||||
inputs: Vec<Option<MNT4Fq>>,
|
||||
params: Parameters<MNT6_298>,
|
||||
proof: Proof<MNT6_298>,
|
||||
proof: Proof<MNT6_298>,
|
||||
}
|
||||
|
||||
impl ConstraintSynthesizer<MNT6Fq> for Wrapper {
|
||||
@@ -656,7 +656,7 @@ mod test_recursive {
|
||||
let c = Wrapper {
|
||||
inputs: inputs.clone(),
|
||||
params: inner_params.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
};
|
||||
|
||||
generate_random_parameters(c, rng).unwrap()
|
||||
@@ -669,7 +669,7 @@ mod test_recursive {
|
||||
let c = Wrapper {
|
||||
inputs: inputs.clone(),
|
||||
params: inner_params.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
proof: inner_proof.clone(),
|
||||
};
|
||||
// Create a groth16 proof with our parameters.
|
||||
create_random_proof(c, ¶ms, rng).unwrap()
|
||||
|
||||
@@ -23,9 +23,9 @@ pub struct Groth16<
|
||||
V: ToConstraintField<E::Fr> + ?Sized,
|
||||
> {
|
||||
#[doc(hidden)]
|
||||
_engine: PhantomData<E>,
|
||||
_engine: PhantomData<E>,
|
||||
#[doc(hidden)]
|
||||
_circuit: PhantomData<C>,
|
||||
_circuit: PhantomData<C>,
|
||||
#[doc(hidden)]
|
||||
_verifier_input: PhantomData<V>,
|
||||
}
|
||||
|
||||
@@ -67,17 +67,17 @@ mod test {
|
||||
|
||||
#[derive(Copy, Clone)]
|
||||
struct R1CSCircuit {
|
||||
x: Option<Fr>,
|
||||
x: Option<Fr>,
|
||||
sum: Option<Fr>,
|
||||
w: Option<Fr>,
|
||||
w: Option<Fr>,
|
||||
}
|
||||
|
||||
impl R1CSCircuit {
|
||||
pub(super) fn new(x: Fr, sum: Fr, w: Fr) -> Self {
|
||||
Self {
|
||||
x: Some(x),
|
||||
x: Some(x),
|
||||
sum: Some(sum),
|
||||
w: Some(w),
|
||||
w: Some(w),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -664,14 +664,14 @@ mod test {
|
||||
match b {
|
||||
Boolean::Is(b) => {
|
||||
assert!(s.next().unwrap() == b.get_value().unwrap());
|
||||
},
|
||||
}
|
||||
Boolean::Not(b) => {
|
||||
assert!(s.next().unwrap() != b.get_value().unwrap());
|
||||
},
|
||||
}
|
||||
Boolean::Constant(b) => {
|
||||
assert!(input_len == 0);
|
||||
assert!(s.next().unwrap() == b);
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,17 +30,17 @@ impl PRF for Blake2s {
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct Blake2sWithParameterBlock {
|
||||
pub digest_length: u8,
|
||||
pub key_length: u8,
|
||||
pub fan_out: u8,
|
||||
pub depth: u8,
|
||||
pub leaf_length: u32,
|
||||
pub node_offset: u32,
|
||||
pub digest_length: u8,
|
||||
pub key_length: u8,
|
||||
pub fan_out: u8,
|
||||
pub depth: u8,
|
||||
pub leaf_length: u32,
|
||||
pub node_offset: u32,
|
||||
pub xof_digest_length: u16,
|
||||
pub node_depth: u8,
|
||||
pub inner_length: u8,
|
||||
pub salt: [u8; 8],
|
||||
pub personalization: [u8; 8],
|
||||
pub node_depth: u8,
|
||||
pub inner_length: u8,
|
||||
pub salt: [u8; 8],
|
||||
pub personalization: [u8; 8],
|
||||
}
|
||||
|
||||
impl Blake2sWithParameterBlock {
|
||||
|
||||
@@ -12,8 +12,8 @@ use digest::Digest;
|
||||
pub struct SchnorrSigGadgetParameters<G: Group, ConstraintF: Field, GG: GroupGadget<G, ConstraintF>>
|
||||
{
|
||||
generator: GG,
|
||||
_group: PhantomData<*const G>,
|
||||
_engine: PhantomData<*const ConstraintF>,
|
||||
_group: PhantomData<*const G>,
|
||||
_engine: PhantomData<*const ConstraintF>,
|
||||
}
|
||||
|
||||
impl<G: Group, ConstraintF: Field, GG: GroupGadget<G, ConstraintF>> Clone
|
||||
@@ -22,8 +22,8 @@ impl<G: Group, ConstraintF: Field, GG: GroupGadget<G, ConstraintF>> Clone
|
||||
fn clone(&self) -> Self {
|
||||
Self {
|
||||
generator: self.generator.clone(),
|
||||
_group: PhantomData,
|
||||
_engine: PhantomData,
|
||||
_group: PhantomData,
|
||||
_engine: PhantomData,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,18 +38,18 @@ impl<G: Group, ConstraintF: Field, GG: GroupGadget<G, ConstraintF>> Clone
|
||||
pub struct SchnorrSigGadgetPk<G: Group, ConstraintF: Field, GG: GroupGadget<G, ConstraintF>> {
|
||||
pub_key: GG,
|
||||
#[doc(hidden)]
|
||||
_group: PhantomData<*const G>,
|
||||
_group: PhantomData<*const G>,
|
||||
#[doc(hidden)]
|
||||
_engine: PhantomData<*const ConstraintF>,
|
||||
}
|
||||
|
||||
pub struct SchnorrRandomizePkGadget<G: Group, ConstraintF: Field, GG: GroupGadget<G, ConstraintF>> {
|
||||
#[doc(hidden)]
|
||||
_group: PhantomData<*const G>,
|
||||
_group: PhantomData<*const G>,
|
||||
#[doc(hidden)]
|
||||
_group_gadget: PhantomData<*const GG>,
|
||||
#[doc(hidden)]
|
||||
_engine: PhantomData<*const ConstraintF>,
|
||||
_engine: PhantomData<*const ConstraintF>,
|
||||
}
|
||||
|
||||
impl<G, GG, D, ConstraintF> SigRandomizePkGadget<SchnorrSignature<G, D>, ConstraintF>
|
||||
@@ -81,7 +81,7 @@ where
|
||||
)?;
|
||||
Ok(SchnorrSigGadgetPk {
|
||||
pub_key: rand_pk,
|
||||
_group: PhantomData,
|
||||
_group: PhantomData,
|
||||
_engine: PhantomData,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -15,15 +15,15 @@ pub mod constraints;
|
||||
|
||||
pub struct SchnorrSignature<G: Group, D: Digest> {
|
||||
_group: PhantomData<G>,
|
||||
_hash: PhantomData<D>,
|
||||
_hash: PhantomData<D>,
|
||||
}
|
||||
|
||||
#[derive(Derivative)]
|
||||
#[derivative(Clone(bound = "G: Group, H: Digest"))]
|
||||
pub struct SchnorrSigParameters<G: Group, H: Digest> {
|
||||
_hash: PhantomData<H>,
|
||||
_hash: PhantomData<H>,
|
||||
pub generator: G,
|
||||
pub salt: [u8; 32],
|
||||
pub salt: [u8; 32],
|
||||
}
|
||||
|
||||
pub type SchnorrPublicKey<G> = G;
|
||||
@@ -42,7 +42,7 @@ impl<G: Group> ToBytes for SchnorrSecretKey<G> {
|
||||
#[derive(Derivative)]
|
||||
#[derivative(Clone(bound = "G: Group"), Default(bound = "G: Group"))]
|
||||
pub struct SchnorrSig<G: Group> {
|
||||
pub prover_response: G::ScalarField,
|
||||
pub prover_response: G::ScalarField,
|
||||
pub verifier_challenge: G::ScalarField,
|
||||
}
|
||||
|
||||
@@ -198,7 +198,7 @@ where
|
||||
}
|
||||
|
||||
let new_sig = SchnorrSig {
|
||||
prover_response: *prover_response - &(*verifier_challenge * &multiplier),
|
||||
prover_response: *prover_response - &(*verifier_challenge * &multiplier),
|
||||
verifier_challenge: *verifier_challenge,
|
||||
};
|
||||
end_timer!(rand_signature_time);
|
||||
|
||||
Reference in New Issue
Block a user