Files
Sunscreen/Cargo.toml
Sam Tay badb8f9c8f ZKP tweaks (#279)
* Export type alias for bulletproof backend fields

Also, keep bulletproof stuff namespaced to a `bulletproofs` module.

* Change sudoku to use pub over const

* Docs updates

* Rename / clean up sudoku

* Export `Proof` type

Basically required for being able to deserialize a proof

* Add zkp/serde workspace example

* Drive by cleaning

* Exports necessary for gadget impls

* Rename compute_inputs to compute_hidden_inputs

* Add prove/verify builders

* Export the builder types

This isnt strictly necessary but it would be weird for these to not show up in the cargo docs

* Clippy fix

* Add helper .compile() & .runtime() methods to fhe prog fns

I do wonder if these should be defined in a separate trait, just so that they don't live next to the more internal functions in documentation.

* Use new swag to simplify the front-facing api docs example

* Add some whitespace

* Switch to an extension trait

* Add an extension to ZkpProgramFn

* Take an owned ZkpBackend, rather than reference

Its typical to have the caller handle cloning, rather than taking a reference, requiring Clone impl, and forcing clone. Plus, as of now the only backend is a zero size null struct, so nothing to be gained by using a reference. It also just looks weird to always pass `&BulletproofsBackend::new()`

* Update sudoku to use new swag

* Target second attribute in multi attribute error

* Enforce ordering zkp inputs: constants,public,private

Honestly this feels a little unnatural to me. Might want to reverse: private, public, constant and then change all the prove/verify methods to that ordering

* Build whitelist example in CI

* Reorder constant->public->private to private->public->constant

* Fix trailing ws

* Fix example

* Make .runtime() more consistent with .compile()

* Get rid of some boilerplate impls

* Add custom zkp type example

* Move example run checks into example tests

Should speed up CI a bit

* Change whitelist -> allowlist
2023-07-18 15:15:51 -04:00

27 lines
605 B
TOML

[workspace]
resolver = '2'
members = [
"benchmarks/bfv_zkp",
"benchmarks/cannonical_norm_noise_model",
"emsdk",
"examples/*",
"logproof",
"seal_fhe",
"sunscreen",
"sunscreen_backend",
"sunscreen_bulletproofs",
"sunscreen_compiler_common",
"sunscreen_compiler_macros",
"sunscreen_curve25519",
"sunscreen_fhe_program",
"sunscreen_math",
"sunscreen_runtime",
"sunscreen_compiler_common",
"sunscreen_zkp_backend",
]
exclude = ["mdBook", "rust-playground", "examples/allowlist_zkp"]
[profile.release]
split-debuginfo = "packed"
debug = true