sp1_core_executor/
subproof.rs1use sp1_stark::{
4 baby_bear_poseidon2::BabyBearPoseidon2, MachineVerificationError, SP1ReduceProof,
5 StarkVerifyingKey,
6};
7
8pub trait SubproofVerifier: Sync + Send {
15 fn verify_deferred_proof(
17 &self,
18 proof: &SP1ReduceProof<BabyBearPoseidon2>,
19 vk: &StarkVerifyingKey<BabyBearPoseidon2>,
20 vk_hash: [u32; 8],
21 committed_value_digest: [u32; 8],
22 ) -> Result<(), MachineVerificationError<BabyBearPoseidon2>>;
23}
24
25pub struct NoOpSubproofVerifier;
27
28impl SubproofVerifier for NoOpSubproofVerifier {
29 fn verify_deferred_proof(
30 &self,
31 _proof: &SP1ReduceProof<BabyBearPoseidon2>,
32 _vk: &StarkVerifyingKey<BabyBearPoseidon2>,
33 _vk_hash: [u32; 8],
34 _committed_value_digest: [u32; 8],
35 ) -> Result<(), MachineVerificationError<BabyBearPoseidon2>> {
36 Ok(())
37 }
38}