pub trait RootTraceGen<PB: ProverBackend, DC: Clone + Send + Sync> {
// Required methods
fn new(deferral_enabled: bool) -> Self;
fn generate_pre_verifier_subcircuit_ctx(
&self,
proof: &Proof<BabyBearPoseidon2Config>,
user_pvs_proof: &UserPublicValuesProof<DIGEST_SIZE, PB::Val>,
memory_dimensions: MemoryDimensions,
device_ctx: &DC,
) -> SubCircuitTraceData<PB>;
fn generate_other_proving_ctxs(
&self,
proof: &Proof<BabyBearPoseidon2Config>,
memory_dimensions: MemoryDimensions,
deferral_merkle_proofs: Option<&DeferralMerkleProofs<PB::Val>>,
device_ctx: &DC,
) -> (Vec<AirProvingContext<PB>>, Vec<[PB::Val; 16]>);
}Required Methods§
fn new(deferral_enabled: bool) -> Self
fn generate_pre_verifier_subcircuit_ctx( &self, proof: &Proof<BabyBearPoseidon2Config>, user_pvs_proof: &UserPublicValuesProof<DIGEST_SIZE, PB::Val>, memory_dimensions: MemoryDimensions, device_ctx: &DC, ) -> SubCircuitTraceData<PB>
fn generate_other_proving_ctxs( &self, proof: &Proof<BabyBearPoseidon2Config>, memory_dimensions: MemoryDimensions, deferral_merkle_proofs: Option<&DeferralMerkleProofs<PB::Val>>, device_ctx: &DC, ) -> (Vec<AirProvingContext<PB>>, Vec<[PB::Val; 16]>)
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 RootTraceGen<GenericGpuBackend<BabyBearBn254Poseidon2HashScheme>, GpuDeviceCtx> for RootTraceGenImpl
Available on crate feature
cuda only.