Go to file
Henry de Valence e534f36ec4 bellman: add VerificationError (#254)
* bellman: add VerificationError

This adds a distinct VerificationError type to the crate and changes
`verify_proof` to return `Result<(), VerificationError>` rather than
`Result<bool, SynthesisError>`.  This is significantly safer, because it avoids
the need to mix pattern-matching logic with boolean logic (the cause of
RUSTSEC-2019-0004).

* Rename VerificationError variants per review comments.

* Add missing Clone impl to VerificationError.
2020-08-25 23:11:18 +01:00
src bellman: add VerificationError (#254) 2020-08-25 23:11:18 +01:00
tests bellman: add VerificationError (#254) 2020-08-25 23:11:18 +01:00
.gitignore Initial commit 2015-12-24 02:58:38 -07:00
COPYRIGHT Make license files/copyright identical to `pairing` crate. 2017-11-12 15:56:03 -07:00
Cargo.toml impl ConditionallySelectable for Field 2020-08-25 23:09:46 +01:00
LICENSE-APACHE Make license files/copyright identical to `pairing` crate. 2017-11-12 15:56:03 -07:00
LICENSE-MIT Make license files/copyright identical to `pairing` crate. 2017-11-12 15:56:03 -07:00
README.md Update READMEs 2019-09-24 14:23:55 +01:00

README.md

bellman Crates.io

bellman is a crate for building zk-SNARK circuits. It provides circuit traits and primitive structures, as well as basic gadget implementations such as booleans and number abstractions.

Roadmap

bellman is being refactored into a generic proving library. Currently it is pairing-specific, and different types of proving systems need to be implemented as sub-modules. After the refactor, bellman will be generic using the ff and group crates, while specific proving systems will be separate crates that pull in the dependencies they require.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.