pub(crate) fn verify_v3_iriscode_proof_and_hash(
proof: &HyraxProof<G1>,
verifiable_circuit: &HyraxVerifiableCircuit<G1>,
expected_commitment_hash: &str,
committer: &PedersenCommitter<G1>,
proof_config: &ProofConfig,
) -> Result<Vec<G1>>Expand description
Verify that the iris/mask code in the supplied proof is correct, and return the unpadded iris/mask code, along with the commitment to the image. Checks, in particular:
- That the [HyraxProof] verifies.
- That the correct kernel values and thresholds are being used in the supplied proof.
- That the MLE encoding the iris/mask code has only 0s in the padding region.
- That the unpadded iris/mask code consists only of 0s and 1s.
- That the image commitment hash matches the expected hash. This is a helper function for verifying the v3 masked iriscode is correct.