MCPcopy Create free account
hub / github.com/docknetwork/crypto / check

Function check

bulletproofs_plus_plus/src/range_proof_arbitrary_range.rs:186–214  ·  view source on GitHub ↗
(
        rng: &mut StdRng,
        base: u16,
        num_bits: u16,
        values_and_bounds: Vec<(u64, u64, u64)>,
        gamma: Vec<G::ScalarField>,
        setup_params: SetupParams<G>,
    )

Source from the content-addressed store, hash-verified

184 use std::time::{Duration, Instant};
185
186 fn check<G: AffineRepr>(
187 rng: &mut StdRng,
188 base: u16,
189 num_bits: u16,
190 values_and_bounds: Vec<(u64, u64, u64)>,
191 gamma: Vec<G::ScalarField>,
192 setup_params: SetupParams<G>,
193 ) -> Result<(ProofArbitraryRange<G>, Duration, Duration), BulletproofsPlusPlusError> {
194 let start = Instant::now();
195 let mut transcript = new_merlin_transcript(b"BPP/tests");
196 transcript.append(b"setup", &setup_params);
197 let proof = ProofArbitraryRange::new_with_given_base(
198 rng,
199 base,
200 num_bits,
201 values_and_bounds,
202 gamma,
203 setup_params.clone(),
204 &mut transcript,
205 )?;
206 let proving_time = start.elapsed();
207
208 let start = Instant::now();
209 let mut transcript = new_merlin_transcript(b"BPP/tests");
210 transcript.append(b"setup", &setup_params);
211 proof.verify(num_bits, &setup_params, &mut transcript)?;
212 let verifying_time = start.elapsed();
213 Ok((proof, proving_time, verifying_time))
214 }
215
216 fn test_rangeproof_for_arbitrary_range<G: AffineRepr>(
217 base: u16,

Callers 1

Calls 4

new_merlin_transcriptFunction · 0.85
appendMethod · 0.80
cloneMethod · 0.80
verifyMethod · 0.45

Tested by 1