Skip to content
This repository has been archived by the owner on Nov 9, 2023. It is now read-only.

dusk-network/plonk_gadgets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.