Expand description
Base library to build Halo2 circuits.
Re-exports§
pub use halo2_proofs_axiom as halo2_proofs;
Modules§
- gates
- Module that contains the main API for creating and working with circuits.
gates
is misleading because we currently only use one custom gate throughout. - poseidon
- Module for the Poseidon hash function.
- safe_
types - Module for SafeType which enforce value range and realted functions.
- utils
- Utility functions for converting between different types of field elements.
- virtual_
region - Trait describing the shared properties for a struct that is in charge of managing a virtual region of a circuit and assigning that virtual region to a “raw” Halo2 region in the “physical” circuit.
Macros§
- impl_
scalar_ field - To ensure
ScalarField
is only implemented forff:Field
whereRepr
is little endian, we use the following macro to implement the trait for each field.
Structs§
- Assigned
Value - Pointer containing cell value and location within Context.
- Context
- Represents a single thread of an execution trace.
- Context
Cell - Pointer to the position of a cell at
offset
in an advice column within a Context ofcontext_id
.
Enums§
- Quantum
Cell - Convenience Enum which abstracts the scenarios under a value is added to an advice column.
Constants§
- SKIP_
FIRST_ PASS - Constant representing whether the Layouter calls
synthesize
once just to get region shape.
Type Aliases§
- Context
Tag - Unique tag for a context across all virtual regions.
In the form
(type_id, context_id)
wheretype_id
should be a unique identifier for the virtual region this context belongs to, andcontext_id
is a counter local to that virtual region.