pub trait Rap<AB>: Syncwhere
AB: PermutationAirBuilder,{
// Required method
fn eval(&self, builder: &mut AB);
}
Expand description
An AIR that works with a particular AirBuilder
which allows preprocessing
and injected randomness.
Currently this is not a fully general RAP. Only the following phases are allowed:
- Preprocessing
- Main trace generation and commitment
- Permutation trace generation and commitment
Randomness is drawn after the main trace commitment phase, and used in the permutation trace.
Does not inherit Air trait to allow overrides for technical reasons around dynamic dispatch.