-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Shplonk revival in ECCVM #7164
Conversation
|
||
/** | ||
* @brief Prover output (claim=([G], r, 0), witness = G(X), proof = [Q]) | ||
* that can be passed on to a univariate opening protocol. | ||
* | ||
* @tparam Curve EC parameters | ||
*/ | ||
template <typename Curve> struct ShplonkProverOutput { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
duplicate of ProverOutputClaim
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'C++ Benchmark'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.05
.
Benchmark suite | Current: 586b941 | Previous: a2b11af | Ratio |
---|---|---|---|
Goblin::merge(t) |
241105489 ns/iter |
200996210 ns/iter |
1.20 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @ludamad @codygunton
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks great. Nice job improving things as you go. Left a few minor comments
barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.hpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/commitment_schemes/shplonk/shplonk.hpp
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/eccvm_recursion/eccvm_recursive_verifier.cpp
Outdated
Show resolved
Hide resolved
Benchmark resultsNo metrics with a significant change found. Detailed resultsAll benchmarks are run on txs on the This benchmark source data is available in JSON format on S3 here. Proof generationEach column represents the number of threads used in proof generation.
L2 block published to L1Each column represents the number of txs on an L2 block published to L1.
L2 chain processingEach column represents the number of blocks on the L2 chain where each block has 8 txs.
Circuits statsStats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.
Stats on running time collected for app circuits
AVM SimulationTime to simulate various public functions in the AVM.
Public DB AccessTime to access various public DBs.
Tree insertion statsThe duration to insert a fixed batch of leaves into each tree type.
MiscellaneousTransaction sizes based on how many contract classes are registered in the tx.
Transaction size based on fee payment method | Metric | | |
@@ -974,8 +974,7 @@ void AvmProver::execute_pcs_rounds() | |||
sumcheck_output.challenge, | |||
commitment_key, | |||
transcript); | |||
PCS::compute_opening_proof( | |||
commitment_key, prover_opening_claim.opening_pair, prover_opening_claim.polynomial, transcript); | |||
PCS::compute_opening_proof(commitment_key, prover_opening_claim, transcript); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will break when regenerating. You've been modifying a generated file. (also when this was renamed from zeromorph to PCS).
The generator is here:
void {name}Prover::execute_zeromorph_rounds() |
I know it might be a bit beyond your scope to modify the generator. In that case please do ping us so that we do it ourselves.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apologies, would be great if you're able to modify this; also this is the last PR in which I'm tinkering with functions that might require modifying the generation for now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm told that it was agreed that we'd rely on the CODEOWNERS to notify us, so nothing is needed from you. Looks like we were just a bit delayed and that I didn't know this. Apologies!
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.44.0</summary> ## [0.44.0](aztec-package-v0.43.0...aztec-package-v0.44.0) (2024-06-26) ### Features * Add OpenTelemetry to node ([#7102](#7102)) ([6bf2b72](6bf2b72)) * Devnet deployments ([#7024](#7024)) ([fa70876](fa70876)) * Track spans ([#7129](#7129)) ([924c3f8](924c3f8)) </details> <details><summary>barretenberg.js: 0.44.0</summary> ## [0.44.0](barretenberg.js-v0.43.0...barretenberg.js-v0.44.0) (2024-06-26) ### Bug Fixes * False decryption fix ([#7066](#7066)) ([48d9df4](48d9df4)) </details> <details><summary>aztec-packages: 0.44.0</summary> ## [0.44.0](aztec-packages-v0.43.0...aztec-packages-v0.44.0) (2024-06-26) ### ⚠ BREAKING CHANGES * make note_getter return BoundedVec instead of an Option array ([#7050](#7050)) * TXE ([#6985](#6985)) ### Features * Add macro impls for events ([#7081](#7081)) ([c13dd9f](c13dd9f)) * Add OpenTelemetry to node ([#7102](#7102)) ([6bf2b72](6bf2b72)) * Added prove_output_all flow for honk ([#6869](#6869)) ([7bd7c66](7bd7c66)) * **avm:** Add ECC ops to avm_proving_test ([#7058](#7058)) ([7f62a90](7f62a90)) * **avm:** Cpp msm changes ([#7056](#7056)) ([f9c8f20](f9c8f20)) * **avm:** Include bb-pilcom in monorepo ([#7098](#7098)) ([0442158](0442158)) * Constrain event encryption and unify note and event emit api ([#7171](#7171)) ([5c3772f](5c3772f)), closes [#7160](#7160) * Conventional lookups using log-deriv ([#7020](#7020)) ([6f1212f](6f1212f)) * Devnet deployments ([#7024](#7024)) ([fa70876](fa70876)) * Do not discard logs on revert since the kernel has pruned revertible logs. ([#7076](#7076)) ([366fb21](366fb21)), closes [#4712](#4712) * **docs:** Publish PDF of protocol specs + remove links to pages in item lists in protocol specs ([#6684](#6684)) ([367e3cf](367e3cf)) * Enable merge recursive verifier in Goblin recursive verifier ([#7182](#7182)) ([9b4f56c](9b4f56c)) * Flamegraph helper script ([#7077](#7077)) ([8630c8f](8630c8f)) * Full test skips public simulation ([#7186](#7186)) ([4c1997f](4c1997f)) * Make note_getter return BoundedVec instead of an Option array ([#7050](#7050)) ([f9ac0fc](f9ac0fc)) * **p2p:** More comprehensive peer management, dial retries, persistence fix ([#6953](#6953)) ([cdd1cbd](cdd1cbd)) * Private authwit with static call ([#7073](#7073)) ([9c52d47](9c52d47)) * Several updates in SMT verification module ([#7105](#7105)) ([41b21f1](41b21f1)) * Shplonk revival in ECCVM ([#7164](#7164)) ([34eb5a0](34eb5a0)) * Throwing errors in `BufferReader` when out of bounds ([#7149](#7149)) ([bf4a986](bf4a986)) * Track spans ([#7129](#7129)) ([924c3f8](924c3f8)) * TXE ([#6985](#6985)) ([109624f](109624f)) * TXE 2: Electric boogaloo ([#7154](#7154)) ([bb38246](bb38246)) ### Bug Fixes * **avm:** Fix unencryptedlog c++ deser ([#7194](#7194)) ([89a99af](89a99af)) * **avm:** Re-enable ext call test ([#7147](#7147)) ([33ccf1b](33ccf1b)) * **avm:** Reenable tag error sload ([#7153](#7153)) ([fd92d46](fd92d46)) * **avm:** Update codegen ([#7178](#7178)) ([1d29708](1d29708)) * Bug fixing bench prover test ([#7135](#7135)) ([13678be](13678be)), closes [#7080](#7080) * **ci:** Don't run npm_deploy l1-contracts ([#7187](#7187)) ([80d26d8](80d26d8)) * **ci:** Move osxcross from build image ([#7151](#7151)) ([7746363](7746363)) * Enable log filtering with the DEBUG variable ([#7150](#7150)) ([33798b6](33798b6)) * Export event selector and replace function selector with event selector where appropriate ([#7095](#7095)) ([fcc15fa](fcc15fa)), closes [#7089](#7089) * False decryption fix ([#7066](#7066)) ([48d9df4](48d9df4)) * Fix bug for a unit test in full proving mode repated to MSM ([#7104](#7104)) ([e37809b](e37809b)) ### Miscellaneous * `destroy_note(...)` optimization ([#7103](#7103)) ([0770011](0770011)) * Add avm team as codeowners to more repo files ([#7196](#7196)) ([9be0ad6](9be0ad6)) * **avm:** Remove avm prefix from pil and executor ([#7099](#7099)) ([b502fcd](b502fcd)) * **avm:** Renamings and comments ([#7128](#7128)) ([ed2f98e](ed2f98e)) * **avm:** Separate some fixed tables ([#7163](#7163)) ([1d4a9a2](1d4a9a2)) * **ci:** Add new e2e base target ([#7179](#7179)) ([26fc599](26fc599)) * Create workflow for full AVM tests ([#7051](#7051)) ([a0b9c4b](a0b9c4b)), closes [#6643](#6643) * **docs:** Fix migration notes ([#7195](#7195)) ([88efda0](88efda0)) * **docs:** Moving tutorials and quick starts around, spinning off codespaces page ([#6777](#6777)) ([1542fa6](1542fa6)) * Fix migration notes ([#7133](#7133)) ([14917d3](14917d3)) * Fix noir-projects dockerfile for CircleCI ([#7093](#7093)) ([52ce25d](52ce25d)) * Increase the timeout of the runner for full AVM workflow to 70 minutes ([#7183](#7183)) ([9aabc32](9aabc32)) * Indirects and read/write slices ([#7082](#7082)) ([d5e80ee](d5e80ee)) * Note hashes cleanup + optimization ([#7132](#7132)) ([edd6d3f](edd6d3f)) * Note hashing gate optimizations ([#7130](#7130)) ([81a2580](81a2580)) * **powdr:** Update to latest and add logging ([#7152](#7152)) ([f500f2e](f500f2e)) * Reads the return data ([#6669](#6669)) ([ef85542](ef85542)) * Refactor AVM simulator's side-effect tracing ([#7091](#7091)) ([9495413](9495413)) * Remove stray files ([#7158](#7158)) ([29398de](29398de)) * Remove unneeded public input folding ([#7094](#7094)) ([c30dc38](c30dc38)) * Replace relative paths to noir-protocol-circuits ([f7e4392](f7e4392)) * Replace relative paths to noir-protocol-circuits ([886f7b1](886f7b1)) * Replace relative paths to noir-protocol-circuits ([b1081f8](b1081f8)) * Replace relative paths to noir-protocol-circuits ([c0989eb](c0989eb)) * Replace relative paths to noir-protocol-circuits ([525bbe7](525bbe7)) * Replace relative paths to noir-protocol-circuits ([67bcd82](67bcd82)) * Take the PCS out of Zeromorph and refactor tests ([#7078](#7078)) ([e192678](e192678)) * Track avm proving time ([#7084](#7084)) ([59df722](59df722)) * Ultra flavor cleanup ([#7070](#7070)) ([77761c6](77761c6)) </details> <details><summary>barretenberg: 0.44.0</summary> ## [0.44.0](barretenberg-v0.43.0...barretenberg-v0.44.0) (2024-06-26) ### Features * Added prove_output_all flow for honk ([#6869](#6869)) ([7bd7c66](7bd7c66)) * **avm:** Add ECC ops to avm_proving_test ([#7058](#7058)) ([7f62a90](7f62a90)) * **avm:** Cpp msm changes ([#7056](#7056)) ([f9c8f20](f9c8f20)) * **avm:** Include bb-pilcom in monorepo ([#7098](#7098)) ([0442158](0442158)) * Conventional lookups using log-deriv ([#7020](#7020)) ([6f1212f](6f1212f)) * Enable merge recursive verifier in Goblin recursive verifier ([#7182](#7182)) ([9b4f56c](9b4f56c)) * Several updates in SMT verification module ([#7105](#7105)) ([41b21f1](41b21f1)) * Shplonk revival in ECCVM ([#7164](#7164)) ([34eb5a0](34eb5a0)) ### Bug Fixes * **avm:** Fix unencryptedlog c++ deser ([#7194](#7194)) ([89a99af](89a99af)) * **avm:** Re-enable ext call test ([#7147](#7147)) ([33ccf1b](33ccf1b)) * **avm:** Reenable tag error sload ([#7153](#7153)) ([fd92d46](fd92d46)) * **avm:** Update codegen ([#7178](#7178)) ([1d29708](1d29708)) * Bug fixing bench prover test ([#7135](#7135)) ([13678be](13678be)), closes [#7080](#7080) * Fix bug for a unit test in full proving mode repated to MSM ([#7104](#7104)) ([e37809b](e37809b)) ### Miscellaneous * **avm:** Remove avm prefix from pil and executor ([#7099](#7099)) ([b502fcd](b502fcd)) * **avm:** Renamings and comments ([#7128](#7128)) ([ed2f98e](ed2f98e)) * **avm:** Separate some fixed tables ([#7163](#7163)) ([1d4a9a2](1d4a9a2)) * Create workflow for full AVM tests ([#7051](#7051)) ([a0b9c4b](a0b9c4b)), closes [#6643](#6643) * Indirects and read/write slices ([#7082](#7082)) ([d5e80ee](d5e80ee)) * Reads the return data ([#6669](#6669)) ([ef85542](ef85542)) * Remove unneeded public input folding ([#7094](#7094)) ([c30dc38](c30dc38)) * Take the PCS out of Zeromorph and refactor tests ([#7078](#7078)) ([e192678](e192678)) * Ultra flavor cleanup ([#7070](#7070)) ([77761c6](77761c6)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.44.0</summary> ## [0.44.0](AztecProtocol/aztec-packages@aztec-package-v0.43.0...aztec-package-v0.44.0) (2024-06-26) ### Features * Add OpenTelemetry to node ([#7102](AztecProtocol/aztec-packages#7102)) ([6bf2b72](AztecProtocol/aztec-packages@6bf2b72)) * Devnet deployments ([#7024](AztecProtocol/aztec-packages#7024)) ([fa70876](AztecProtocol/aztec-packages@fa70876)) * Track spans ([#7129](AztecProtocol/aztec-packages#7129)) ([924c3f8](AztecProtocol/aztec-packages@924c3f8)) </details> <details><summary>barretenberg.js: 0.44.0</summary> ## [0.44.0](AztecProtocol/aztec-packages@barretenberg.js-v0.43.0...barretenberg.js-v0.44.0) (2024-06-26) ### Bug Fixes * False decryption fix ([#7066](AztecProtocol/aztec-packages#7066)) ([48d9df4](AztecProtocol/aztec-packages@48d9df4)) </details> <details><summary>aztec-packages: 0.44.0</summary> ## [0.44.0](AztecProtocol/aztec-packages@aztec-packages-v0.43.0...aztec-packages-v0.44.0) (2024-06-26) ### ⚠ BREAKING CHANGES * make note_getter return BoundedVec instead of an Option array ([#7050](AztecProtocol/aztec-packages#7050)) * TXE ([#6985](AztecProtocol/aztec-packages#6985)) ### Features * Add macro impls for events ([#7081](AztecProtocol/aztec-packages#7081)) ([c13dd9f](AztecProtocol/aztec-packages@c13dd9f)) * Add OpenTelemetry to node ([#7102](AztecProtocol/aztec-packages#7102)) ([6bf2b72](AztecProtocol/aztec-packages@6bf2b72)) * Added prove_output_all flow for honk ([#6869](AztecProtocol/aztec-packages#6869)) ([7bd7c66](AztecProtocol/aztec-packages@7bd7c66)) * **avm:** Add ECC ops to avm_proving_test ([#7058](AztecProtocol/aztec-packages#7058)) ([7f62a90](AztecProtocol/aztec-packages@7f62a90)) * **avm:** Cpp msm changes ([#7056](AztecProtocol/aztec-packages#7056)) ([f9c8f20](AztecProtocol/aztec-packages@f9c8f20)) * **avm:** Include bb-pilcom in monorepo ([#7098](AztecProtocol/aztec-packages#7098)) ([0442158](AztecProtocol/aztec-packages@0442158)) * Constrain event encryption and unify note and event emit api ([#7171](AztecProtocol/aztec-packages#7171)) ([5c3772f](AztecProtocol/aztec-packages@5c3772f)), closes [#7160](AztecProtocol/aztec-packages#7160) * Conventional lookups using log-deriv ([#7020](AztecProtocol/aztec-packages#7020)) ([6f1212f](AztecProtocol/aztec-packages@6f1212f)) * Devnet deployments ([#7024](AztecProtocol/aztec-packages#7024)) ([fa70876](AztecProtocol/aztec-packages@fa70876)) * Do not discard logs on revert since the kernel has pruned revertible logs. ([#7076](AztecProtocol/aztec-packages#7076)) ([366fb21](AztecProtocol/aztec-packages@366fb21)), closes [#4712](AztecProtocol/aztec-packages#4712) * **docs:** Publish PDF of protocol specs + remove links to pages in item lists in protocol specs ([#6684](AztecProtocol/aztec-packages#6684)) ([367e3cf](AztecProtocol/aztec-packages@367e3cf)) * Enable merge recursive verifier in Goblin recursive verifier ([#7182](AztecProtocol/aztec-packages#7182)) ([9b4f56c](AztecProtocol/aztec-packages@9b4f56c)) * Flamegraph helper script ([#7077](AztecProtocol/aztec-packages#7077)) ([8630c8f](AztecProtocol/aztec-packages@8630c8f)) * Full test skips public simulation ([#7186](AztecProtocol/aztec-packages#7186)) ([4c1997f](AztecProtocol/aztec-packages@4c1997f)) * Make note_getter return BoundedVec instead of an Option array ([#7050](AztecProtocol/aztec-packages#7050)) ([f9ac0fc](AztecProtocol/aztec-packages@f9ac0fc)) * **p2p:** More comprehensive peer management, dial retries, persistence fix ([#6953](AztecProtocol/aztec-packages#6953)) ([cdd1cbd](AztecProtocol/aztec-packages@cdd1cbd)) * Private authwit with static call ([#7073](AztecProtocol/aztec-packages#7073)) ([9c52d47](AztecProtocol/aztec-packages@9c52d47)) * Several updates in SMT verification module ([#7105](AztecProtocol/aztec-packages#7105)) ([41b21f1](AztecProtocol/aztec-packages@41b21f1)) * Shplonk revival in ECCVM ([#7164](AztecProtocol/aztec-packages#7164)) ([34eb5a0](AztecProtocol/aztec-packages@34eb5a0)) * Throwing errors in `BufferReader` when out of bounds ([#7149](AztecProtocol/aztec-packages#7149)) ([bf4a986](AztecProtocol/aztec-packages@bf4a986)) * Track spans ([#7129](AztecProtocol/aztec-packages#7129)) ([924c3f8](AztecProtocol/aztec-packages@924c3f8)) * TXE ([#6985](AztecProtocol/aztec-packages#6985)) ([109624f](AztecProtocol/aztec-packages@109624f)) * TXE 2: Electric boogaloo ([#7154](AztecProtocol/aztec-packages#7154)) ([bb38246](AztecProtocol/aztec-packages@bb38246)) ### Bug Fixes * **avm:** Fix unencryptedlog c++ deser ([#7194](AztecProtocol/aztec-packages#7194)) ([89a99af](AztecProtocol/aztec-packages@89a99af)) * **avm:** Re-enable ext call test ([#7147](AztecProtocol/aztec-packages#7147)) ([33ccf1b](AztecProtocol/aztec-packages@33ccf1b)) * **avm:** Reenable tag error sload ([#7153](AztecProtocol/aztec-packages#7153)) ([fd92d46](AztecProtocol/aztec-packages@fd92d46)) * **avm:** Update codegen ([#7178](AztecProtocol/aztec-packages#7178)) ([1d29708](AztecProtocol/aztec-packages@1d29708)) * Bug fixing bench prover test ([#7135](AztecProtocol/aztec-packages#7135)) ([13678be](AztecProtocol/aztec-packages@13678be)), closes [#7080](AztecProtocol/aztec-packages#7080) * **ci:** Don't run npm_deploy l1-contracts ([#7187](AztecProtocol/aztec-packages#7187)) ([80d26d8](AztecProtocol/aztec-packages@80d26d8)) * **ci:** Move osxcross from build image ([#7151](AztecProtocol/aztec-packages#7151)) ([7746363](AztecProtocol/aztec-packages@7746363)) * Enable log filtering with the DEBUG variable ([#7150](AztecProtocol/aztec-packages#7150)) ([33798b6](AztecProtocol/aztec-packages@33798b6)) * Export event selector and replace function selector with event selector where appropriate ([#7095](AztecProtocol/aztec-packages#7095)) ([fcc15fa](AztecProtocol/aztec-packages@fcc15fa)), closes [#7089](AztecProtocol/aztec-packages#7089) * False decryption fix ([#7066](AztecProtocol/aztec-packages#7066)) ([48d9df4](AztecProtocol/aztec-packages@48d9df4)) * Fix bug for a unit test in full proving mode repated to MSM ([#7104](AztecProtocol/aztec-packages#7104)) ([e37809b](AztecProtocol/aztec-packages@e37809b)) ### Miscellaneous * `destroy_note(...)` optimization ([#7103](AztecProtocol/aztec-packages#7103)) ([0770011](AztecProtocol/aztec-packages@0770011)) * Add avm team as codeowners to more repo files ([#7196](AztecProtocol/aztec-packages#7196)) ([9be0ad6](AztecProtocol/aztec-packages@9be0ad6)) * **avm:** Remove avm prefix from pil and executor ([#7099](AztecProtocol/aztec-packages#7099)) ([b502fcd](AztecProtocol/aztec-packages@b502fcd)) * **avm:** Renamings and comments ([#7128](AztecProtocol/aztec-packages#7128)) ([ed2f98e](AztecProtocol/aztec-packages@ed2f98e)) * **avm:** Separate some fixed tables ([#7163](AztecProtocol/aztec-packages#7163)) ([1d4a9a2](AztecProtocol/aztec-packages@1d4a9a2)) * **ci:** Add new e2e base target ([#7179](AztecProtocol/aztec-packages#7179)) ([26fc599](AztecProtocol/aztec-packages@26fc599)) * Create workflow for full AVM tests ([#7051](AztecProtocol/aztec-packages#7051)) ([a0b9c4b](AztecProtocol/aztec-packages@a0b9c4b)), closes [#6643](AztecProtocol/aztec-packages#6643) * **docs:** Fix migration notes ([#7195](AztecProtocol/aztec-packages#7195)) ([88efda0](AztecProtocol/aztec-packages@88efda0)) * **docs:** Moving tutorials and quick starts around, spinning off codespaces page ([#6777](AztecProtocol/aztec-packages#6777)) ([1542fa6](AztecProtocol/aztec-packages@1542fa6)) * Fix migration notes ([#7133](AztecProtocol/aztec-packages#7133)) ([14917d3](AztecProtocol/aztec-packages@14917d3)) * Fix noir-projects dockerfile for CircleCI ([#7093](AztecProtocol/aztec-packages#7093)) ([52ce25d](AztecProtocol/aztec-packages@52ce25d)) * Increase the timeout of the runner for full AVM workflow to 70 minutes ([#7183](AztecProtocol/aztec-packages#7183)) ([9aabc32](AztecProtocol/aztec-packages@9aabc32)) * Indirects and read/write slices ([#7082](AztecProtocol/aztec-packages#7082)) ([d5e80ee](AztecProtocol/aztec-packages@d5e80ee)) * Note hashes cleanup + optimization ([#7132](AztecProtocol/aztec-packages#7132)) ([edd6d3f](AztecProtocol/aztec-packages@edd6d3f)) * Note hashing gate optimizations ([#7130](AztecProtocol/aztec-packages#7130)) ([81a2580](AztecProtocol/aztec-packages@81a2580)) * **powdr:** Update to latest and add logging ([#7152](AztecProtocol/aztec-packages#7152)) ([f500f2e](AztecProtocol/aztec-packages@f500f2e)) * Reads the return data ([#6669](AztecProtocol/aztec-packages#6669)) ([ef85542](AztecProtocol/aztec-packages@ef85542)) * Refactor AVM simulator's side-effect tracing ([#7091](AztecProtocol/aztec-packages#7091)) ([9495413](AztecProtocol/aztec-packages@9495413)) * Remove stray files ([#7158](AztecProtocol/aztec-packages#7158)) ([29398de](AztecProtocol/aztec-packages@29398de)) * Remove unneeded public input folding ([#7094](AztecProtocol/aztec-packages#7094)) ([c30dc38](AztecProtocol/aztec-packages@c30dc38)) * Replace relative paths to noir-protocol-circuits ([f7e4392](AztecProtocol/aztec-packages@f7e4392)) * Replace relative paths to noir-protocol-circuits ([886f7b1](AztecProtocol/aztec-packages@886f7b1)) * Replace relative paths to noir-protocol-circuits ([b1081f8](AztecProtocol/aztec-packages@b1081f8)) * Replace relative paths to noir-protocol-circuits ([c0989eb](AztecProtocol/aztec-packages@c0989eb)) * Replace relative paths to noir-protocol-circuits ([525bbe7](AztecProtocol/aztec-packages@525bbe7)) * Replace relative paths to noir-protocol-circuits ([67bcd82](AztecProtocol/aztec-packages@67bcd82)) * Take the PCS out of Zeromorph and refactor tests ([#7078](AztecProtocol/aztec-packages#7078)) ([e192678](AztecProtocol/aztec-packages@e192678)) * Track avm proving time ([#7084](AztecProtocol/aztec-packages#7084)) ([59df722](AztecProtocol/aztec-packages@59df722)) * Ultra flavor cleanup ([#7070](AztecProtocol/aztec-packages#7070)) ([77761c6](AztecProtocol/aztec-packages@77761c6)) </details> <details><summary>barretenberg: 0.44.0</summary> ## [0.44.0](AztecProtocol/aztec-packages@barretenberg-v0.43.0...barretenberg-v0.44.0) (2024-06-26) ### Features * Added prove_output_all flow for honk ([#6869](AztecProtocol/aztec-packages#6869)) ([7bd7c66](AztecProtocol/aztec-packages@7bd7c66)) * **avm:** Add ECC ops to avm_proving_test ([#7058](AztecProtocol/aztec-packages#7058)) ([7f62a90](AztecProtocol/aztec-packages@7f62a90)) * **avm:** Cpp msm changes ([#7056](AztecProtocol/aztec-packages#7056)) ([f9c8f20](AztecProtocol/aztec-packages@f9c8f20)) * **avm:** Include bb-pilcom in monorepo ([#7098](AztecProtocol/aztec-packages#7098)) ([0442158](AztecProtocol/aztec-packages@0442158)) * Conventional lookups using log-deriv ([#7020](AztecProtocol/aztec-packages#7020)) ([6f1212f](AztecProtocol/aztec-packages@6f1212f)) * Enable merge recursive verifier in Goblin recursive verifier ([#7182](AztecProtocol/aztec-packages#7182)) ([9b4f56c](AztecProtocol/aztec-packages@9b4f56c)) * Several updates in SMT verification module ([#7105](AztecProtocol/aztec-packages#7105)) ([41b21f1](AztecProtocol/aztec-packages@41b21f1)) * Shplonk revival in ECCVM ([#7164](AztecProtocol/aztec-packages#7164)) ([34eb5a0](AztecProtocol/aztec-packages@34eb5a0)) ### Bug Fixes * **avm:** Fix unencryptedlog c++ deser ([#7194](AztecProtocol/aztec-packages#7194)) ([89a99af](AztecProtocol/aztec-packages@89a99af)) * **avm:** Re-enable ext call test ([#7147](AztecProtocol/aztec-packages#7147)) ([33ccf1b](AztecProtocol/aztec-packages@33ccf1b)) * **avm:** Reenable tag error sload ([#7153](AztecProtocol/aztec-packages#7153)) ([fd92d46](AztecProtocol/aztec-packages@fd92d46)) * **avm:** Update codegen ([#7178](AztecProtocol/aztec-packages#7178)) ([1d29708](AztecProtocol/aztec-packages@1d29708)) * Bug fixing bench prover test ([#7135](AztecProtocol/aztec-packages#7135)) ([13678be](AztecProtocol/aztec-packages@13678be)), closes [#7080](AztecProtocol/aztec-packages#7080) * Fix bug for a unit test in full proving mode repated to MSM ([#7104](AztecProtocol/aztec-packages#7104)) ([e37809b](AztecProtocol/aztec-packages@e37809b)) ### Miscellaneous * **avm:** Remove avm prefix from pil and executor ([#7099](AztecProtocol/aztec-packages#7099)) ([b502fcd](AztecProtocol/aztec-packages@b502fcd)) * **avm:** Renamings and comments ([#7128](AztecProtocol/aztec-packages#7128)) ([ed2f98e](AztecProtocol/aztec-packages@ed2f98e)) * **avm:** Separate some fixed tables ([#7163](AztecProtocol/aztec-packages#7163)) ([1d4a9a2](AztecProtocol/aztec-packages@1d4a9a2)) * Create workflow for full AVM tests ([#7051](AztecProtocol/aztec-packages#7051)) ([a0b9c4b](AztecProtocol/aztec-packages@a0b9c4b)), closes [#6643](AztecProtocol/aztec-packages#6643) * Indirects and read/write slices ([#7082](AztecProtocol/aztec-packages#7082)) ([d5e80ee](AztecProtocol/aztec-packages@d5e80ee)) * Reads the return data ([#6669](AztecProtocol/aztec-packages#6669)) ([ef85542](AztecProtocol/aztec-packages@ef85542)) * Remove unneeded public input folding ([#7094](AztecProtocol/aztec-packages#7094)) ([c30dc38](AztecProtocol/aztec-packages@c30dc38)) * Take the PCS out of Zeromorph and refactor tests ([#7078](AztecProtocol/aztec-packages#7078)) ([e192678](AztecProtocol/aztec-packages@e192678)) * Ultra flavor cleanup ([#7070](AztecProtocol/aztec-packages#7070)) ([77761c6](AztecProtocol/aztec-packages@77761c6)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Refactor Shplonk to have better encapsulated functionality on proving side and integrate it in ECCVM. Until now, we performed two IPA rounds in ECCVM, the second one necessary to ensure the consistency of transcript polynomials. We introduce Shplonk to batch the two opening claims and perform one round of IPA which reduces the number of constraints by ~5 million constraints in the ClientIVCRecursiveVerifier. The branch also includes small refactorings in ECCVM prover and verifier.
(number of gates produced by running the
prove_tube
flow in branch and master)