feat: add public teardown to circuit structs#6191
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. Join @just-mitch and the rest of your teammates on |
802db6c to
dd13239
Compare
Docs PreviewHey there! 👋 You can check your preview at https://663533b7c262823d65e88a2d--aztec-docs-dev.netlify.app |
Changes to circuit sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
dd13239 to
408deee
Compare
408deee to
df404fe
Compare
df404fe to
b6ed0bd
Compare
| validation_requests: ValidationRequests, | ||
| end: PrivateAccumulatedData, | ||
| constants: CombinedConstantData, | ||
| public_teardown_call_request: CallRequest, |
There was a problem hiding this comment.
I'm sure we've already discussed it, but remind me: why didn't we make public_teardown_call_request a part of the PrivateAccumulatedData...?
There was a problem hiding this comment.
All good. Because then it would get split off into PublicAccumulatedData, which exists for both end and endNonRevertible. So it's more like revert_code in that it is singular per TX.
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.37.1</summary> ## [0.37.1](aztec-package-v0.37.0...aztec-package-v0.37.1) (2024-05-07) ### Features * Proving benchmark ([#6051](#6051)) ([644bd85](644bd85)) </details> <details><summary>barretenberg.js: 0.37.1</summary> ## [0.37.1](barretenberg.js-v0.37.0...barretenberg.js-v0.37.1) (2024-05-07) ### Features * Honk flows exposed through wasm ([#6096](#6096)) ([c9b3206](c9b3206)) * Run noir-packages-test in Earthly ([#6174](#6174)) ([58e40c9](58e40c9)) ### Miscellaneous * Bump bb.js timeouts ([#6196](#6196)) ([acab3de](acab3de)) * Migrate acir tests to earthly ([#6142](#6142)) ([18c8ea8](18c8ea8)) </details> <details><summary>aztec-packages: 0.37.1</summary> ## [0.37.1](aztec-packages-v0.37.0...aztec-packages-v0.37.1) (2024-05-07) ### Features * Add ciphertext computation for log header ([#6175](#6175)) ([3e05534](3e05534)) * Add proving retries ([#6145](#6145)) ([39ab99c](39ab99c)) * Add public teardown to circuit structs ([#6191](#6191)) ([03e1b93](03e1b93)) * Always including debug data in a function artifact ([#6223](#6223)) ([5d6d22c](5d6d22c)) * **avm:** Add TransactionFee opcode to simulator ([#6210](#6210)) ([fcac844](fcac844)) * Complex outputs from acir call (noir-lang/noir#4952) ([3ed41a0](3ed41a0)) * Expose set_public_teardown_function in private context ([#6199](#6199)) ([4d8b51c](4d8b51c)) * Handle empty response foreign calls without an external resolver (noir-lang/noir#4959) ([3ed41a0](3ed41a0)) * Hash logs inside circuit ([#5934](#5934)) ([6b99527](6b99527)) * Honk flows exposed through wasm ([#6096](#6096)) ([c9b3206](c9b3206)) * Include transaction fee in txreceipt ([#6139](#6139)) ([6785512](6785512)) * Making keys getters complete ([#6171](#6171)) ([e85dde9](e85dde9)) * Move noir-tests to earthly ([#6185](#6185)) ([4daea40](4daea40)) * Note hash read requests fixes and refactoring ([#6125](#6125)) ([9d03f34](9d03f34)) * Optimize array sets in if conditions (alternate version) (noir-lang/noir#4716) ([3ed41a0](3ed41a0)) * Osxcross ([#6099](#6099)) ([6cc924d](6cc924d)) * Parsing non-string assertion payloads in noir js ([#6079](#6079)) ([fbd78fd](fbd78fd)) * Proving benchmark ([#6051](#6051)) ([644bd85](644bd85)) * Proving the private kernels and app circuits ([#6112](#6112)) ([4a43fab](4a43fab)) * Publish transaction_fee ([#6126](#6126)) ([6f3a036](6f3a036)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](#6150)) ([acc8641](acc8641)) * Run noir-packages-test in Earthly ([#6174](#6174)) ([58e40c9](58e40c9)) * Set aztec private functions to be recursive ([#6192](#6192)) ([22625f8](22625f8)) * Use actual tx fee in gas token when charging fee ([#6166](#6166)) ([8418eac](8418eac)) ### Bug Fixes * **abstract-phase-manager:** Get available gas from latest kernel output ([#6102](#6102)) ([0fa509b](0fa509b)) * Aztec-run not exposing port for builder ([#6241](#6241)) ([a80c091](a80c091)) * Boxes use base image ([#6120](#6120)) ([ef2589a](ef2589a)) * Correct circuit size estimation for UltraHonk ([#6164](#6164)) ([ed84fe3](ed84fe3)) * Docs release ci setup ([#6159](#6159)) ([6d5cfe6](6d5cfe6)) * **docs:** Fix broken link in tree implementations page ([#6143](#6143)) ([b39f1db](b39f1db)) * **docs:** Update sandbox reference ([#6094](#6094)) ([0641085](0641085)) * Increase default number of proving agents ([#6146](#6146)) ([5ade36e](5ade36e)) * Install aztec-builder ([#6149](#6149)) ([0497dcf](0497dcf)) * **public-kernel:** Only validate start-gas for execution requests ([#6100](#6100)) ([3ec9303](3ec9303)) * Scope netlify to yarn bin ([#6162](#6162)) ([be8e3c0](be8e3c0)) * Set up the ci runner for doc deployment ([#6160](#6160)) ([e295900](e295900)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](#6218)) ([f4ecea5](f4ecea5)) * Use annotated type when checking declaration (noir-lang/noir#4966) ([3ed41a0](3ed41a0)) * Use pushed build images. ([#6154](#6154)) ([426f7a7](426f7a7)) * Use random id for proving jobs ([#6084](#6084)) ([0e0fc58](0e0fc58)) * Various aztec-builder issues ([#6233](#6233)) ([9a644ba](9a644ba)) ### Miscellaneous * **avm-simulator:** Avm's nested calls now stay internal and properly track PublicExecutionResult ([#6165](#6165)) ([9fd4f39](9fd4f39)) * **avm-simulator:** Make shifts take u8 ([#5905](#5905)) ([4719ff1](4719ff1)) * **avm-simulator:** Track recursive public execution result in avm-simulator for integration with old kernel ([#6106](#6106)) ([df3bcc6](df3bcc6)) * Bump bb.js timeouts ([#6196](#6196)) ([acab3de](acab3de)) * Check root parity is only enqueued once its deps are ready ([#6015](#6015)) ([c1120d1](c1120d1)) * **ci:** Force earthly prune if corrupted cache ([#6152](#6152)) ([3910314](3910314)) * **ci:** Improve dependency structure ([#6200](#6200)) ([3abc862](3abc862)) * **ci:** Migrate `protocol-circuits-gate-diff` to earthly ([#6204](#6204)) ([4b43295](4b43295)) * **ci:** More stable spot request ([#6212](#6212)) ([00156b5](00156b5)) * **ci:** Optimize e2e build ([#6202](#6202)) ([4614059](4614059)) * **ci:** Rollback earthly prune ([#6208](#6208)) ([3ccc6ac](3ccc6ac)) * **ci:** Try to make base image more stable ([#6144](#6144)) ([979a22d](979a22d)) * E2e workaround ([#6158](#6158)) ([7794d78](7794d78)) * Migrate acir tests to earthly ([#6142](#6142)) ([18c8ea8](18c8ea8)) * Rename instruction checks for side effects (noir-lang/noir#4945) ([3ed41a0](3ed41a0)) * Replace relative paths to noir-protocol-circuits ([cf543a6](cf543a6)) * Replace relative paths to noir-protocol-circuits ([53cf7bb](53cf7bb)) * Replace relative paths to noir-protocol-circuits ([ca29cea](ca29cea)) * Replace relative paths to noir-protocol-circuits ([08e538b](08e538b)) * Speedup static_call test ([#6157](#6157)) ([abe8875](abe8875)) * Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) ([3ed41a0](3ed41a0)) * Use correct call type ([#6064](#6064)) ([b3ae289](b3ae289)) ### Documentation * Add GlobalVariables to CombinedConstantData ([#6071](#6071)) ([cf026d2](cf026d2)) * Update fees kernel tracking docs ([#6151](#6151)) ([7d80428](7d80428)) </details> <details><summary>barretenberg: 0.37.1</summary> ## [0.37.1](barretenberg-v0.37.0...barretenberg-v0.37.1) (2024-05-07) ### Features * **avm:** Add TransactionFee opcode to simulator ([#6210](#6210)) ([fcac844](fcac844)) * Honk flows exposed through wasm ([#6096](#6096)) ([c9b3206](c9b3206)) * Osxcross ([#6099](#6099)) ([6cc924d](6cc924d)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](#6150)) ([acc8641](acc8641)) ### Bug Fixes * Correct circuit size estimation for UltraHonk ([#6164](#6164)) ([ed84fe3](ed84fe3)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](#6218)) ([f4ecea5](f4ecea5)) ### Miscellaneous * Migrate acir tests to earthly ([#6142](#6142)) ([18c8ea8](18c8ea8)) </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.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@aztec-package-v0.37.0...aztec-package-v0.37.1) (2024-05-07) ### Features * Proving benchmark ([#6051](AztecProtocol/aztec-packages#6051)) ([644bd85](AztecProtocol/aztec-packages@644bd85)) </details> <details><summary>barretenberg.js: 0.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@barretenberg.js-v0.37.0...barretenberg.js-v0.37.1) (2024-05-07) ### Features * Honk flows exposed through wasm ([#6096](AztecProtocol/aztec-packages#6096)) ([c9b3206](AztecProtocol/aztec-packages@c9b3206)) * Run noir-packages-test in Earthly ([#6174](AztecProtocol/aztec-packages#6174)) ([58e40c9](AztecProtocol/aztec-packages@58e40c9)) ### Miscellaneous * Bump bb.js timeouts ([#6196](AztecProtocol/aztec-packages#6196)) ([acab3de](AztecProtocol/aztec-packages@acab3de)) * Migrate acir tests to earthly ([#6142](AztecProtocol/aztec-packages#6142)) ([18c8ea8](AztecProtocol/aztec-packages@18c8ea8)) </details> <details><summary>aztec-packages: 0.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@aztec-packages-v0.37.0...aztec-packages-v0.37.1) (2024-05-07) ### Features * Add ciphertext computation for log header ([#6175](AztecProtocol/aztec-packages#6175)) ([3e05534](AztecProtocol/aztec-packages@3e05534)) * Add proving retries ([#6145](AztecProtocol/aztec-packages#6145)) ([39ab99c](AztecProtocol/aztec-packages@39ab99c)) * Add public teardown to circuit structs ([#6191](AztecProtocol/aztec-packages#6191)) ([03e1b93](AztecProtocol/aztec-packages@03e1b93)) * Always including debug data in a function artifact ([#6223](AztecProtocol/aztec-packages#6223)) ([5d6d22c](AztecProtocol/aztec-packages@5d6d22c)) * **avm:** Add TransactionFee opcode to simulator ([#6210](AztecProtocol/aztec-packages#6210)) ([fcac844](AztecProtocol/aztec-packages@fcac844)) * Complex outputs from acir call (noir-lang/noir#4952) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Expose set_public_teardown_function in private context ([#6199](AztecProtocol/aztec-packages#6199)) ([4d8b51c](AztecProtocol/aztec-packages@4d8b51c)) * Handle empty response foreign calls without an external resolver (noir-lang/noir#4959) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Hash logs inside circuit ([#5934](AztecProtocol/aztec-packages#5934)) ([6b99527](AztecProtocol/aztec-packages@6b99527)) * Honk flows exposed through wasm ([#6096](AztecProtocol/aztec-packages#6096)) ([c9b3206](AztecProtocol/aztec-packages@c9b3206)) * Include transaction fee in txreceipt ([#6139](AztecProtocol/aztec-packages#6139)) ([6785512](AztecProtocol/aztec-packages@6785512)) * Making keys getters complete ([#6171](AztecProtocol/aztec-packages#6171)) ([e85dde9](AztecProtocol/aztec-packages@e85dde9)) * Move noir-tests to earthly ([#6185](AztecProtocol/aztec-packages#6185)) ([4daea40](AztecProtocol/aztec-packages@4daea40)) * Note hash read requests fixes and refactoring ([#6125](AztecProtocol/aztec-packages#6125)) ([9d03f34](AztecProtocol/aztec-packages@9d03f34)) * Optimize array sets in if conditions (alternate version) (noir-lang/noir#4716) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Osxcross ([#6099](AztecProtocol/aztec-packages#6099)) ([6cc924d](AztecProtocol/aztec-packages@6cc924d)) * Parsing non-string assertion payloads in noir js ([#6079](AztecProtocol/aztec-packages#6079)) ([fbd78fd](AztecProtocol/aztec-packages@fbd78fd)) * Proving benchmark ([#6051](AztecProtocol/aztec-packages#6051)) ([644bd85](AztecProtocol/aztec-packages@644bd85)) * Proving the private kernels and app circuits ([#6112](AztecProtocol/aztec-packages#6112)) ([4a43fab](AztecProtocol/aztec-packages@4a43fab)) * Publish transaction_fee ([#6126](AztecProtocol/aztec-packages#6126)) ([6f3a036](AztecProtocol/aztec-packages@6f3a036)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](AztecProtocol/aztec-packages#6150)) ([acc8641](AztecProtocol/aztec-packages@acc8641)) * Run noir-packages-test in Earthly ([#6174](AztecProtocol/aztec-packages#6174)) ([58e40c9](AztecProtocol/aztec-packages@58e40c9)) * Set aztec private functions to be recursive ([#6192](AztecProtocol/aztec-packages#6192)) ([22625f8](AztecProtocol/aztec-packages@22625f8)) * Use actual tx fee in gas token when charging fee ([#6166](AztecProtocol/aztec-packages#6166)) ([8418eac](AztecProtocol/aztec-packages@8418eac)) ### Bug Fixes * **abstract-phase-manager:** Get available gas from latest kernel output ([#6102](AztecProtocol/aztec-packages#6102)) ([0fa509b](AztecProtocol/aztec-packages@0fa509b)) * Aztec-run not exposing port for builder ([#6241](AztecProtocol/aztec-packages#6241)) ([a80c091](AztecProtocol/aztec-packages@a80c091)) * Boxes use base image ([#6120](AztecProtocol/aztec-packages#6120)) ([ef2589a](AztecProtocol/aztec-packages@ef2589a)) * Correct circuit size estimation for UltraHonk ([#6164](AztecProtocol/aztec-packages#6164)) ([ed84fe3](AztecProtocol/aztec-packages@ed84fe3)) * Docs release ci setup ([#6159](AztecProtocol/aztec-packages#6159)) ([6d5cfe6](AztecProtocol/aztec-packages@6d5cfe6)) * **docs:** Fix broken link in tree implementations page ([#6143](AztecProtocol/aztec-packages#6143)) ([b39f1db](AztecProtocol/aztec-packages@b39f1db)) * **docs:** Update sandbox reference ([#6094](AztecProtocol/aztec-packages#6094)) ([0641085](AztecProtocol/aztec-packages@0641085)) * Increase default number of proving agents ([#6146](AztecProtocol/aztec-packages#6146)) ([5ade36e](AztecProtocol/aztec-packages@5ade36e)) * Install aztec-builder ([#6149](AztecProtocol/aztec-packages#6149)) ([0497dcf](AztecProtocol/aztec-packages@0497dcf)) * **public-kernel:** Only validate start-gas for execution requests ([#6100](AztecProtocol/aztec-packages#6100)) ([3ec9303](AztecProtocol/aztec-packages@3ec9303)) * Scope netlify to yarn bin ([#6162](AztecProtocol/aztec-packages#6162)) ([be8e3c0](AztecProtocol/aztec-packages@be8e3c0)) * Set up the ci runner for doc deployment ([#6160](AztecProtocol/aztec-packages#6160)) ([e295900](AztecProtocol/aztec-packages@e295900)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](AztecProtocol/aztec-packages#6218)) ([f4ecea5](AztecProtocol/aztec-packages@f4ecea5)) * Use annotated type when checking declaration (noir-lang/noir#4966) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Use pushed build images. ([#6154](AztecProtocol/aztec-packages#6154)) ([426f7a7](AztecProtocol/aztec-packages@426f7a7)) * Use random id for proving jobs ([#6084](AztecProtocol/aztec-packages#6084)) ([0e0fc58](AztecProtocol/aztec-packages@0e0fc58)) * Various aztec-builder issues ([#6233](AztecProtocol/aztec-packages#6233)) ([9a644ba](AztecProtocol/aztec-packages@9a644ba)) ### Miscellaneous * **avm-simulator:** Avm's nested calls now stay internal and properly track PublicExecutionResult ([#6165](AztecProtocol/aztec-packages#6165)) ([9fd4f39](AztecProtocol/aztec-packages@9fd4f39)) * **avm-simulator:** Make shifts take u8 ([#5905](AztecProtocol/aztec-packages#5905)) ([4719ff1](AztecProtocol/aztec-packages@4719ff1)) * **avm-simulator:** Track recursive public execution result in avm-simulator for integration with old kernel ([#6106](AztecProtocol/aztec-packages#6106)) ([df3bcc6](AztecProtocol/aztec-packages@df3bcc6)) * Bump bb.js timeouts ([#6196](AztecProtocol/aztec-packages#6196)) ([acab3de](AztecProtocol/aztec-packages@acab3de)) * Check root parity is only enqueued once its deps are ready ([#6015](AztecProtocol/aztec-packages#6015)) ([c1120d1](AztecProtocol/aztec-packages@c1120d1)) * **ci:** Force earthly prune if corrupted cache ([#6152](AztecProtocol/aztec-packages#6152)) ([3910314](AztecProtocol/aztec-packages@3910314)) * **ci:** Improve dependency structure ([#6200](AztecProtocol/aztec-packages#6200)) ([3abc862](AztecProtocol/aztec-packages@3abc862)) * **ci:** Migrate `protocol-circuits-gate-diff` to earthly ([#6204](AztecProtocol/aztec-packages#6204)) ([4b43295](AztecProtocol/aztec-packages@4b43295)) * **ci:** More stable spot request ([#6212](AztecProtocol/aztec-packages#6212)) ([00156b5](AztecProtocol/aztec-packages@00156b5)) * **ci:** Optimize e2e build ([#6202](AztecProtocol/aztec-packages#6202)) ([4614059](AztecProtocol/aztec-packages@4614059)) * **ci:** Rollback earthly prune ([#6208](AztecProtocol/aztec-packages#6208)) ([3ccc6ac](AztecProtocol/aztec-packages@3ccc6ac)) * **ci:** Try to make base image more stable ([#6144](AztecProtocol/aztec-packages#6144)) ([979a22d](AztecProtocol/aztec-packages@979a22d)) * E2e workaround ([#6158](AztecProtocol/aztec-packages#6158)) ([7794d78](AztecProtocol/aztec-packages@7794d78)) * Migrate acir tests to earthly ([#6142](AztecProtocol/aztec-packages#6142)) ([18c8ea8](AztecProtocol/aztec-packages@18c8ea8)) * Rename instruction checks for side effects (noir-lang/noir#4945) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Replace relative paths to noir-protocol-circuits ([cf543a6](AztecProtocol/aztec-packages@cf543a6)) * Replace relative paths to noir-protocol-circuits ([53cf7bb](AztecProtocol/aztec-packages@53cf7bb)) * Replace relative paths to noir-protocol-circuits ([ca29cea](AztecProtocol/aztec-packages@ca29cea)) * Replace relative paths to noir-protocol-circuits ([08e538b](AztecProtocol/aztec-packages@08e538b)) * Speedup static_call test ([#6157](AztecProtocol/aztec-packages#6157)) ([abe8875](AztecProtocol/aztec-packages@abe8875)) * Switch Noir JS to use execute program instead of circuit (noir-lang/noir#4965) ([3ed41a0](AztecProtocol/aztec-packages@3ed41a0)) * Use correct call type ([#6064](AztecProtocol/aztec-packages#6064)) ([b3ae289](AztecProtocol/aztec-packages@b3ae289)) ### Documentation * Add GlobalVariables to CombinedConstantData ([#6071](AztecProtocol/aztec-packages#6071)) ([cf026d2](AztecProtocol/aztec-packages@cf026d2)) * Update fees kernel tracking docs ([#6151](AztecProtocol/aztec-packages#6151)) ([7d80428](AztecProtocol/aztec-packages@7d80428)) </details> <details><summary>barretenberg: 0.37.1</summary> ## [0.37.1](AztecProtocol/aztec-packages@barretenberg-v0.37.0...barretenberg-v0.37.1) (2024-05-07) ### Features * **avm:** Add TransactionFee opcode to simulator ([#6210](AztecProtocol/aztec-packages#6210)) ([fcac844](AztecProtocol/aztec-packages@fcac844)) * Honk flows exposed through wasm ([#6096](AztecProtocol/aztec-packages#6096)) ([c9b3206](AztecProtocol/aztec-packages@c9b3206)) * Osxcross ([#6099](AztecProtocol/aztec-packages#6099)) ([6cc924d](AztecProtocol/aztec-packages@6cc924d)) * Recursive folding verifier and decider as ultra circuits and circuit simulator ([#6150](AztecProtocol/aztec-packages#6150)) ([acc8641](AztecProtocol/aztec-packages@acc8641)) ### Bug Fixes * Correct circuit size estimation for UltraHonk ([#6164](AztecProtocol/aztec-packages#6164)) ([ed84fe3](AztecProtocol/aztec-packages@ed84fe3)) * Sporadic failure of GoblinRecursionTests.Vanilla ([#6218](AztecProtocol/aztec-packages#6218)) ([f4ecea5](AztecProtocol/aztec-packages@f4ecea5)) ### Miscellaneous * Migrate acir tests to earthly ([#6142](AztecProtocol/aztec-packages#6142)) ([18c8ea8](AztecProtocol/aztec-packages@18c8ea8)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

See spec.
Only deviation is that I dropped the notion of PublicConstantData because we were pushing
fee_payerinto it forPublicKernelCircuitPublicInputs, only to lift it back to the top level ofKernelCircuitPublicInputs. So this simplifies the structs a bit.