pub trait InnerTraceGen<PB: ProverBackend, DC: Clone + Send + Sync> {
// Required methods
fn new(deferral_enabled: bool) -> Self;
fn generate_pre_verifier_subcircuit_ctxs(
&self,
proofs: &[Proof<BabyBearPoseidon2Config>],
proofs_type: ProofsType,
absent_trace_pvs: Option<(DeferralPvs<F>, bool)>,
child_is_app: bool,
child_vk_commit: VkCommit<F>,
device_ctx: &DC,
) -> SubCircuitTraceData<PB>;
fn generate_post_verifier_subcircuit_ctxs(
&self,
proofs: &[Proof<BabyBearPoseidon2Config>],
proofs_type: ProofsType,
child_is_app: bool,
device_ctx: &DC,
) -> Vec<AirProvingContext<PB>>;
}Required Methods§
fn new(deferral_enabled: bool) -> Self
fn generate_pre_verifier_subcircuit_ctxs( &self, proofs: &[Proof<BabyBearPoseidon2Config>], proofs_type: ProofsType, absent_trace_pvs: Option<(DeferralPvs<F>, bool)>, child_is_app: bool, child_vk_commit: VkCommit<F>, device_ctx: &DC, ) -> SubCircuitTraceData<PB>
fn generate_post_verifier_subcircuit_ctxs( &self, proofs: &[Proof<BabyBearPoseidon2Config>], proofs_type: ProofsType, child_is_app: bool, device_ctx: &DC, ) -> 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.
Implementors§
impl InnerTraceGen<CpuBackend<BabyBearPoseidon2Config>, ()> for InnerTraceGenImpl
impl InnerTraceGen<GenericGpuBackend<BabyBearPoseidon2HashScheme>, GpuDeviceCtx> for InnerTraceGenImpl
Available on crate feature
cuda only.