VmProverExtension

Trait VmProverExtension 

Source
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§

Source

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.

Implementors§