DeferredVerifyTraceGen

Trait DeferredVerifyTraceGen 

Source
pub trait DeferredVerifyTraceGen<PB: ProverBackend, DC: Clone + Send + Sync> {
    // Required methods
    fn new(deferral_enabled: bool) -> Self;
    fn pre_verifier_subcircuit_tracegen(
        &self,
        proof: &Proof<SC>,
        user_pvs_proof: &UserPublicValuesProof<DIGEST_SIZE, PB::Val>,
        memory_dimensions: MemoryDimensions,
        def_idx: usize,
        deferral_merkle_proofs: Option<&DeferralMerkleProofs<F>>,
        device_ctx: &DC,
    ) -> PreVerifierData<PB>;
    fn generate_verifier_pvs_ctx(
        &self,
        proof: &Proof<SC>,
        record: DeferredVerifyPvsRecord<PB::Val>,
        final_transcript_state: [PB::Val; 16],
        output_commit: [PB::Val; 8],
        def_idx: usize,
        device_ctx: &DC,
    ) -> AirProvingContext<PB>;
}

Required Methods§

Source

fn new(deferral_enabled: bool) -> Self

Source

fn pre_verifier_subcircuit_tracegen( &self, proof: &Proof<SC>, user_pvs_proof: &UserPublicValuesProof<DIGEST_SIZE, PB::Val>, memory_dimensions: MemoryDimensions, def_idx: usize, deferral_merkle_proofs: Option<&DeferralMerkleProofs<F>>, device_ctx: &DC, ) -> PreVerifierData<PB>

Source

fn generate_verifier_pvs_ctx( &self, proof: &Proof<SC>, record: DeferredVerifyPvsRecord<PB::Val>, final_transcript_state: [PB::Val; 16], output_commit: [PB::Val; 8], def_idx: usize, device_ctx: &DC, ) -> AirProvingContext<PB>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl DeferredVerifyTraceGen<CpuBackend<BabyBearPoseidon2Config>, ()> for DeferredVerifyTraceGenImpl

Source§

impl DeferredVerifyTraceGen<GenericGpuBackend<BabyBearPoseidon2HashScheme>, GpuDeviceCtx> for DeferredVerifyTraceGenImpl

Available on crate feature cuda only.