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

Function check

proof_system/tests/bound_check_bpp.rs:46–154  ·  view source on GitHub ↗
(
        rng: &mut StdRng,
        min: u64,
        max: u64,
        msg_idx: usize,
        msg: Fr,
        msgs: Vec<Fr>,
        sig_params: SignatureParamsG1<Bls12_381>,
        sig_keypair: K

Source from the content-addressed store, hash-verified

44 SetupParams::<G1Affine>::new_for_arbitrary_range_proof::<Blake2b512>(b"test", 2, 64, 1);
45
46 fn check(
47 rng: &mut StdRng,
48 min: u64,
49 max: u64,
50 msg_idx: usize,
51 msg: Fr,
52 msgs: Vec<Fr>,
53 sig_params: SignatureParamsG1<Bls12_381>,
54 sig_keypair: KeypairG2<Bls12_381>,
55 sig: SignatureG1<Bls12_381>,
56 bpp_setup_params: SetupParams<G1Affine>,
57 valid_proof: bool,
58 ) {
59 let mut prover_statements = Statements::new();
60 prover_statements.add(PoKSignatureBBSG1ProverStmt::new_statement_from_params(
61 sig_params.clone(),
62 BTreeMap::new(),
63 ));
64 prover_statements.add(
65 BoundCheckStmt::new_statement_from_params(min, max, bpp_setup_params.clone()).unwrap(),
66 );
67
68 let mut meta_statements = MetaStatements::new();
69 meta_statements.add_witness_equality(EqualWitnesses(
70 vec![(0, msg_idx), (1, 0)]
71 .into_iter()
72 .collect::<BTreeSet<WitnessRef>>(),
73 ));
74
75 if valid_proof {
76 test_serialization!(Statements<Bls12_381>, prover_statements);
77 test_serialization!(MetaStatements, meta_statements);
78 }
79
80 let proof_spec_prover = ProofSpec::new(
81 prover_statements.clone(),
82 meta_statements.clone(),
83 vec![],
84 None,
85 );
86 proof_spec_prover.validate().unwrap();
87
88 if valid_proof {
89 test_serialization!(ProofSpec<Bls12_381>, proof_spec_prover);
90 }
91
92 let mut witnesses = Witnesses::new();
93 witnesses.add(PoKSignatureBBSG1Wit::new_as_witness(
94 sig.clone(),
95 msgs.clone().into_iter().enumerate().collect(),
96 ));
97 witnesses.add(Witness::BoundCheckBpp(msg));
98
99 if valid_proof {
100 test_serialization!(Witnesses<Bls12_381>, witnesses);
101 }
102
103 let start = Instant::now();

Calls 7

EqualWitnessesClass · 0.85
BoundCheckBppClass · 0.85
cloneMethod · 0.80
add_witness_equalityMethod · 0.80
addMethod · 0.45
into_iterMethod · 0.45
validateMethod · 0.45

Tested by

no test coverage detected