pub fn verify_gnark_proof(
proof: &[u8],
public_inputs: &[[u8; 32]],
plonk_vk: &[u8],
) -> Result<(), PlonkError> {
let plonk_vk = load_plonk_verifying_key_from_bytes(plonk_vk).unwrap(); // ⚠️ panic on malformed VK
let proof = load_plonk_proof_from_bytes(proof, plonk_vk.qcp.len()).unwrap(); // ⚠️ panic on malformed proof
let public_inputs =
public_inputs.iter().map(|input| Fr::from_slice(input).unwrap()).collect::<Vec<_>>(); // ⚠️ panic on malformed input
verify_plonk_algebraic(&plonk_vk, &proof, &public_inputs)
}
https://github.com/ProjectZKM/Ziren/blob/91dd007ecddcf594707f56368b8fbbed0c3cb1fe/crates/verifier/src/plonk/mod.rs#L97C1-L108C6