pub struct BbPrivateKernelProver { /* private fields */ }Expand description
Private kernel prover backed by the Barretenberg (bb) binary.
Shells out to the bb binary for proof generation, matching the TS
BBBundlePrivateKernelProver implementation.
Implementations§
Source§impl BbPrivateKernelProver
impl BbPrivateKernelProver
pub fn new(config: BbProverConfig) -> Self
Sourcepub fn with_defaults() -> Self
pub fn with_defaults() -> Self
Create with default configuration (auto-detects bb path).
Trait Implementations§
Source§impl PrivateKernelProver for BbPrivateKernelProver
impl PrivateKernelProver for BbPrivateKernelProver
Source§fn generate_init_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_init_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate witness + output for the init kernel circuit.
Source§fn simulate_init<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn simulate_init<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Simulate the init circuit (no witness generation).
Source§fn generate_inner_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_inner_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate witness + output for an inner kernel circuit.
Source§fn simulate_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn simulate_inner<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Simulate an inner circuit.
Source§fn generate_reset_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_reset_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate witness + output for a reset kernel circuit.
Source§fn simulate_reset<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn simulate_reset<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Simulate a reset circuit.
Source§fn generate_tail_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_tail_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate witness + output for the tail kernel circuit.
Source§fn simulate_tail<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn simulate_tail<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Simulate the tail circuit.
Source§fn generate_hiding_to_rollup_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_hiding_to_rollup_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate hiding kernel output for rollup path.
Source§fn generate_hiding_to_public_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn generate_hiding_to_public_output<'life0, 'life1, 'async_trait>(
&'life0 self,
inputs: &'life1 Value,
) -> Pin<Box<dyn Future<Output = Result<PrivateKernelSimulateOutput, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate hiding kernel output for public path.
Source§fn create_chonk_proof<'life0, 'life1, 'async_trait>(
&'life0 self,
execution_steps: &'life1 [PrivateExecutionStep],
) -> Pin<Box<dyn Future<Output = Result<ChonkProofWithPublicInputs, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_chonk_proof<'life0, 'life1, 'async_trait>(
&'life0 self,
execution_steps: &'life1 [PrivateExecutionStep],
) -> Pin<Box<dyn Future<Output = Result<ChonkProofWithPublicInputs, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create the aggregated ChonkProof from execution steps.
Source§fn compute_gate_count_for_circuit<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
bytecode: &'life1 [u8],
circuit_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn compute_gate_count_for_circuit<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
bytecode: &'life1 [u8],
circuit_name: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Compute gate count for a circuit (profiling).
Auto Trait Implementations§
impl Freeze for BbPrivateKernelProver
impl RefUnwindSafe for BbPrivateKernelProver
impl Send for BbPrivateKernelProver
impl Sync for BbPrivateKernelProver
impl Unpin for BbPrivateKernelProver
impl UnwindSafe for BbPrivateKernelProver
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more