Crate plonk_gadgets[][src]

Expand description

Plonk Gadgets

This library cointains the gadgets that the Dusk-Network protocol needs to build it’s ZK-Circuits. The library contains generic gadgets which are used across Dusk’s tech stack, all of the other gadgets used which depend on foreign types are placed on the libraries where this types are defined.


This implementation is not audited. Use under your own responsability.


This library provides:

  • Scalar gadgets: is_non-zero, maybe_equals, conditionally_select_one, conditionally_select_zero.
  • Range gadgets: range_check, max_bound.


pub use crate::errors::Error;
pub use range as RangeGadgets;
pub use scalar as ScalarGadgets;


Gadget Errors Module.

Collection of range-checking gadgets.

Basic Scalar oriented gadgets collection.


An allocated scalar holds the underlying witness assignment for the Prover and a dummy value for the verifier XXX: This could possibly be added to the PLONK API