diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 47daf63e..51913d39 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,17 +1,17 @@ { - "co-circom/circom-mpc-compiler": "0.7.0", + "co-circom/circom-mpc-compiler": "0.7.1", "co-circom/circom-mpc-vm": "0.5.0", "co-circom/circom-types": "0.6.0", "co-circom/co-circom-snarks": "0.2.0", - "co-circom/co-circom": "0.6.0", - "co-circom/co-groth16": "0.6.0", - "co-circom/co-plonk": "0.4.0", - "co-noir/co-acvm": "0.3.0", - "co-noir/co-builder": "0.1.0", - "co-noir/co-noir": "0.3.0", - "co-noir/co-ultrahonk": "0.2.0", - "co-noir/ultrahonk": "0.2.0", + "co-circom/co-circom": "0.7.0", + "co-circom/co-groth16": "0.7.0", + "co-circom/co-plonk": "0.5.0", + "co-noir/co-acvm": "0.4.0", + "co-noir/co-builder": "0.1.1", + "co-noir/co-noir": "0.4.0", + "co-noir/co-ultrahonk": "0.2.1", + "co-noir/ultrahonk": "0.3.0", "mpc-core": "0.6.0", "mpc-net": "0.2.0", - "tests": "0.1.8" + "tests": "0.1.9" } diff --git a/co-circom/circom-mpc-compiler/CHANGELOG.md b/co-circom/circom-mpc-compiler/CHANGELOG.md index 02ad6189..9c59bfec 100644 --- a/co-circom/circom-mpc-compiler/CHANGELOG.md +++ b/co-circom/circom-mpc-compiler/CHANGELOG.md @@ -7,6 +7,10 @@ * co-groth16 bumped from 0.5.0 to 0.5.1 * mpc-core bumped from 0.4.0 to 0.5.0 +* The following workspace dependencies were updated + * dev-dependencies + * co-groth16 bumped from 0.6.0 to 0.7.0 + ## [0.7.0](https://github.com/TaceoLabs/co-snarks/compare/circom-mpc-compiler-v0.6.1...circom-mpc-compiler-v0.7.0) (2024-11-11) diff --git a/co-circom/circom-mpc-compiler/Cargo.toml b/co-circom/circom-mpc-compiler/Cargo.toml index d1a32b69..20dadeef 100644 --- a/co-circom/circom-mpc-compiler/Cargo.toml +++ b/co-circom/circom-mpc-compiler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "circom-mpc-compiler" -version = "0.7.0" +version = "0.7.1" edition.workspace = true rust-version.workspace = true authors.workspace = true @@ -29,6 +29,6 @@ tracing.workspace = true [dev-dependencies] ark-bn254.workspace = true -co-groth16 = { version = "0.6.0", path = "../co-groth16" } +co-groth16 = { version = "0.7.0", path = "../co-groth16" } mpc-core = { version = "0.6.0", path = "../../mpc-core" } tracing.workspace = true diff --git a/co-circom/co-circom/CHANGELOG.md b/co-circom/co-circom/CHANGELOG.md index 16962ae0..b8c4d333 100644 --- a/co-circom/co-circom/CHANGELOG.md +++ b/co-circom/co-circom/CHANGELOG.md @@ -9,6 +9,55 @@ * co-plonk bumped from 0.3.0 to 0.3.1 * mpc-core bumped from 0.4.0 to 0.5.0 +## [0.7.0](https://github.com/TaceoLabs/co-snarks/compare/co-circom-v0.6.0...co-circom-v0.7.0) (2024-11-11) + + +### ⚠ BREAKING CHANGES + +* serialization format of shared inputs has changed to allow for optional values used to indicate missing elements of an array +* MPC accelerator changed public API. Also now stores #output signals in component +* input to compiler now takes PathBuf +* run and run_with_flat methods on WitnessExtension now consume self again +* MpcNetworkHandler::establish now takes the config with already read certs and key. +* Removes the zkey in the said function signature. We needed it earlier because we had to know domain size, which we now no longer need. +* the prover for Groth16/Plonk now expects an Arc. Cleaner than having multiple Arcs in ZKey +* The serialized format of shares is now different. +* Refactor calls to other crates because of API changes + +### Features + +* add support for merging input arrays ([#260](https://github.com/TaceoLabs/co-snarks/issues/260)) ([2c72231](https://github.com/TaceoLabs/co-snarks/commit/2c722317efee4b07fef92dcc7c6218033a25f04b)) +* Add the possibility to share co-circom inputs and witness in compressed form ([c3443e1](https://github.com/TaceoLabs/co-snarks/commit/c3443e1d6118f18c98c260b426307a16a2de9f76)) +* added run_and_get_network to CircomRep3VmWitnessExtension, changed run and run_with_flat back to consume self ([b362504](https://github.com/TaceoLabs/co-snarks/commit/b362504d8a5affa8a5e8eca3f214c04951ad5b50)) +* allow to set circom simplification level via CLI ([b0d64ba](https://github.com/TaceoLabs/co-snarks/commit/b0d64ba683c1dbab67102d31f1e1ab80108fb7d9)) +* can now parse bool inputs ([#236](https://github.com/TaceoLabs/co-snarks/issues/236)) ([d0147b6](https://github.com/TaceoLabs/co-snarks/commit/d0147b60810545d1a8796370b82c50eac1d7739d)) +* num2bits accelerator working ([13cdf10](https://github.com/TaceoLabs/co-snarks/commit/13cdf100b79c642649d31501833ed182dd7e8b90)) + + +### Bug Fixes + +* fixed path in zkey benches ([#231](https://github.com/TaceoLabs/co-snarks/issues/231)) ([99ab2de](https://github.com/TaceoLabs/co-snarks/commit/99ab2de32db9b27ca219fd93d7f8f17ab9692984)) +* handle inputs that are >= mod in the same way as snarkjs ([76f701b](https://github.com/TaceoLabs/co-snarks/commit/76f701b63fc94e9643aefb3ded9670843a0e716f)) +* install rustls default crypto provider in our main binaries & examples ([#238](https://github.com/TaceoLabs/co-snarks/issues/238)) ([78757e4](https://github.com/TaceoLabs/co-snarks/commit/78757e46d8622360377d27c5d475d417bed95c5a)) + + +### Code Refactoring + +* input to compiler now takes PathBuf ([9f36774](https://github.com/TaceoLabs/co-snarks/commit/9f36774f0ff93c3c3abd28efae6599fc531bb1fb)) +* prove for circom now expect Arc<ZKey> ([c2ac465](https://github.com/TaceoLabs/co-snarks/commit/c2ac465ebf6f3a28b902d9f0489e3f57c0843d7f)) +* Refactor calls to other crates because of API changes ([6ed7c1a](https://github.com/TaceoLabs/co-snarks/commit/6ed7c1ad34e5dabd3ba1464cc805d5427d543f68)) +* split network config into two types ([dca1756](https://github.com/TaceoLabs/co-snarks/commit/dca175603a5d6a2f75ccd987cb0b19cc3d965b00)) +* with_network_config for ShamirGroth16 doesn't need zkey anymore ([2052d89](https://github.com/TaceoLabs/co-snarks/commit/2052d89cc4abb531702886daf70c47ee3b1ecf1a)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * circom-mpc-compiler bumped from 0.7.0 to 0.7.1 + * co-groth16 bumped from 0.6.0 to 0.7.0 + * co-plonk bumped from 0.4.0 to 0.5.0 + ## [0.6.0](https://github.com/TaceoLabs/co-snarks/compare/co-circom-v0.5.1...co-circom-v0.6.0) (2024-11-11) diff --git a/co-circom/co-circom/Cargo.toml b/co-circom/co-circom/Cargo.toml index a073ddc6..66a81538 100644 --- a/co-circom/co-circom/Cargo.toml +++ b/co-circom/co-circom/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "co-circom" -version = "0.6.0" +version = "0.7.0" publish.workspace = true authors.workspace = true @@ -19,15 +19,15 @@ ark-ec.workspace = true ark-ff.workspace = true ark-serialize.workspace = true bincode.workspace = true -circom-mpc-compiler = { version = "0.7.0", path = "../circom-mpc-compiler" } +circom-mpc-compiler = { version = "0.7.1", path = "../circom-mpc-compiler" } circom-mpc-vm = { version = "0.5.0", path = "../circom-mpc-vm" } circom-types = { version = "0.6.0", path = "../circom-types" } clap.workspace = true co-circom-snarks = { version = "0.2.0", path = "../co-circom-snarks" } -co-groth16 = { version = "0.6.0", path = "../co-groth16", features = [ +co-groth16 = { version = "0.7.0", path = "../co-groth16", features = [ "verifier", ] } -co-plonk = { version = "0.4.0", path = "../co-plonk" } +co-plonk = { version = "0.5.0", path = "../co-plonk" } color-eyre.workspace = true figment.workspace = true mpc-core = { version = "0.6.0", path = "../../mpc-core" } diff --git a/co-circom/co-groth16/CHANGELOG.md b/co-circom/co-groth16/CHANGELOG.md index b2c6a886..ba095fe6 100644 --- a/co-circom/co-groth16/CHANGELOG.md +++ b/co-circom/co-groth16/CHANGELOG.md @@ -11,6 +11,29 @@ * co-circom-snarks bumped from 0.1.1 to 0.1.2 * mpc-core bumped from 0.4.0 to 0.5.0 +## [0.7.0](https://github.com/TaceoLabs/co-snarks/compare/co-groth16-v0.6.0...co-groth16-v0.7.0) (2024-11-11) + + +### ⚠ BREAKING CHANGES + +* Removes the zkey in the said function signature. We needed it earlier because we had to know domain size, which we now no longer need. +* the prover for Groth16/Plonk now expects an Arc. Cleaner than having multiple Arcs in ZKey +* the public interface of the Groth16MPCProver trait has changed. +* refactors everything that all groth16 specific functionallity is not in MPC-core anymore. + +### Features + +* added plain prover shorthand function ([b365fcd](https://github.com/TaceoLabs/co-snarks/commit/b365fcd89390dad585933f39a2db32473081d060)) +* prepare functions for compressed rep3 sharing ([55bef10](https://github.com/TaceoLabs/co-snarks/commit/55bef10313378e8ca14f2f22f312c84462a92a7e)) +* refactors all according to MPC-core + Rayon ([44a5d2d](https://github.com/TaceoLabs/co-snarks/commit/44a5d2d4f1e406331f127cd89de369a66d41b105)) + + +### Code Refactoring + +* make pointshare in Groth16 MPC trait generic over the curve ([dc5acd2](https://github.com/TaceoLabs/co-snarks/commit/dc5acd28db03920982de623f51dd4df236ff7381)) +* prove for circom now expect Arc<ZKey> ([c2ac465](https://github.com/TaceoLabs/co-snarks/commit/c2ac465ebf6f3a28b902d9f0489e3f57c0843d7f)) +* with_network_config for ShamirGroth16 doesn't need zkey anymore ([2052d89](https://github.com/TaceoLabs/co-snarks/commit/2052d89cc4abb531702886daf70c47ee3b1ecf1a)) + ## [0.6.0](https://github.com/TaceoLabs/co-snarks/compare/co-groth16-v0.5.1...co-groth16-v0.6.0) (2024-11-11) diff --git a/co-circom/co-groth16/Cargo.toml b/co-circom/co-groth16/Cargo.toml index bbcb4e73..642154b5 100644 --- a/co-circom/co-groth16/Cargo.toml +++ b/co-circom/co-groth16/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "co-groth16" -version = "0.6.0" +version = "0.7.0" publish.workspace = true authors.workspace = true edition.workspace = true diff --git a/co-circom/co-plonk/CHANGELOG.md b/co-circom/co-plonk/CHANGELOG.md index 1b2e89e1..89ea0541 100644 --- a/co-circom/co-plonk/CHANGELOG.md +++ b/co-circom/co-plonk/CHANGELOG.md @@ -5,6 +5,24 @@ * co-circom-snarks bumped from 0.1.1 to 0.1.2 * mpc-core bumped from 0.4.0 to 0.5.0 +## [0.5.0](https://github.com/TaceoLabs/co-snarks/compare/co-plonk-v0.4.0...co-plonk-v0.5.0) (2024-11-11) + + +### ⚠ BREAKING CHANGES + +* the prover for Groth16/Plonk now expects an Arc. Cleaner than having multiple Arcs in ZKey +* now uses new mpc-core and forked networking but NO rayon + +### Features + +* prepare functions for compressed rep3 sharing ([55bef10](https://github.com/TaceoLabs/co-snarks/commit/55bef10313378e8ca14f2f22f312c84462a92a7e)) +* refactor to use new mpc-core ([43da344](https://github.com/TaceoLabs/co-snarks/commit/43da344be00f00a46849508cea1d279cf29a95b2)) + + +### Code Refactoring + +* prove for circom now expect Arc<ZKey> ([c2ac465](https://github.com/TaceoLabs/co-snarks/commit/c2ac465ebf6f3a28b902d9f0489e3f57c0843d7f)) + ## [0.4.0](https://github.com/TaceoLabs/co-snarks/compare/co-plonk-v0.3.1...co-plonk-v0.4.0) (2024-11-11) diff --git a/co-circom/co-plonk/Cargo.toml b/co-circom/co-plonk/Cargo.toml index 2a01ef01..c121278d 100644 --- a/co-circom/co-plonk/Cargo.toml +++ b/co-circom/co-plonk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "co-plonk" -version = "0.4.0" +version = "0.5.0" publish.workspace = true authors.workspace = true edition.workspace = true diff --git a/co-noir/co-acvm/CHANGELOG.md b/co-noir/co-acvm/CHANGELOG.md index 25c33424..fb2354a6 100644 --- a/co-noir/co-acvm/CHANGELOG.md +++ b/co-noir/co-acvm/CHANGELOG.md @@ -1,5 +1,41 @@ # Changelog +## [0.4.0](https://github.com/TaceoLabs/co-snarks/compare/co-acvm-v0.3.0...co-acvm-v0.4.0) (2024-11-11) + + +### ⚠ BREAKING CHANGES + +* Use ACVMType in co-builder +* co-noir now stores shared inputs in a different format (`BTreeMap>` instead of `BTreeMap>`) +* Add merging inputs to co-noir binary ([#208](https://github.com/TaceoLabs/co-snarks/issues/208)) +* removed acvm_impl. now uses old driver for ACVM +* added mpc-core trait for Acvm witness extension. Therfore, we changed trait bounds for Rep3Protocol + +### Features + +* Add co-noir binary ([#201](https://github.com/TaceoLabs/co-snarks/issues/201)) ([3163aec](https://github.com/TaceoLabs/co-snarks/commit/3163aec0795dd7b357f532e4da9e232ea164f064)) +* Add merging inputs to co-noir binary ([#208](https://github.com/TaceoLabs/co-snarks/issues/208)) ([9365fdc](https://github.com/TaceoLabs/co-snarks/commit/9365fdc1d3111cb7d17873e14fe7b5ee4b7db4fe)) +* added LUT provider stub and plain impl for MemOps ([3d2377f](https://github.com/TaceoLabs/co-snarks/commit/3d2377f073a7a6b1c4b88e1d752ebc3ef60724ed)) +* added predicate handling in memory op ([220414f](https://github.com/TaceoLabs/co-snarks/commit/220414fbc1084658ffa73f0171a4c4493a97d7ca)) +* added rep3 implementation for AssertZeroOpCode ([8e51505](https://github.com/TaceoLabs/co-snarks/commit/8e515052539227cf44860390a8d6736f9e456c91)) +* added sanity checks for memopcodes ([6914611](https://github.com/TaceoLabs/co-snarks/commit/6914611ad5a7597e4785f8ef67ecfbf479f3dd7c)) +* added trivial LUT impl for Rep3. Also modified some code in MPC-core ([bcb4749](https://github.com/TaceoLabs/co-snarks/commit/bcb4749e168807f5f16ae80bd1aeaa6e1f9da157)) +* Make builder generic for both shares and plain, add shared proving key and start with MPC prover ([#193](https://github.com/TaceoLabs/co-snarks/issues/193)) ([e3559a0](https://github.com/TaceoLabs/co-snarks/commit/e3559a0a38a61b1de4b29ea9fa820066ed00ddc0)) +* noir witness extension works for our poseidon impl ([92800d3](https://github.com/TaceoLabs/co-snarks/commit/92800d3a272a22c080ffd9bb51bd9cbd6ac9b256)) +* squashed commit of co-noir ([b132afc](https://github.com/TaceoLabs/co-snarks/commit/b132afcadb96914cd85070f87d7aa03bf9f87bfd)) +* started witness extension Noir ([43e6535](https://github.com/TaceoLabs/co-snarks/commit/43e653545cd6e797becefbb76f7757dde43a5030)) + + +### Bug Fixes + +* Adapt co-noir binary to handle public noir inputs correctly ([#216](https://github.com/TaceoLabs/co-snarks/issues/216)) ([bed3996](https://github.com/TaceoLabs/co-snarks/commit/bed399621558ca5d2ee22e9bdaa42f14f66b74d9)) + + +### Code Refactoring + +* removed acvm_impl. now uses old driver for ACVM ([d37c5bb](https://github.com/TaceoLabs/co-snarks/commit/d37c5bbd00e932a97d64a6e924b8c092b71f30d2)) +* Use ACVMType in co-builder ([e078c22](https://github.com/TaceoLabs/co-snarks/commit/e078c22e4d19580b4a0531c0ac4232e7dd9f3bae)) + ## [0.3.0](https://github.com/TaceoLabs/co-snarks/compare/co-acvm-v0.2.0...co-acvm-v0.3.0) (2024-11-11) diff --git a/co-noir/co-acvm/Cargo.toml b/co-noir/co-acvm/Cargo.toml index 821a6089..2a035c52 100644 --- a/co-noir/co-acvm/Cargo.toml +++ b/co-noir/co-acvm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "co-acvm" -version = "0.3.0" +version = "0.4.0" publish.workspace = true authors.workspace = true edition.workspace = true diff --git a/co-noir/co-builder/CHANGELOG.md b/co-noir/co-builder/CHANGELOG.md index 6adf6057..e269603a 100644 --- a/co-noir/co-builder/CHANGELOG.md +++ b/co-noir/co-builder/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +* The following workspace dependencies were updated + * dependencies + * co-acvm bumped from 0.3.0 to 0.4.0 + ## [0.1.0](https://github.com/TaceoLabs/co-snarks/compare/co-builder-v0.0.1...co-builder-v0.1.0) (2024-11-11) diff --git a/co-noir/co-builder/Cargo.toml b/co-noir/co-builder/Cargo.toml index abf87d48..d52346bf 100644 --- a/co-noir/co-builder/Cargo.toml +++ b/co-noir/co-builder/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "co-builder" -version = "0.1.0" +version = "0.1.1" publish.workspace = true authors.workspace = true edition.workspace = true @@ -16,7 +16,7 @@ ark-ec.workspace = true ark-ff.workspace = true ark-poly.workspace = true ark-serialize.workspace = true -co-acvm = { version = "0.3.0", path = "../co-acvm" } +co-acvm = { version = "0.4.0", path = "../co-acvm" } mpc-core = { version = "0.6.0", path = "../../mpc-core" } eyre.workspace = true itertools.workspace = true diff --git a/co-noir/co-noir/CHANGELOG.md b/co-noir/co-noir/CHANGELOG.md index bbc4539f..69544f26 100644 --- a/co-noir/co-noir/CHANGELOG.md +++ b/co-noir/co-noir/CHANGELOG.md @@ -1,5 +1,53 @@ # Changelog +## [0.4.0](https://github.com/TaceoLabs/co-snarks/compare/co-noir-v0.3.0...co-noir-v0.4.0) (2024-11-11) + + +### ⚠ BREAKING CHANGES + +* Add more commands to co-noir binary to prepare for cases where +* co-noir adapted to ACVMType instead of sharedbuildervariable +* Use ACVMType in co-builder +* MpcNetworkHandler::establish now takes the config with already read certs and key. +* The interface of the UltraCircuitVariable trait has change. Thus, also ProvingKey::create() throws an error now. +* co-noir now stores shared inputs in a different format (`BTreeMap>` instead of `BTreeMap>`) +* The produced proofs are now different due to new transcript handling in bb 0.55.1, and they are no longer backwards compatible. +* Add merging inputs to co-noir binary ([#208](https://github.com/TaceoLabs/co-snarks/issues/208)) + +### Features + +* Add co-noir binary ([#201](https://github.com/TaceoLabs/co-snarks/issues/201)) ([3163aec](https://github.com/TaceoLabs/co-snarks/commit/3163aec0795dd7b357f532e4da9e232ea164f064)) +* Add merging inputs to co-noir binary ([#208](https://github.com/TaceoLabs/co-snarks/issues/208)) ([9365fdc](https://github.com/TaceoLabs/co-snarks/commit/9365fdc1d3111cb7d17873e14fe7b5ee4b7db4fe)) +* Add more commands to co-noir binary to prepare for cases where ([268ebe9](https://github.com/TaceoLabs/co-snarks/commit/268ebe9f243146cc6ea251e6b8fdef28cc8ca035)) +* Add Verifying key serialization and add verification to co-noir binary ([#202](https://github.com/TaceoLabs/co-snarks/issues/202)) ([3467425](https://github.com/TaceoLabs/co-snarks/commit/34674255f764f8df1f862d600ebba46314566233)) +* Do not use the builder in co-noir split witness ([d304986](https://github.com/TaceoLabs/co-snarks/commit/d304986495f4f6f94db60d4ad15e5f4cd29c0e32)) +* Replace a panic from the ultracircuitbuilder with an Error ([#217](https://github.com/TaceoLabs/co-snarks/issues/217)) ([5d9c870](https://github.com/TaceoLabs/co-snarks/commit/5d9c8703525e90ee3d9215006df527ad6a6ae777)) +* squashed commit of co-noir ([b132afc](https://github.com/TaceoLabs/co-snarks/commit/b132afcadb96914cd85070f87d7aa03bf9f87bfd)) +* Update UltraHonk to BB v0.62.0, required to replace zeromorph with shplemini ([#251](https://github.com/TaceoLabs/co-snarks/issues/251)) ([f35cdd4](https://github.com/TaceoLabs/co-snarks/commit/f35cdd490f8a3daa8bb44f6aa502f42147efb4b6)) +* Upgrade UltraHonk to be compatible with Barretenberg v0.55.1 ([#211](https://github.com/TaceoLabs/co-snarks/issues/211)) ([f817d76](https://github.com/TaceoLabs/co-snarks/commit/f817d768760ffbbf6b58489562aed5327567c561)) + + +### Bug Fixes + +* Adapt co-noir binary to handle public noir inputs correctly ([#216](https://github.com/TaceoLabs/co-snarks/issues/216)) ([bed3996](https://github.com/TaceoLabs/co-snarks/commit/bed399621558ca5d2ee22e9bdaa42f14f66b74d9)) +* install rustls default crypto provider in our main binaries & examples ([#238](https://github.com/TaceoLabs/co-snarks/issues/238)) ([78757e4](https://github.com/TaceoLabs/co-snarks/commit/78757e46d8622360377d27c5d475d417bed95c5a)) +* simplify path handling in co-noir binary ([26fae55](https://github.com/TaceoLabs/co-snarks/commit/26fae552badf72f8105ce0736e594d2398f1aca5)) + + +### Code Refactoring + +* co-noir adapted to ACVMType instead of sharedbuildervariable ([e6518a7](https://github.com/TaceoLabs/co-snarks/commit/e6518a7eb1bf6d5440b9dba815ae3342d93a4d4f)) +* split network config into two types ([dca1756](https://github.com/TaceoLabs/co-snarks/commit/dca175603a5d6a2f75ccd987cb0b19cc3d965b00)) +* Use ACVMType in co-builder ([e078c22](https://github.com/TaceoLabs/co-snarks/commit/e078c22e4d19580b4a0531c0ac4232e7dd9f3bae)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * co-acvm bumped from 0.3.0 to 0.4.0 + * co-ultrahonk bumped from 0.2.0 to 0.2.1 + ## [0.3.0](https://github.com/TaceoLabs/co-snarks/compare/co-noir-v0.2.0...co-noir-v0.3.0) (2024-11-11) diff --git a/co-noir/co-noir/Cargo.toml b/co-noir/co-noir/Cargo.toml index 2a268336..33cab5ea 100644 --- a/co-noir/co-noir/Cargo.toml +++ b/co-noir/co-noir/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "co-noir" -version = "0.3.0" +version = "0.4.0" publish.workspace = true authors.workspace = true @@ -19,8 +19,8 @@ ark-ec.workspace = true ark-ff.workspace = true bincode.workspace = true clap.workspace = true -co-acvm = { version = "0.3.0", path = "../co-acvm" } -co-ultrahonk = { version = "0.2.0", path = "../co-ultrahonk" } +co-acvm = { version = "0.4.0", path = "../co-acvm" } +co-ultrahonk = { version = "0.2.1", path = "../co-ultrahonk" } color-eyre.workspace = true figment.workspace = true mpc-core = { version = "0.6.0", path = "../../mpc-core" } diff --git a/co-noir/co-ultrahonk/CHANGELOG.md b/co-noir/co-ultrahonk/CHANGELOG.md index d4f8c8fe..e3748c60 100644 --- a/co-noir/co-ultrahonk/CHANGELOG.md +++ b/co-noir/co-ultrahonk/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +* The following workspace dependencies were updated + * dependencies + * co-acvm bumped from 0.3.0 to 0.4.0 + * co-builder bumped from 0.1.0 to 0.1.1 + * ultrahonk bumped from 0.2.0 to 0.3.0 + ## [0.2.0](https://github.com/TaceoLabs/co-snarks/compare/co-ultrahonk-v0.1.0...co-ultrahonk-v0.2.0) (2024-11-11) diff --git a/co-noir/co-ultrahonk/Cargo.toml b/co-noir/co-ultrahonk/Cargo.toml index 1e515e01..ffdd046c 100644 --- a/co-noir/co-ultrahonk/Cargo.toml +++ b/co-noir/co-ultrahonk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "co-ultrahonk" -version = "0.2.0" +version = "0.2.1" publish.workspace = true authors.workspace = true edition.workspace = true @@ -15,15 +15,15 @@ ark-ff.workspace = true ark-bn254.workspace = true ark-serialize.workspace = true ark-poly.workspace = true -co-acvm = { version = "0.3.0", path = "../co-acvm" } -co-builder = { version = "0.1.0", path = "../co-builder" } +co-acvm = { version = "0.4.0", path = "../co-acvm" } +co-builder = { version = "0.1.1", path = "../co-builder" } eyre.workspace = true itertools.workspace = true mpc-core = { version = "0.6.0", path = "../../mpc-core" } num-bigint.workspace = true num-traits.workspace = true tracing.workspace = true -ultrahonk = { version = "0.2.0", path = "../ultrahonk" } +ultrahonk = { version = "0.3.0", path = "../ultrahonk" } rand.workspace = true rayon.workspace = true serde.workspace = true diff --git a/co-noir/ultrahonk/CHANGELOG.md b/co-noir/ultrahonk/CHANGELOG.md index 353553ad..53badf2e 100644 --- a/co-noir/ultrahonk/CHANGELOG.md +++ b/co-noir/ultrahonk/CHANGELOG.md @@ -1,5 +1,53 @@ # Changelog +## [0.3.0](https://github.com/TaceoLabs/co-snarks/compare/ultrahonk-v0.2.0...ultrahonk-v0.3.0) (2024-11-11) + + +### ⚠ BREAKING CHANGES + +* Move builder to new co-builder crate +* The interface of the UltraCircuitVariable trait has change. Thus, also ProvingKey::create() throws an error now. +* co-noir now stores shared inputs in a different format (`BTreeMap>` instead of `BTreeMap>`) +* The produced proofs are now different due to new transcript handling in bb 0.55.1, and they are no longer backwards compatible. + +### Features + +* Add builder for ultrahonk and fix prover ([929dd1d](https://github.com/TaceoLabs/co-snarks/commit/929dd1d39f3048fd91ccab229e9ae8a500b92df6)) +* Add co-noir binary ([#201](https://github.com/TaceoLabs/co-snarks/issues/201)) ([3163aec](https://github.com/TaceoLabs/co-snarks/commit/3163aec0795dd7b357f532e4da9e232ea164f064)) +* Add co-oink prover ([#194](https://github.com/TaceoLabs/co-snarks/issues/194)) ([b5fbd85](https://github.com/TaceoLabs/co-snarks/commit/b5fbd85b32cdb01c8865777c2238e159fc9b2553)) +* Add co-zeromorph to co-ultrahonk ([#195](https://github.com/TaceoLabs/co-snarks/issues/195)) ([e7df56e](https://github.com/TaceoLabs/co-snarks/commit/e7df56e5af49938166e9ce4a2bbc49eaa8977acc)) +* Add first version of a (untested) UltraHonk prover ([9f2911f](https://github.com/TaceoLabs/co-snarks/commit/9f2911f61f10d40217145a6802ccaf577aa7995f)) +* Add MPC tests for co-ultrahonk ([#199](https://github.com/TaceoLabs/co-snarks/issues/199)) ([5a36ad5](https://github.com/TaceoLabs/co-snarks/commit/5a36ad5d5226cf25b8c8ffe377dd30efe6133725)) +* Add sumcheck prover (without relations) ([be44986](https://github.com/TaceoLabs/co-snarks/commit/be449861f4e1d9eda20dda28c5f6add4dfd54fea)) +* Add the sumcheck relations to the co-ultrahonk prover ([#198](https://github.com/TaceoLabs/co-snarks/issues/198)) ([846c4f0](https://github.com/TaceoLabs/co-snarks/commit/846c4f0342cc24b47947de17aec5e5cc99b4d90f)) +* Add Ultrahonk verifier ([5c5b5d8](https://github.com/TaceoLabs/co-snarks/commit/5c5b5d8d8eefe6478954ed912498a63bb1e532cb)) +* Add Verifying key serialization and add verification to co-noir binary ([#202](https://github.com/TaceoLabs/co-snarks/issues/202)) ([3467425](https://github.com/TaceoLabs/co-snarks/commit/34674255f764f8df1f862d600ebba46314566233)) +* Make builder generic for both shares and plain, add shared proving key and start with MPC prover ([#193](https://github.com/TaceoLabs/co-snarks/issues/193)) ([e3559a0](https://github.com/TaceoLabs/co-snarks/commit/e3559a0a38a61b1de4b29ea9fa820066ed00ddc0)) +* Replace a panic from the ultracircuitbuilder with an Error ([#217](https://github.com/TaceoLabs/co-snarks/issues/217)) ([5d9c870](https://github.com/TaceoLabs/co-snarks/commit/5d9c8703525e90ee3d9215006df527ad6a6ae777)) +* skip creating unnecessary beta products ([118f2bf](https://github.com/TaceoLabs/co-snarks/commit/118f2bf30e97039e72138cf9bf2c63a1544e046a)) +* Update UltraHonk to BB v0.62.0, required to replace zeromorph with shplemini ([#251](https://github.com/TaceoLabs/co-snarks/issues/251)) ([f35cdd4](https://github.com/TaceoLabs/co-snarks/commit/f35cdd490f8a3daa8bb44f6aa502f42147efb4b6)) +* Upgrade UltraHonk to be compatible with Barretenberg v0.55.1 ([#211](https://github.com/TaceoLabs/co-snarks/issues/211)) ([f817d76](https://github.com/TaceoLabs/co-snarks/commit/f817d768760ffbbf6b58489562aed5327567c561)) + + +### Bug Fixes + +* Adapt co-noir binary to handle public noir inputs correctly ([#216](https://github.com/TaceoLabs/co-snarks/issues/216)) ([bed3996](https://github.com/TaceoLabs/co-snarks/commit/bed399621558ca5d2ee22e9bdaa42f14f66b74d9)) +* clippy ([e43534a](https://github.com/TaceoLabs/co-snarks/commit/e43534aafefb4811bdf1f7fe1fa1493ab5c9152d)) +* Fix reading ultrahonk proof ([f16ef68](https://github.com/TaceoLabs/co-snarks/commit/f16ef68663669f5406e1ef789fe8e3817fe27401)) +* simplify path handling in co-noir binary ([26fae55](https://github.com/TaceoLabs/co-snarks/commit/26fae552badf72f8105ce0736e594d2398f1aca5)) + + +### Code Refactoring + +* Move builder to new co-builder crate ([3cd8955](https://github.com/TaceoLabs/co-snarks/commit/3cd89551d9fd58fad994942aa9a9660737db19b8)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * co-builder bumped from 0.1.0 to 0.1.1 + ## [0.2.0](https://github.com/TaceoLabs/co-snarks/compare/ultrahonk-v0.1.0...ultrahonk-v0.2.0) (2024-11-11) diff --git a/co-noir/ultrahonk/Cargo.toml b/co-noir/ultrahonk/Cargo.toml index 136d6d7a..6e27ad22 100644 --- a/co-noir/ultrahonk/Cargo.toml +++ b/co-noir/ultrahonk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ultrahonk" -version = "0.2.0" +version = "0.3.0" publish.workspace = true authors.workspace = true edition.workspace = true @@ -15,7 +15,7 @@ ark-bn254.workspace = true ark-ec.workspace = true ark-ff.workspace = true ark-serialize.workspace = true -co-builder = { version = "0.1.0", path = "../co-builder" } +co-builder = { version = "0.1.1", path = "../co-builder" } eyre.workspace = true itertools.workspace = true noirc-artifacts.workspace = true diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 888db605..db67a8ff 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "tests" -version = "0.1.8" +version = "0.1.9" edition = "2021" publish = false license = "GPL-3.0" # due to circom-mpc-compiler dep @@ -14,16 +14,16 @@ ark-ff = { workspace = true } ark-std = { workspace = true } ark-serialize = { workspace = true } bytes = { workspace = true } -circom-mpc-compiler = { version = "0.7.0", path = "../co-circom/circom-mpc-compiler" } +circom-mpc-compiler = { version = "0.7.1", path = "../co-circom/circom-mpc-compiler" } circom-mpc-vm = { version = "0.5.0", path = "../co-circom/circom-mpc-vm" } circom-types = { version = "0.6.0", path = "../co-circom/circom-types" } -co-acvm = { version = "0.3.0", path = "../co-noir/co-acvm" } +co-acvm = { version = "0.4.0", path = "../co-noir/co-acvm" } co-circom-snarks = { version = "0.2.0", path = "../co-circom/co-circom-snarks" } -co-groth16 = { version = "0.6.0", path = "../co-circom/co-groth16", features = [ +co-groth16 = { version = "0.7.0", path = "../co-circom/co-groth16", features = [ "verifier", ] } -co-plonk = { version = "0.4.0", path = "../co-circom/co-plonk" } -co-ultrahonk = { version = "0.2.0", path = "../co-noir/co-ultrahonk" } +co-plonk = { version = "0.5.0", path = "../co-circom/co-plonk" } +co-ultrahonk = { version = "0.2.1", path = "../co-noir/co-ultrahonk" } criterion = { workspace = true } itertools = { workspace = true } mpc-core = { version = "0.6.0", path = "../mpc-core" }