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.

WARNING

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

Content

This library provides:

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

Re-exports

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

Modules

Gadget Errors Module.

Collection of range-checking gadgets.

Basic Scalar oriented gadgets collection.

Structs

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