pub trait TraceGenModule<GC: GlobalTraceGenCtx, PB: ProverBackend>: Send + Sync {
type ModuleSpecificCtx<'a>;
// Required method
fn generate_proving_ctxs(
&self,
child_vk: &GC::ChildVerifyingKey,
proofs: &GC::MultiProof,
preflights: &GC::PreflightRecords,
ctx: &Self::ModuleSpecificCtx<'_>,
required_heights: Option<&[usize]>,
) -> Option<Vec<AirProvingContext<PB>>>;
}Expand description
Trait for generating the trace matrices, on device, for a given AIR module. The module has a view of all proofs being verified as well as the global preflight records from each proof.
This function should be expected to be called in parallel, one logical thread per module.
Required Associated Types§
type ModuleSpecificCtx<'a>
Required Methods§
fn generate_proving_ctxs( &self, child_vk: &GC::ChildVerifyingKey, proofs: &GC::MultiProof, preflights: &GC::PreflightRecords, ctx: &Self::ModuleSpecificCtx<'_>, required_heights: Option<&[usize]>, ) -> Option<Vec<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.