pub trait SubproofVerifier: Sync + Send {
// Required method
fn verify_deferred_proof(
&self,
proof: &SP1ReduceProof<BabyBearPoseidon2>,
vk: &StarkVerifyingKey<BabyBearPoseidon2>,
vk_hash: [u32; 8],
committed_value_digest: [u32; 8],
) -> Result<(), MachineVerificationError<BabyBearPoseidon2>>;
}
Expand description
Verifier used in runtime when sp1_zkvm::precompiles::verify::verify_sp1_proof
is called. This
is then used to sanity check that the user passed in the correct proof; the actual constraints
happen in the recursion layer.
This needs to be passed in rather than written directly since the actual implementation relies on crates in recursion that depend on sp1-core.
Required Methods§
sourcefn verify_deferred_proof(
&self,
proof: &SP1ReduceProof<BabyBearPoseidon2>,
vk: &StarkVerifyingKey<BabyBearPoseidon2>,
vk_hash: [u32; 8],
committed_value_digest: [u32; 8],
) -> Result<(), MachineVerificationError<BabyBearPoseidon2>>
fn verify_deferred_proof( &self, proof: &SP1ReduceProof<BabyBearPoseidon2>, vk: &StarkVerifyingKey<BabyBearPoseidon2>, vk_hash: [u32; 8], committed_value_digest: [u32; 8], ) -> Result<(), MachineVerificationError<BabyBearPoseidon2>>
Verify a deferred proof.