pub struct KeccakConfig;
Trait Implementations§
source§impl Checker<KeccakConfig> for ExtendedProvider<KeccakConfig>
impl Checker<KeccakConfig> for ExtendedProvider<KeccakConfig>
fn check_rec( &self, exp: FoldingCompatibleExpr<C>, domain: Radix2EvaluationDomain<<<C as FoldingConfig>::Curve as AffineRepr>::ScalarField> ) -> Vec<<<C as FoldingConfig>::Curve as AffineRepr>::ScalarField, Global>
fn check( &self, exp: &FoldingCompatibleExpr<C>, domain: Radix2EvaluationDomain<<<C as FoldingConfig>::Curve as AffineRepr>::ScalarField> )
source§impl Checker<KeccakConfig> for Provider<KeccakConfig>
impl Checker<KeccakConfig> for Provider<KeccakConfig>
fn check_rec( &self, exp: FoldingCompatibleExpr<C>, domain: Radix2EvaluationDomain<<<C as FoldingConfig>::Curve as AffineRepr>::ScalarField> ) -> Vec<<<C as FoldingConfig>::Curve as AffineRepr>::ScalarField, Global>
fn check( &self, exp: &FoldingCompatibleExpr<C>, domain: Radix2EvaluationDomain<<<C as FoldingConfig>::Curve as AffineRepr>::ScalarField> )
source§impl Clone for KeccakConfig
impl Clone for KeccakConfig
source§fn clone(&self) -> KeccakConfig
fn clone(&self) -> KeccakConfig
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for KeccakConfig
impl Debug for KeccakConfig
source§impl FoldingConfig for KeccakConfig
impl FoldingConfig for KeccakConfig
type Column = Column
type Selector = Steps
§type Challenge = Challenge
type Challenge = Challenge
The type of an abstract challenge that can be found in the expressions
provided as constraints.
§type Curve = Affine<<Config as BnConfig>::G1Config>
type Curve = Affine<<Config as BnConfig>::G1Config>
The target curve used by the polynomial commitment
§type Srs = PairingSRS<Bn<Config>>
type Srs = PairingSRS<Bn<Config>>
The SRS used by the polynomial commitment. The SRS is used to commit to
the additional columns that are added by the quadraticization.
§type Instance = FoldingInstance<N_ZKVM_KECCAK_COLS, Affine<<Config as BnConfig>::G1Config>>
type Instance = FoldingInstance<N_ZKVM_KECCAK_COLS, Affine<<Config as BnConfig>::G1Config>>
For Plonk, it will be the commitments to the polynomials and the challenges
§type Witness = FoldingWitness<N_ZKVM_KECCAK_COLS, Fp<MontBackend<FrConfig, 4>, 4>>
type Witness = FoldingWitness<N_ZKVM_KECCAK_COLS, Fp<MontBackend<FrConfig, 4>, 4>>
For PlonK, it will be the polynomials in evaluation form that we commit
to, i.e. the columns.
In the generic prover/verifier, it would be
kimchi_msm::witness::Witness
.type Structure = ()
type Env = DecomposedFoldingEnvironment<N_ZKVM_KECCAK_COLS, N_ZKVM_KECCAK_REL_COLS, N_ZKVM_KECCAK_SEL_COLS, KeccakConfig, ()>
source§impl Hash for KeccakConfig
impl Hash for KeccakConfig
source§impl PartialEq<KeccakConfig> for KeccakConfig
impl PartialEq<KeccakConfig> for KeccakConfig
source§fn eq(&self, other: &KeccakConfig) -> bool
fn eq(&self, other: &KeccakConfig) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Tracer<N_ZKVM_KECCAK_REL_COLS, KeccakConfig, KeccakEnv<<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField>> for KeccakTrace
impl Tracer<N_ZKVM_KECCAK_REL_COLS, KeccakConfig, KeccakEnv<<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField>> for KeccakTrace
type Selector = ()
source§fn init(
domain_size: usize,
selector: Steps,
_env: &mut KeccakEnv<<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField>
) -> Self
fn init( domain_size: usize, selector: Steps, _env: &mut KeccakEnv<<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField> ) -> Self
Initialize a new trace with the given domain size, selector, and environment.
source§fn push_row(
&mut self,
_selector: Self::Selector,
row: &[<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 2073]
)
fn push_row( &mut self, _selector: Self::Selector, row: &[<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 2073] )
Add a witness row to the circuit (only for relation columns)
source§fn pad_with_row(
&mut self,
_selector: Self::Selector,
row: &[<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 2073]
) -> usize
fn pad_with_row( &mut self, _selector: Self::Selector, row: &[<<KeccakConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 2073] ) -> usize
Pad the rows of one opcode with the given row until
reaching the domain size if needed.
Returns the number of rows that were added.
It does not add selector columns.
source§fn pad_with_zeros(&mut self, _selector: Self::Selector) -> usize
fn pad_with_zeros(&mut self, _selector: Self::Selector) -> usize
Pads the rows of one opcode with zero rows until
reaching the domain size if needed.
Returns the number of rows that were added.
It does not add selector columns.
impl Eq for KeccakConfig
impl StructuralEq for KeccakConfig
impl StructuralPartialEq for KeccakConfig
Auto Trait Implementations§
impl RefUnwindSafe for KeccakConfig
impl Send for KeccakConfig
impl Sync for KeccakConfig
impl Unpin for KeccakConfig
impl UnwindSafe for KeccakConfig
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more