Skip to content

Commit

Permalink
Improve Circuit trait API and usability (#313)
Browse files Browse the repository at this point in the history
* Improve Circuit trait API and usability

- Trait now comes with build_pi, gen_proof, compile & verify_proof
fn's already implemented.
- It forces the user to implement the getters and setters for the PI
vector storage.
- It carries the circuit size already hardcored in it.
  • Loading branch information
CPerezz authored Oct 5, 2020
1 parent 35449d2 commit c900d2c
Show file tree
Hide file tree
Showing 3 changed files with 127 additions and 143 deletions.
23 changes: 4 additions & 19 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]


## [0.2.11] - 29-09-20
## [0.3.0] - 05-10-20
### Changed
- `Circuit` trait API & usability improvements (#313)

## [0.2.11] - 29-09-20
### Changed
- Now `Circuit` inputs are set in the circuit structure as `Option<T>`.
- Make `PublicInput::value()` fn public.
Expand All @@ -23,12 +26,10 @@ according to the new changes.
- Removed `CircuitInputs` from the crate.

## [0.2.10] - 23-09-20

### Added
- Added `CircuitBuilder` trait and a example for it.

## [0.2.9] - 11-09-20

### Added
- Added `ProverKey` & `Verifierkey` to the public API as exported types.

Expand All @@ -37,7 +38,6 @@ according to the new changes.
- Use `dusk-jubjub v0.3.8`.

## [0.2.8] - 25-08-20

### Added
- Add a `variable_base_scalar_mul` method using a variable base curve add gate.

Expand All @@ -46,7 +46,6 @@ according to the new changes.


## [0.2.7] - 13-08-20

### Added
- `Anyhow` & `thiserror` for error handling support.
- Serialisation methods for the crate public structures &
Expand All @@ -63,27 +62,22 @@ a `Scalar` and returns a constant & constrained witness `Variable`.
- `ecc::scalar_mul` now named fixed_base_scalar_mul

## [0.2.6] - 03-08-20

### Changed
- Make public inputs vector publicly accessible.

## [0.2.5] - 31-07-20

### Changed
- ECC Point from `ecc:scalar_mul` should have its attributes exposed.

## [0.2.4] - 29-07-20

### Changed
- Changed `dusk-jubjub` version to `v0.3.5` to fix Fr random gen.

## [0.2.3] - 28-07-20

### Changed
- Changed `dusk-jubjub` version to `v0.3.4` to update dhke generation.

## [0.2.2] - 25-07-20

### Added
- Method to create constrained witness values. @CPerezz

Expand All @@ -92,7 +86,6 @@ a `Scalar` and returns a constant & constrained witness `Variable`.
- Changed `dusk-jubjub` version to `v0.3.3` since `v0.3.2` was yanked.

## [0.2.1] - 24-07-20 [yanked]

### Added
- Method to create constrained witness values. @CPerezz

Expand All @@ -101,7 +94,6 @@ a `Scalar` and returns a constant & constrained witness `Variable`.


## [0.2.0] - 20-07-20

### Added
- Prover and Verifier abstraction @kevaundray
- Error handling and custom errors @CPerezz
Expand All @@ -125,7 +117,6 @@ a `Scalar` and returns a constant & constrained witness `Variable`.


## [0.1.0] - 25-04-20

### Added

- PLONK algorithm implementation.
Expand All @@ -134,9 +125,3 @@ a `Scalar` and returns a constant & constrained witness `Variable`.
- KZG10 polynomial commitment scheme implementation.
- fft module with Polynomial ops implemented.
- Proof system module.

### Changed

### Fixed

### Removed
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "dusk-plonk"
version = "0.2.11"
version = "0.3.0"
authors = ["Kevaundray Wedderburn <kevtheappdev@gmail.com>",
"Luke Pearson <luke@dusk.network>",
"CPerezz <carlos@dusk.network>"]
Expand All @@ -27,7 +27,7 @@ rand = "0.7.2"
rand_core = { version = "0.5", default-features = false }
# Built by default with "std", "alloc", "pairing", "groups" and "endo" features.
dusk-bls12_381 = "0.1.4"
itertools = "0.8.2"
itertools = "0.9.0"
rand_chacha = "0.2"
rayon = "1.3.0"
anyhow = "1.0.32"
Expand Down
Loading

0 comments on commit c900d2c

Please sign in to comment.