fix: Fix block constraint key divergence bug.#3256
Conversation
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. Values are compared against data from master at commit 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 16 txs.
Circuits statsStats on running time and I/O sizes collected for every circuit run across all benchmarks.
MiscellaneousTransaction sizes based on how many contracts are deployed in the tx.
|
Maddiaa0
left a comment
There was a problem hiding this comment.
little gotcha when merging master; will defer review to @kevaundray
| auto constraint_system = get_constraint_system(bytecodePath); | ||
| auto witness = get_witness(witnessPath); | ||
| auto acir_composer = init(constraint_system); | ||
| acir_composer.init_proving_key(constraint_system); |
There was a problem hiding this comment.
After a master merge this will have to be removed in main.ts for bb.js
Maddiaa0
left a comment
There was a problem hiding this comment.
kev walked me through it, lgtm
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-packages: 0.15.0</summary> ## [0.15.0](aztec-packages-v0.14.2...aztec-packages-v0.15.0) (2023-11-16) ### ⚠ BREAKING CHANGES * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](#3114)) ### Features * **bb:** Add msan preset ([#3284](#3284)) ([bcf025c](bcf025c)) * Enable merge and root rollup circuits in noir ([#3248](#3248)) ([68555fc](68555fc)) * Protogalaxy combiner quotient ([#3245](#3245)) ([db0f3ab](db0f3ab)) * Public kernel in noir ([#3186](#3186)) ([15a522b](15a522b)) * Ultra honk arith from ultra ([#3274](#3274)) ([ec2b805](ec2b805)) ### Bug Fixes * Debug build ([#3283](#3283)) ([aca2624](aca2624)) * Fix block constraint key divergence bug. ([#3256](#3256)) ([1c71a0c](1c71a0c)) * Main.md typo ([#3278](#3278)) ([cb87c4d](cb87c4d)) * Typo fix roundup ([#3302](#3302)) ([9dd778d](9dd778d)) ### Miscellaneous * **bb:** Remove -Wfatal-errors ([#3318](#3318)) ([4229173](4229173)) * Clarify that barretenberg mirror should not take PRs ([#3303](#3303)) ([13f1a1d](13f1a1d)) * Clean up Plonk widgets ([#3305](#3305)) ([4623d91](4623d91)) * **docs:** Aztec.nr logging page ([#3281](#3281)) ([11e6ca7](11e6ca7)) * **docs:** Update netlify.toml and fix build ([#3304](#3304)) ([df76636](df76636)) * Explicitly instantiate Goblin translator relations ([#3239](#3239)) ([e3b5fb0](e3b5fb0)) * Plain struct flavor entities ([#3277](#3277)) ([f109512](f109512)) * Remove bn254 instantiation of eccvm plus naming changes ([#3330](#3330)) ([23d1e2d](23d1e2d)) * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](#3114)) ([87eeb71](87eeb71)) * Revert build-debug folder for debug preset ([#3324](#3324)) ([43a2e6b](43a2e6b)) * Towards plain struct flavor entities ([#3216](#3216)) ([3ba89cf](3ba89cf)) * Typo fixes based on cspell ([#3319](#3319)) ([8ae44dd](8ae44dd)) </details> <details><summary>barretenberg.js: 0.15.0</summary> ## [0.15.0](barretenberg.js-v0.14.2...barretenberg.js-v0.15.0) (2023-11-16) ### ⚠ BREAKING CHANGES * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](#3114)) ### Bug Fixes * Fix block constraint key divergence bug. ([#3256](#3256)) ([1c71a0c](1c71a0c)) ### Miscellaneous * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](#3114)) ([87eeb71](87eeb71)) * Typo fixes based on cspell ([#3319](#3319)) ([8ae44dd](8ae44dd)) </details> <details><summary>barretenberg: 0.15.0</summary> ## [0.15.0](barretenberg-v0.14.2...barretenberg-v0.15.0) (2023-11-16) ### ⚠ BREAKING CHANGES * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](#3114)) ### Features * **bb:** Add msan preset ([#3284](#3284)) ([bcf025c](bcf025c)) * Protogalaxy combiner quotient ([#3245](#3245)) ([db0f3ab](db0f3ab)) * Ultra honk arith from ultra ([#3274](#3274)) ([ec2b805](ec2b805)) ### Bug Fixes * Debug build ([#3283](#3283)) ([aca2624](aca2624)) * Fix block constraint key divergence bug. ([#3256](#3256)) ([1c71a0c](1c71a0c)) ### Miscellaneous * **bb:** Remove -Wfatal-errors ([#3318](#3318)) ([4229173](4229173)) * Clarify that barretenberg mirror should not take PRs ([#3303](#3303)) ([13f1a1d](13f1a1d)) * Clean up Plonk widgets ([#3305](#3305)) ([4623d91](4623d91)) * Explicitly instantiate Goblin translator relations ([#3239](#3239)) ([e3b5fb0](e3b5fb0)) * Plain struct flavor entities ([#3277](#3277)) ([f109512](f109512)) * Remove bn254 instantiation of eccvm plus naming changes ([#3330](#3330)) ([23d1e2d](23d1e2d)) * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](#3114)) ([87eeb71](87eeb71)) * Revert build-debug folder for debug preset ([#3324](#3324)) ([43a2e6b](43a2e6b)) * Towards plain struct flavor entities ([#3216](#3216)) ([3ba89cf](3ba89cf)) * Typo fixes based on cspell ([#3319](#3319)) ([8ae44dd](8ae44dd)) </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-packages: 0.15.0</summary> ## [0.15.0](AztecProtocol/aztec-packages@aztec-packages-v0.14.2...aztec-packages-v0.15.0) (2023-11-16) ### ⚠ BREAKING CHANGES * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](AztecProtocol/aztec-packages#3114)) ### Features * **bb:** Add msan preset ([#3284](AztecProtocol/aztec-packages#3284)) ([bcf025c](AztecProtocol/aztec-packages@bcf025c)) * Enable merge and root rollup circuits in noir ([#3248](AztecProtocol/aztec-packages#3248)) ([68555fc](AztecProtocol/aztec-packages@68555fc)) * Protogalaxy combiner quotient ([#3245](AztecProtocol/aztec-packages#3245)) ([db0f3ab](AztecProtocol/aztec-packages@db0f3ab)) * Public kernel in noir ([#3186](AztecProtocol/aztec-packages#3186)) ([15a522b](AztecProtocol/aztec-packages@15a522b)) * Ultra honk arith from ultra ([#3274](AztecProtocol/aztec-packages#3274)) ([ec2b805](AztecProtocol/aztec-packages@ec2b805)) ### Bug Fixes * Debug build ([#3283](AztecProtocol/aztec-packages#3283)) ([aca2624](AztecProtocol/aztec-packages@aca2624)) * Fix block constraint key divergence bug. ([#3256](AztecProtocol/aztec-packages#3256)) ([1c71a0c](AztecProtocol/aztec-packages@1c71a0c)) * Main.md typo ([#3278](AztecProtocol/aztec-packages#3278)) ([cb87c4d](AztecProtocol/aztec-packages@cb87c4d)) * Typo fix roundup ([#3302](AztecProtocol/aztec-packages#3302)) ([9dd778d](AztecProtocol/aztec-packages@9dd778d)) ### Miscellaneous * **bb:** Remove -Wfatal-errors ([#3318](AztecProtocol/aztec-packages#3318)) ([4229173](AztecProtocol/aztec-packages@4229173)) * Clarify that barretenberg mirror should not take PRs ([#3303](AztecProtocol/aztec-packages#3303)) ([13f1a1d](AztecProtocol/aztec-packages@13f1a1d)) * Clean up Plonk widgets ([#3305](AztecProtocol/aztec-packages#3305)) ([4623d91](AztecProtocol/aztec-packages@4623d91)) * **docs:** Aztec.nr logging page ([#3281](AztecProtocol/aztec-packages#3281)) ([11e6ca7](AztecProtocol/aztec-packages@11e6ca7)) * **docs:** Update netlify.toml and fix build ([#3304](AztecProtocol/aztec-packages#3304)) ([df76636](AztecProtocol/aztec-packages@df76636)) * Explicitly instantiate Goblin translator relations ([#3239](AztecProtocol/aztec-packages#3239)) ([e3b5fb0](AztecProtocol/aztec-packages@e3b5fb0)) * Plain struct flavor entities ([#3277](AztecProtocol/aztec-packages#3277)) ([f109512](AztecProtocol/aztec-packages@f109512)) * Remove bn254 instantiation of eccvm plus naming changes ([#3330](AztecProtocol/aztec-packages#3330)) ([23d1e2d](AztecProtocol/aztec-packages@23d1e2d)) * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](AztecProtocol/aztec-packages#3114)) ([87eeb71](AztecProtocol/aztec-packages@87eeb71)) * Revert build-debug folder for debug preset ([#3324](AztecProtocol/aztec-packages#3324)) ([43a2e6b](AztecProtocol/aztec-packages@43a2e6b)) * Towards plain struct flavor entities ([#3216](AztecProtocol/aztec-packages#3216)) ([3ba89cf](AztecProtocol/aztec-packages@3ba89cf)) * Typo fixes based on cspell ([#3319](AztecProtocol/aztec-packages#3319)) ([8ae44dd](AztecProtocol/aztec-packages@8ae44dd)) </details> <details><summary>barretenberg.js: 0.15.0</summary> ## [0.15.0](AztecProtocol/aztec-packages@barretenberg.js-v0.14.2...barretenberg.js-v0.15.0) (2023-11-16) ### ⚠ BREAKING CHANGES * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](AztecProtocol/aztec-packages#3114)) ### Bug Fixes * Fix block constraint key divergence bug. ([#3256](AztecProtocol/aztec-packages#3256)) ([1c71a0c](AztecProtocol/aztec-packages@1c71a0c)) ### Miscellaneous * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](AztecProtocol/aztec-packages#3114)) ([87eeb71](AztecProtocol/aztec-packages@87eeb71)) * Typo fixes based on cspell ([#3319](AztecProtocol/aztec-packages#3319)) ([8ae44dd](AztecProtocol/aztec-packages@8ae44dd)) </details> <details><summary>barretenberg: 0.15.0</summary> ## [0.15.0](AztecProtocol/aztec-packages@barretenberg-v0.14.2...barretenberg-v0.15.0) (2023-11-16) ### ⚠ BREAKING CHANGES * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](AztecProtocol/aztec-packages#3114)) ### Features * **bb:** Add msan preset ([#3284](AztecProtocol/aztec-packages#3284)) ([bcf025c](AztecProtocol/aztec-packages@bcf025c)) * Protogalaxy combiner quotient ([#3245](AztecProtocol/aztec-packages#3245)) ([db0f3ab](AztecProtocol/aztec-packages@db0f3ab)) * Ultra honk arith from ultra ([#3274](AztecProtocol/aztec-packages#3274)) ([ec2b805](AztecProtocol/aztec-packages@ec2b805)) ### Bug Fixes * Debug build ([#3283](AztecProtocol/aztec-packages#3283)) ([aca2624](AztecProtocol/aztec-packages@aca2624)) * Fix block constraint key divergence bug. ([#3256](AztecProtocol/aztec-packages#3256)) ([1c71a0c](AztecProtocol/aztec-packages@1c71a0c)) ### Miscellaneous * **bb:** Remove -Wfatal-errors ([#3318](AztecProtocol/aztec-packages#3318)) ([4229173](AztecProtocol/aztec-packages@4229173)) * Clarify that barretenberg mirror should not take PRs ([#3303](AztecProtocol/aztec-packages#3303)) ([13f1a1d](AztecProtocol/aztec-packages@13f1a1d)) * Clean up Plonk widgets ([#3305](AztecProtocol/aztec-packages#3305)) ([4623d91](AztecProtocol/aztec-packages@4623d91)) * Explicitly instantiate Goblin translator relations ([#3239](AztecProtocol/aztec-packages#3239)) ([e3b5fb0](AztecProtocol/aztec-packages@e3b5fb0)) * Plain struct flavor entities ([#3277](AztecProtocol/aztec-packages#3277)) ([f109512](AztecProtocol/aztec-packages@f109512)) * Remove bn254 instantiation of eccvm plus naming changes ([#3330](AztecProtocol/aztec-packages#3330)) ([23d1e2d](AztecProtocol/aztec-packages@23d1e2d)) * Replace computing hashes in circuits wasm, with computing them in ts via bb.js pedersen call. ([#3114](AztecProtocol/aztec-packages#3114)) ([87eeb71](AztecProtocol/aztec-packages@87eeb71)) * Revert build-debug folder for debug preset ([#3324](AztecProtocol/aztec-packages#3324)) ([43a2e6b](AztecProtocol/aztec-packages@43a2e6b)) * Towards plain struct flavor entities ([#3216](AztecProtocol/aztec-packages#3216)) ([3ba89cf](AztecProtocol/aztec-packages@3ba89cf)) * Typo fixes based on cspell ([#3319](AztecProtocol/aztec-packages#3319)) ([8ae44dd](AztecProtocol/aztec-packages@8ae44dd)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
prove_then_verifytest flow, which is used to always exercise the good/bad witness data paths to ensure the resulting keys are the same. This is faster thanall_cmdswhich isn't needed for every test. It's slower thanprove_and_verifywhich uses the single built in command, but that's less safe as it only exercised the bad witness path for circuit construction.