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) -> BbPrivateKernelProver
Sourcepub fn with_defaults() -> BbPrivateKernelProver
pub fn with_defaults() -> BbPrivateKernelProver
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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
BbPrivateKernelProver: '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
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
BbPrivateKernelProver: '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