pub trait Chip<SC: StarkGenericConfig>: ChipUsageGetter + Sized {
// Required methods
fn air(&self) -> Arc<dyn AnyRap<SC>>;
fn generate_air_proof_input(self) -> AirProofInput<SC>;
// Provided method
fn generate_air_proof_input_with_id(
self,
air_id: usize,
) -> (usize, AirProofInput<SC>) { ... }
}
Expand description
A chip is a stateful struct that stores the state necessary to generate the trace of an AIR. This trait is for proving purposes and has a generic StarkGenericConfig since it needs to know the STARK config.
Required Methods§
fn air(&self) -> Arc<dyn AnyRap<SC>>
Sourcefn generate_air_proof_input(self) -> AirProofInput<SC>
fn generate_air_proof_input(self) -> AirProofInput<SC>
Generate all necessary input for proving a single AIR.
Provided Methods§
fn generate_air_proof_input_with_id( self, air_id: usize, ) -> (usize, AirProofInput<SC>)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.