Module builder

Module builder 

Source
Expand description

A Circuit Builder struct that owns the super::nodes::CircuitNodes used during circuit creation.

MacrosΒ§

impl_add πŸ”’
implement the Add, Sub, and Mul traits for NodeRef and FSNodeRef
impl_mul πŸ”’
impl_sub πŸ”’
impl_xor πŸ”’

StructsΒ§

Circuit
A circuit whose structure is fixed, but is not yet ready to be proven or verified because its missing all or some of its input data. This structs provides an API for attaching inputs and generating a form of the circuit that can be proven or verified respectively, for various proving systems (vanilla GKR with Ligero, or Hyrax).
CircuitBuilder
A struct that owns and manages super::nodes::CircuitNodes during circuit creation.
CircuitMap
Manages the relations between all different kinds of identifiers used to specify nodes during circuit building and circuit instantiation. Keeps track of [LayerId]s, NodeIds, Labels, LayerVisibilitys, [CircuitLocation]s.
FSNodeRef
A reference to a FiatShamirChallengeNode; a specialized version of NodeRef. Used only in the front-end during the circuit-building phase.
InputLayerNodeRef
A reference to a InputLayerNode; a specialized version of NodeRef. Used only in the front-end during the circuit-building phase.
LookupConstraintNodeRef
A reference to a LookupConstraint; a specialized version of NodeRef. Used only in the front-end during the circuit-building phase.
LookupTableNodeRef
A reference to a LookupTable; a specialized version of NodeRef. Used only in the front-end during the circuit-building phase.
NodeRef
A dynamically-typed reference to a CircuitNode. Used only in the front-end during the circuit-building phase.

EnumsΒ§

CircuitMapState πŸ”’
Used only inside a CircuitMap to keep track of its state.
LayerVisibility
The Layer kind defines the visibility of an input layer’s data.