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

Function check

proof_system/tests/bound_check_smc.rs:38–134  ·  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

36 smc_setup_params.verify().unwrap();
37
38 fn check(
39 rng: &mut StdRng,
40 min: u64,
41 max: u64,
42 msg_idx: usize,
43 msg: Fr,
44 msgs: Vec<Fr>,
45 sig_params: SignatureParamsG1<Bls12_381>,
46 sig_keypair: KeypairG2<Bls12_381>,
47 sig: SignatureG1<Bls12_381>,
48 smc_setup_params: SmcParamsAndCommitmentKey<Bls12_381>,
49 valid_proof: bool,
50 ) {
51 let mut prover_statements = Statements::new();
52 prover_statements.add(PoKSignatureBBSG1ProverStmt::new_statement_from_params(
53 sig_params.clone(),
54 BTreeMap::new(),
55 ));
56 prover_statements.add(
57 BoundCheckStmt::new_statement_from_params(min, max, smc_setup_params.clone()).unwrap(),
58 );
59
60 let mut meta_statements = MetaStatements::new();
61 meta_statements.add_witness_equality(EqualWitnesses(
62 vec![(0, msg_idx), (1, 0)]
63 .into_iter()
64 .collect::<BTreeSet<WitnessRef>>(),
65 ));
66
67 if valid_proof {
68 test_serialization!(Statements<Bls12_381>, prover_statements);
69 test_serialization!(MetaStatements, meta_statements);
70 }
71
72 let proof_spec_prover = ProofSpec::new(
73 prover_statements.clone(),
74 meta_statements.clone(),
75 vec![],
76 None,
77 );
78 proof_spec_prover.validate().unwrap();
79
80 if valid_proof {
81 test_serialization!(ProofSpec<Bls12_381>, proof_spec_prover);
82 }
83
84 let mut witnesses = Witnesses::new();
85 witnesses.add(PoKSignatureBBSG1Wit::new_as_witness(
86 sig.clone(),
87 msgs.clone().into_iter().enumerate().collect(),
88 ));
89 witnesses.add(Witness::BoundCheckSmc(msg));
90
91 if valid_proof {
92 test_serialization!(Witnesses<Bls12_381>, witnesses);
93 }
94
95 let proof = Proof::new::<StdRng, Blake2b512>(

Calls 7

EqualWitnessesClass · 0.85
BoundCheckSmcClass · 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