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.