GitHunt
DU

dusk-network/plonk_gadgets

Container of general purpose gadgets used across Dusk Network's circuit implementations.

Plonk Gadgets

Build Status
Repository
Documentation

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.

Acknowledgements

  • Conditional selection gadgets and AllocatedScalar structure have been taken from the ZCash sapling
    circuits and translated to the Plonk Constraint System language.

Licensing

This code is licensed under Mozilla Public License Version 2.0 (MPL-2.0). Please see LICENSE for further info.

About

Implementation designed by the dusk team.

Contributing

  • If you want to contribute to this repository/project please, check CONTRIBUTING.md
  • If you want to report a bug or request a new feature addition, please open an issue on this repository.

Languages

Rust100.0%

Contributors

Mozilla Public License 2.0
Created February 19, 2020
Updated November 9, 2023