Module polynomials

Source

Modules§

and
This module includes the AND gadget implementation and the witness creation code. Note that this module does not need any new gate type for the AND operation.
complete_add
This module implements a complete EC addition gate.
endomul_scalar
Implementation of the EndomulScalar gate for the endomul scalar multiplication. This gate checks 8 rounds of the Algorithm 2 in the Halo paper per row.
endosclmul
This module implements short Weierstrass curve endomorphism optimised variable base scalar multiplication custom Plonk polynomials.
foreign_field_add
Foreign Field Addition module
foreign_field_common
Common parameters and functions for kimchi’s foreign field circuits.
foreign_field_mul
Foreign field multiplication module
generic
This module implements the double generic gate.
keccak
Keccak hash module
not
This module includes the definition of the NOT gadget and the witness code generation, for both the implementation running with Xor16 gates and the one with Generic gates. Note that this module does not include a Not gate type.
permutation
This module implements permutation constraint polynomials.
poseidon
This module implements the Poseidon constraint polynomials.
range_check
Range check gate module
rot
turshi
This implements the constraints of the Cairo gates
varbasemul
This module implements short Weierstrass curve variable base scalar multiplication custom Plonk polynomials.
xor
This module includes the definition of the XOR gadget for 64, 32, and 16 bits, the definition of the constraints of the Xor16 circuit gate, and the code for witness generation for the XOR gadget.