pub struct SimulatedKernel;Expand description
Assembles kernel public inputs in software (no proving).
This is the Rust port of TS generateSimulatedProvingResult.
Implementations§
Source§impl SimulatedKernel
impl SimulatedKernel
Sourcepub fn process(
execution_result: &PrivateExecutionResult,
constants: TxConstantData,
fee_payer: &Fr,
expiration_timestamp: u64,
) -> Result<SimulatedKernelOutput, Error>
pub fn process( execution_result: &PrivateExecutionResult, constants: TxConstantData, fee_payer: &Fr, expiration_timestamp: u64, ) -> Result<SimulatedKernelOutput, Error>
Process a private execution result into simulated kernel output.
Steps (matching upstream):
- Collect all side effects from the execution tree
- Squash transient note hash / nullifier pairs
- Verify read requests (skipped in simulation — node does this)
- Silo note hashes, nullifiers, and private log first fields
- For private-only txs: compute unique note hashes
- Split into revertible / non-revertible
- Meter gas usage
- Build the PrivateKernelTailPublicInputs
Auto Trait Implementations§
impl Freeze for SimulatedKernel
impl RefUnwindSafe for SimulatedKernel
impl Send for SimulatedKernel
impl Sync for SimulatedKernel
impl Unpin for SimulatedKernel
impl UnwindSafe for SimulatedKernel
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