pub trait SubproofVerifier: Sync + Send {
// Required method
fn verify_deferred_proof(
&self,
proof: &MONEROCHANReduceProof<BabyBearPoseidon2>,
vk: &StarkVerifyingKey<BabyBearPoseidon2>,
vk_hash: [u32; 8],
committed_value_digest: [u32; 8],
) -> Result<(), MachineVerificationError<BabyBearPoseidon2>>;
}Expand description
Verifier used in runtime when monerochan_runtime::precompiles::verify::verify_monerochan_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 monerochan-core.
Required Methods§
Sourcefn verify_deferred_proof(
&self,
proof: &MONEROCHANReduceProof<BabyBearPoseidon2>,
vk: &StarkVerifyingKey<BabyBearPoseidon2>,
vk_hash: [u32; 8],
committed_value_digest: [u32; 8],
) -> Result<(), MachineVerificationError<BabyBearPoseidon2>>
fn verify_deferred_proof( &self, proof: &MONEROCHANReduceProof<BabyBearPoseidon2>, vk: &StarkVerifyingKey<BabyBearPoseidon2>, vk_hash: [u32; 8], committed_value_digest: [u32; 8], ) -> Result<(), MachineVerificationError<BabyBearPoseidon2>>
Verify a deferred proof.