https://github.com/dusk-network/plonk_gadgets
Container of general purpose gadgets used across Dusk Network's circuit implementations.
https://github.com/dusk-network/plonk_gadgets
ecc gadgets plonk plonk-gadgets zk-circuits
Last synced: 6 months ago
JSON representation
Container of general purpose gadgets used across Dusk Network's circuit implementations.
- Host: GitHub
- URL: https://github.com/dusk-network/plonk_gadgets
- Owner: dusk-network
- License: mpl-2.0
- Archived: true
- Created: 2020-02-19T13:17:35.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-07-05T20:24:59.000Z (almost 5 years ago)
- Last Synced: 2025-10-20T23:14:42.468Z (8 months ago)
- Topics: ecc, gadgets, plonk, plonk-gadgets, zk-circuits
- Language: Rust
- Homepage:
- Size: 160 KB
- Stars: 13
- Watchers: 8
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Plonk Gadgets

[](https://github.com/dusk-network/plonk_gadgets)
[](https://docs.rs/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`.
## 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](https://github.com/dusk-network/plonk_gadgets/blob/master/LICENSE) for further info.
## About
Implementation designed by the [dusk](https://dusk.network) team.
## Contributing
- If you want to contribute to this repository/project please, check [CONTRIBUTING.md](https://github.com/dusk-network/plonk_gadgets/blob/master/CONTRIBUTING.md)
- If you want to report a bug or request a new feature addition, please open an issue on this repository.