pub trait VmProverExtension<E, RA, EXT>{
// Required method
fn extend_prover(
&self,
extension: &EXT,
inventory: &mut ChipInventory<E::SC, RA, E::PB>,
) -> Result<(), ChipInventoryError>;
}Expand description
Extension of VM trace generation. The generics are E for StarkEngine, RA for record arena,
and EXT for execution and circuit extension.
Note that this trait differs from VmExecutionExtension and VmCircuitExtension. This trait is meant to be implemented on a separate ZST which may be different for different ProverBackends. This is done to get around Rust orphan rules.
Required Methods§
Sourcefn extend_prover(
&self,
extension: &EXT,
inventory: &mut ChipInventory<E::SC, RA, E::PB>,
) -> Result<(), ChipInventoryError>
fn extend_prover( &self, extension: &EXT, inventory: &mut ChipInventory<E::SC, RA, E::PB>, ) -> Result<(), ChipInventoryError>
The chips added to inventory should exactly match the order of AIRs in the
VmCircuitExtension implementation of EXT.
We do not provide access to the ExecutorInventory because the process to find an executor from the inventory seems more cumbersome than to simply re-construct any necessary executors directly within this function implementation.