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§
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>
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§
impl DeferredVerifyTraceGen<CpuBackend<BabyBearPoseidon2Config>, ()> for DeferredVerifyTraceGenImpl
impl DeferredVerifyTraceGen<GenericGpuBackend<BabyBearPoseidon2HashScheme>, GpuDeviceCtx> for DeferredVerifyTraceGenImpl
Available on crate feature
cuda only.