-
Notifications
You must be signed in to change notification settings - Fork 310
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: optimizing contract with config pattern #11756
feat: optimizing contract with config pattern #11756
Conversation
6f11f09
to
98c0571
Compare
dd8cef5
to
c1bb90d
Compare
fn get_portal_address() -> EthAddress { | ||
storage.portal_address.read() | ||
#[view] | ||
fn get_config() -> Config { |
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.
Replaced get_portal_address
and get_token
funcs to a single get_config
as it it declutters this contract and it also results in optimizations in uniswap contract because there we need both values in a single function.
|
||
// docs:start:call_assert_token_is_same | ||
// Assert that user provided token address is same as seen in storage. | ||
TokenBridge::at(context.this_address())._assert_token_is_same(token).enqueue(&mut context); |
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 think this was done before we were able to read public storage from private. I just replaced that with the inlined assert above.
assert( | ||
input_asset.eq(input_asset_bridge_config.token), | ||
"input_asset address is not the same as seen in the bridge contract", | ||
); |
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.
Same as in token bridge I think this was done before we were able to read public storage from private. I just replaced that with the inlined assert above.
Docs PreviewHey there! 👋 You can check your preview at https://67a4a6fb8ea2d40e21181919--aztec-docs-dev.netlify.app |
Changes to public function bytecode sizes
🧾 Summary (100% most significant diffs)
Full diff report 👇
|
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.
Love it, looks pretty ! ➕
/// use std::meta::derive; | ||
/// | ||
/// #[derive(Eq, Packable)] | ||
/// pub struct Config \{ |
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.
?
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.
If there was not the back slash it made docs compilation explode. Please don't ask me why
noir-projects/noir-contracts/contracts/app_subscription_contract/src/config.nr
Outdated
Show resolved
Hide resolved
8d1b517
to
c386ccf
Compare
4987b01
to
2e11232
Compare
2e11232
to
fa9c3e7
Compare
…ct/src/config.nr Co-authored-by: Nicolás Venturo <[email protected]>
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.76.0</summary> ## [0.76.0](aztec-package-v0.75.0...aztec-package-v0.76.0) (2025-02-10) ### Features * **spartan:** Blob sink in spartan ([#11307](#11307)) ([d8e5bcc](d8e5bcc)) ### Miscellaneous * Check versioning ([#11611](#11611)) ([b33f1da](b33f1da)) * **p2p:** Remove min peers option ([#11789](#11789)) ([cfb6797](cfb6797)) </details> <details><summary>barretenberg.js: 0.76.0</summary> ## [0.76.0](barretenberg.js-v0.75.0...barretenberg.js-v0.76.0) (2025-02-10) ### Bug Fixes * **bb.js:** Make wasm imports bundleable ([#11812](#11812)) ([1af69a9](1af69a9)) * Remove unnecessary console.log ([#11810](#11810)) ([8a320bf](8a320bf)) </details> <details><summary>aztec-packages: 0.76.0</summary> ## [0.76.0](aztec-packages-v0.75.0...aztec-packages-v0.76.0) (2025-02-10) ### ⚠ BREAKING CHANGES * check abi integer input is within signed range (noir-lang/noir#7316) * using `WithHash<T>` in `SharedMutable` + fixing slot allocation ([#11716](#11716)) ### Features * `assert` and `assert_eq` are now expressions (noir-lang/noir#7313) ([b883911](b883911)) * `assert` and `assert_eq` are now expressions (noir-lang/noir#7313) ([3840e8e](3840e8e)) * **avm:** Add skippable condition for interactions ([#11800](#11800)) ([67aec61](67aec61)) * **avm:** Range check opt via aliases ([#11846](#11846)) ([ce6a5bf](ce6a5bf)) * **avm:** Restrict bytecode bytes ([#11798](#11798)) ([be382bc](be382bc)) * **aztec-nr:** Do not compile functions with a private public macro and unconstrained ([#11815](#11815)) ([afb52e3](afb52e3)) * **blob-lib:** Make blob lib and fix encoding test flake ([#11782](#11782)) ([753f505](753f505)) * Broker sends back job after accepting result ([#11754](#11754)) ([62e5de7](62e5de7)) * **docs:** Notes page ([#11746](#11746)) ([117200e](117200e)) * **docs:** Reindex typesense in CI ([#11791](#11791)) ([6af8d54](6af8d54)) * Infer lambda parameter types from return type and let type (noir-lang/noir#7267) ([b883911](b883911)) * Infer lambda parameter types from return type and let type (noir-lang/noir#7267) ([3840e8e](3840e8e)) * Optimizing contract with config pattern ([#11756](#11756)) ([7820cb7](7820cb7)) * **p2p:** Test bench scaffold ([#11758](#11758)) ([48dc491](48dc491)) * Partial note handling in aztec-nr ([#11641](#11641)) ([1c1a33b](1c1a33b)) * **perf:** Speed up TS AVM core simulator ([#11794](#11794)) ([bb58c87](bb58c87)) * **reqresp:** Send status messages along with reqresp responses ([#11727](#11727)) ([b212490](b212490)) * Simplify `Ord` implementation for arrays (noir-lang/noir#7305) ([b883911](b883911)) * Simplify `Ord` implementation for arrays (noir-lang/noir#7305) ([3840e8e](3840e8e)) * **spartan:** Blob sink in spartan ([#11307](#11307)) ([d8e5bcc](d8e5bcc)) * Suport deploying contracts with public keys in txe ([#11882](#11882)) ([94bdc85](94bdc85)), closes [#11881](#11881) * Sync from aztec-packages (noir-lang/noir#7293) ([b883911](b883911)) * Sync from aztec-packages (noir-lang/noir#7293) ([3840e8e](3840e8e)) * Trust tree roots from the AVM in public base ([#11823](#11823)) ([5d12f94](5d12f94)) * Using `WithHash<T>` in `SharedMutable` + fixing slot allocation ([#11716](#11716)) ([952615b](952615b)) ### Bug Fixes * Add missing return in main ([#11786](#11786)) ([8c1d477](8c1d477)) * Allows for infinite brillig loops (noir-lang/noir#7296) ([b883911](b883911)) * Always normalize ssa when priting at least one pass (noir-lang/noir#7299) ([b883911](b883911)) * Always normalize ssa when priting at least one pass (noir-lang/noir#7299) ([3840e8e](3840e8e)) * Avoid recomputing contractclassid ([#11783](#11783)) ([f8448bf](f8448bf)) * Avoid stack overflow on many comments in a row (noir-lang/noir#7325) ([b883911](b883911)) * Aztec wallet partial address display on deployment ([#11866](#11866)) ([eef5302](eef5302)), closes [#11864](#11864) * **bb.js:** Make wasm imports bundleable ([#11812](#11812)) ([1af69a9](1af69a9)) * Beacon chain doesn't eat mainframe ([#11854](#11854)) ([ebbdbc7](ebbdbc7)) * Check abi integer input is within signed range (noir-lang/noir#7316) ([b883911](b883911)) * **ci:** Enforce boxes-test on merge ([#11841](#11841)) ([e26a288](e26a288)) * Downgrade to mainframe-compatible KIND ([#11883](#11883)) ([9239b4f](9239b4f)) * Error on if without else when type mismatch (noir-lang/noir#7302) ([b883911](b883911)) * Error on if without else when type mismatch (noir-lang/noir#7302) ([3840e8e](3840e8e)) * Error on trailing doc comment (noir-lang/noir#7300) ([b883911](b883911)) * Error on trailing doc comment (noir-lang/noir#7300) ([3840e8e](3840e8e)) * Formatting in master ([#11879](#11879)) ([fff0f04](fff0f04)) * Mark field division and modulo as requiring predicate for all necessary types (noir-lang/noir#7290) ([b883911](b883911)) * Mark field division and modulo as requiring predicate for all necessary types (noir-lang/noir#7290) ([3840e8e](3840e8e)) * Playground use new unbundled aztec.js ([#11780](#11780)) ([fe2b666](fe2b666)) * Prover-client test ([#11853](#11853)) ([e950c76](e950c76)) * Publish telemetry-client ([#11777](#11777)) ([8634f6e](8634f6e)) * Pxe release ([#11877](#11877)) ([4c0d2f2](4c0d2f2)) * Re exposing intent inner hash ([#11865](#11865)) ([9638792](9638792)), closes [#11795](#11795) * Remove unnecessary console.log ([#11810](#11810)) ([8a320bf](8a320bf)) * Revert "feat: partial note handling in aztec-nr ([#11641](#11641))" ([#11797](#11797)) ([c5c3f09](c5c3f09)) * Skip orchestrator_workflow test (see [#11870](#11870)) ([#11872](#11872)) ([f8e7e4e](f8e7e4e)) * Skip vite browser test until [#11874](#11874) ([#11876](#11876)) ([e1adf23](e1adf23)) * **ssa:** Unused functions removals post folding constant Brillig calls (noir-lang/noir#7265) ([b883911](b883911)) * **ssa:** Unused functions removals post folding constant Brillig calls (noir-lang/noir#7265) ([3840e8e](3840e8e)) * Tracy run ([#11819](#11819)) ([fde135d](fde135d)) * Txe block headers ([#11710](#11710)) ([4f6b76f](4f6b76f)) ### Miscellaneous * Add sha256 library to test suite (noir-lang/noir#7278) ([b883911](b883911)) * Add sha256 library to test suite (noir-lang/noir#7278) ([3840e8e](3840e8e)) * Add timeouts to reports CI (noir-lang/noir#7317) ([b883911](b883911)) * Aggregate with short scalars in UH Recursion ([#11478](#11478)) ([a6fcdb0](a6fcdb0)) * **avm:** Remove some parentheses in codegen relations ([#11766](#11766)) ([f2f2634](f2f2634)) * Bump noir_bigcurve timeout (noir-lang/noir#7322) ([b883911](b883911)) * Check versioning ([#11611](#11611)) ([b33f1da](b33f1da)) * Cleanup in AVM test fixture ([#11850](#11850)) ([4526059](4526059)) * Create a CI action to download nargo and add to path (noir-lang/noir#7281) ([b883911](b883911)) * Create a CI action to download nargo and add to path (noir-lang/noir#7281) ([3840e8e](3840e8e)) * Disable exp-2 from nightly deployments ([#11880](#11880)) ([bc42b60](bc42b60)) * Do not differentiate variable vs fixed length for Poseidon2 ([#11740](#11740)) ([ee5fc45](ee5fc45)) * Fix memory reports in CI (noir-lang/noir#7311) ([b883911](b883911)) * Fix memory reports in CI (noir-lang/noir#7311) ([3840e8e](3840e8e)) * **p2p:** Remove min peers option ([#11789](#11789)) ([cfb6797](cfb6797)) * Push inlining info code into a submodule (noir-lang/noir#7266) ([b883911](b883911)) * Push inlining info code into a submodule (noir-lang/noir#7266) ([3840e8e](3840e8e)) * Reduce number of benchmarking scripts (noir-lang/noir#7285) ([b883911](b883911)) * Reduce number of benchmarking scripts (noir-lang/noir#7285) ([3840e8e](3840e8e)) * Remove dead code ([#11809](#11809)) ([51ad298](51ad298)) * Remove Recoverable (noir-lang/noir#7307) ([b883911](b883911)) * Remove Recoverable (noir-lang/noir#7307) ([3840e8e](3840e8e)) * Replace benchmarks on fast test suites with a cut-off (noir-lang/noir#7276) ([b883911](b883911)) * Replace benchmarks on fast test suites with a cut-off (noir-lang/noir#7276) ([3840e8e](3840e8e)) * Replace relative paths to noir-protocol-circuits ([330f613](330f613)) * Replace relative paths to noir-protocol-circuits ([501ec66](501ec66)) * Replace relative paths to noir-protocol-circuits ([3fa986a](3fa986a)) * Sepolia mnemonic, e2e & ignition chain ([#11759](#11759)) ([ff1536a](ff1536a)) * Simplify handling of pub inputs block ([#11747](#11747)) ([4a8136c](4a8136c)) * **spartan:** Give services label names ([#11609](#11609)) ([2da39df](2da39df)) * **spartan:** Update ethereum external host values ([#11590](#11590)) ([f17a8f3](f17a8f3)) * Update migration_notes.md ([#11801](#11801)) ([baa69a2](baa69a2)) ### Documentation * Some blob docs ([#11729](#11729)) ([b1d65f1](b1d65f1)) </details> <details><summary>barretenberg: 0.76.0</summary> ## [0.76.0](barretenberg-v0.75.0...barretenberg-v0.76.0) (2025-02-10) ### Features * **avm:** Add skippable condition for interactions ([#11800](#11800)) ([67aec61](67aec61)) * **avm:** Range check opt via aliases ([#11846](#11846)) ([ce6a5bf](ce6a5bf)) * **avm:** Restrict bytecode bytes ([#11798](#11798)) ([be382bc](be382bc)) ### Bug Fixes * Add missing return in main ([#11786](#11786)) ([8c1d477](8c1d477)) * Tracy run ([#11819](#11819)) ([fde135d](fde135d)) ### Miscellaneous * Aggregate with short scalars in UH Recursion ([#11478](#11478)) ([a6fcdb0](a6fcdb0)) * **avm:** Remove some parentheses in codegen relations ([#11766](#11766)) ([f2f2634](f2f2634)) * Do not differentiate variable vs fixed length for Poseidon2 ([#11740](#11740)) ([ee5fc45](ee5fc45)) * Simplify handling of pub inputs block ([#11747](#11747)) ([4a8136c](4a8136c)) </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.76.0</summary> ## [0.76.0](AztecProtocol/aztec-packages@aztec-package-v0.75.0...aztec-package-v0.76.0) (2025-02-10) ### Features * **spartan:** Blob sink in spartan ([#11307](AztecProtocol/aztec-packages#11307)) ([d8e5bcc](AztecProtocol/aztec-packages@d8e5bcc)) ### Miscellaneous * Check versioning ([#11611](AztecProtocol/aztec-packages#11611)) ([b33f1da](AztecProtocol/aztec-packages@b33f1da)) * **p2p:** Remove min peers option ([#11789](AztecProtocol/aztec-packages#11789)) ([cfb6797](AztecProtocol/aztec-packages@cfb6797)) </details> <details><summary>barretenberg.js: 0.76.0</summary> ## [0.76.0](AztecProtocol/aztec-packages@barretenberg.js-v0.75.0...barretenberg.js-v0.76.0) (2025-02-10) ### Bug Fixes * **bb.js:** Make wasm imports bundleable ([#11812](AztecProtocol/aztec-packages#11812)) ([1af69a9](AztecProtocol/aztec-packages@1af69a9)) * Remove unnecessary console.log ([#11810](AztecProtocol/aztec-packages#11810)) ([8a320bf](AztecProtocol/aztec-packages@8a320bf)) </details> <details><summary>aztec-packages: 0.76.0</summary> ## [0.76.0](AztecProtocol/aztec-packages@aztec-packages-v0.75.0...aztec-packages-v0.76.0) (2025-02-10) ### ⚠ BREAKING CHANGES * check abi integer input is within signed range (noir-lang/noir#7316) * using `WithHash<T>` in `SharedMutable` + fixing slot allocation ([#11716](AztecProtocol/aztec-packages#11716)) ### Features * `assert` and `assert_eq` are now expressions (noir-lang/noir#7313) ([b883911](AztecProtocol/aztec-packages@b883911)) * `assert` and `assert_eq` are now expressions (noir-lang/noir#7313) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * **avm:** Add skippable condition for interactions ([#11800](AztecProtocol/aztec-packages#11800)) ([67aec61](AztecProtocol/aztec-packages@67aec61)) * **avm:** Range check opt via aliases ([#11846](AztecProtocol/aztec-packages#11846)) ([ce6a5bf](AztecProtocol/aztec-packages@ce6a5bf)) * **avm:** Restrict bytecode bytes ([#11798](AztecProtocol/aztec-packages#11798)) ([be382bc](AztecProtocol/aztec-packages@be382bc)) * **aztec-nr:** Do not compile functions with a private public macro and unconstrained ([#11815](AztecProtocol/aztec-packages#11815)) ([afb52e3](AztecProtocol/aztec-packages@afb52e3)) * **blob-lib:** Make blob lib and fix encoding test flake ([#11782](AztecProtocol/aztec-packages#11782)) ([753f505](AztecProtocol/aztec-packages@753f505)) * Broker sends back job after accepting result ([#11754](AztecProtocol/aztec-packages#11754)) ([62e5de7](AztecProtocol/aztec-packages@62e5de7)) * **docs:** Notes page ([#11746](AztecProtocol/aztec-packages#11746)) ([117200e](AztecProtocol/aztec-packages@117200e)) * **docs:** Reindex typesense in CI ([#11791](AztecProtocol/aztec-packages#11791)) ([6af8d54](AztecProtocol/aztec-packages@6af8d54)) * Infer lambda parameter types from return type and let type (noir-lang/noir#7267) ([b883911](AztecProtocol/aztec-packages@b883911)) * Infer lambda parameter types from return type and let type (noir-lang/noir#7267) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Optimizing contract with config pattern ([#11756](AztecProtocol/aztec-packages#11756)) ([7820cb7](AztecProtocol/aztec-packages@7820cb7)) * **p2p:** Test bench scaffold ([#11758](AztecProtocol/aztec-packages#11758)) ([48dc491](AztecProtocol/aztec-packages@48dc491)) * Partial note handling in aztec-nr ([#11641](AztecProtocol/aztec-packages#11641)) ([1c1a33b](AztecProtocol/aztec-packages@1c1a33b)) * **perf:** Speed up TS AVM core simulator ([#11794](AztecProtocol/aztec-packages#11794)) ([bb58c87](AztecProtocol/aztec-packages@bb58c87)) * **reqresp:** Send status messages along with reqresp responses ([#11727](AztecProtocol/aztec-packages#11727)) ([b212490](AztecProtocol/aztec-packages@b212490)) * Simplify `Ord` implementation for arrays (noir-lang/noir#7305) ([b883911](AztecProtocol/aztec-packages@b883911)) * Simplify `Ord` implementation for arrays (noir-lang/noir#7305) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * **spartan:** Blob sink in spartan ([#11307](AztecProtocol/aztec-packages#11307)) ([d8e5bcc](AztecProtocol/aztec-packages@d8e5bcc)) * Suport deploying contracts with public keys in txe ([#11882](AztecProtocol/aztec-packages#11882)) ([94bdc85](AztecProtocol/aztec-packages@94bdc85)), closes [#11881](AztecProtocol/aztec-packages#11881) * Sync from aztec-packages (noir-lang/noir#7293) ([b883911](AztecProtocol/aztec-packages@b883911)) * Sync from aztec-packages (noir-lang/noir#7293) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Trust tree roots from the AVM in public base ([#11823](AztecProtocol/aztec-packages#11823)) ([5d12f94](AztecProtocol/aztec-packages@5d12f94)) * Using `WithHash<T>` in `SharedMutable` + fixing slot allocation ([#11716](AztecProtocol/aztec-packages#11716)) ([952615b](AztecProtocol/aztec-packages@952615b)) ### Bug Fixes * Add missing return in main ([#11786](AztecProtocol/aztec-packages#11786)) ([8c1d477](AztecProtocol/aztec-packages@8c1d477)) * Allows for infinite brillig loops (noir-lang/noir#7296) ([b883911](AztecProtocol/aztec-packages@b883911)) * Always normalize ssa when priting at least one pass (noir-lang/noir#7299) ([b883911](AztecProtocol/aztec-packages@b883911)) * Always normalize ssa when priting at least one pass (noir-lang/noir#7299) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Avoid recomputing contractclassid ([#11783](AztecProtocol/aztec-packages#11783)) ([f8448bf](AztecProtocol/aztec-packages@f8448bf)) * Avoid stack overflow on many comments in a row (noir-lang/noir#7325) ([b883911](AztecProtocol/aztec-packages@b883911)) * Aztec wallet partial address display on deployment ([#11866](AztecProtocol/aztec-packages#11866)) ([eef5302](AztecProtocol/aztec-packages@eef5302)), closes [#11864](AztecProtocol/aztec-packages#11864) * **bb.js:** Make wasm imports bundleable ([#11812](AztecProtocol/aztec-packages#11812)) ([1af69a9](AztecProtocol/aztec-packages@1af69a9)) * Beacon chain doesn't eat mainframe ([#11854](AztecProtocol/aztec-packages#11854)) ([ebbdbc7](AztecProtocol/aztec-packages@ebbdbc7)) * Check abi integer input is within signed range (noir-lang/noir#7316) ([b883911](AztecProtocol/aztec-packages@b883911)) * **ci:** Enforce boxes-test on merge ([#11841](AztecProtocol/aztec-packages#11841)) ([e26a288](AztecProtocol/aztec-packages@e26a288)) * Downgrade to mainframe-compatible KIND ([#11883](AztecProtocol/aztec-packages#11883)) ([9239b4f](AztecProtocol/aztec-packages@9239b4f)) * Error on if without else when type mismatch (noir-lang/noir#7302) ([b883911](AztecProtocol/aztec-packages@b883911)) * Error on if without else when type mismatch (noir-lang/noir#7302) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Error on trailing doc comment (noir-lang/noir#7300) ([b883911](AztecProtocol/aztec-packages@b883911)) * Error on trailing doc comment (noir-lang/noir#7300) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Formatting in master ([#11879](AztecProtocol/aztec-packages#11879)) ([fff0f04](AztecProtocol/aztec-packages@fff0f04)) * Mark field division and modulo as requiring predicate for all necessary types (noir-lang/noir#7290) ([b883911](AztecProtocol/aztec-packages@b883911)) * Mark field division and modulo as requiring predicate for all necessary types (noir-lang/noir#7290) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Playground use new unbundled aztec.js ([#11780](AztecProtocol/aztec-packages#11780)) ([fe2b666](AztecProtocol/aztec-packages@fe2b666)) * Prover-client test ([#11853](AztecProtocol/aztec-packages#11853)) ([e950c76](AztecProtocol/aztec-packages@e950c76)) * Publish telemetry-client ([#11777](AztecProtocol/aztec-packages#11777)) ([8634f6e](AztecProtocol/aztec-packages@8634f6e)) * Pxe release ([#11877](AztecProtocol/aztec-packages#11877)) ([4c0d2f2](AztecProtocol/aztec-packages@4c0d2f2)) * Re exposing intent inner hash ([#11865](AztecProtocol/aztec-packages#11865)) ([9638792](AztecProtocol/aztec-packages@9638792)), closes [#11795](AztecProtocol/aztec-packages#11795) * Remove unnecessary console.log ([#11810](AztecProtocol/aztec-packages#11810)) ([8a320bf](AztecProtocol/aztec-packages@8a320bf)) * Revert "feat: partial note handling in aztec-nr ([#11641](AztecProtocol/aztec-packages#11641))" ([#11797](AztecProtocol/aztec-packages#11797)) ([c5c3f09](AztecProtocol/aztec-packages@c5c3f09)) * Skip orchestrator_workflow test (see [#11870](AztecProtocol/aztec-packages#11870)) ([#11872](AztecProtocol/aztec-packages#11872)) ([f8e7e4e](AztecProtocol/aztec-packages@f8e7e4e)) * Skip vite browser test until [#11874](AztecProtocol/aztec-packages#11874) ([#11876](AztecProtocol/aztec-packages#11876)) ([e1adf23](AztecProtocol/aztec-packages@e1adf23)) * **ssa:** Unused functions removals post folding constant Brillig calls (noir-lang/noir#7265) ([b883911](AztecProtocol/aztec-packages@b883911)) * **ssa:** Unused functions removals post folding constant Brillig calls (noir-lang/noir#7265) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Tracy run ([#11819](AztecProtocol/aztec-packages#11819)) ([fde135d](AztecProtocol/aztec-packages@fde135d)) * Txe block headers ([#11710](AztecProtocol/aztec-packages#11710)) ([4f6b76f](AztecProtocol/aztec-packages@4f6b76f)) ### Miscellaneous * Add sha256 library to test suite (noir-lang/noir#7278) ([b883911](AztecProtocol/aztec-packages@b883911)) * Add sha256 library to test suite (noir-lang/noir#7278) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Add timeouts to reports CI (noir-lang/noir#7317) ([b883911](AztecProtocol/aztec-packages@b883911)) * Aggregate with short scalars in UH Recursion ([#11478](AztecProtocol/aztec-packages#11478)) ([a6fcdb0](AztecProtocol/aztec-packages@a6fcdb0)) * **avm:** Remove some parentheses in codegen relations ([#11766](AztecProtocol/aztec-packages#11766)) ([f2f2634](AztecProtocol/aztec-packages@f2f2634)) * Bump noir_bigcurve timeout (noir-lang/noir#7322) ([b883911](AztecProtocol/aztec-packages@b883911)) * Check versioning ([#11611](AztecProtocol/aztec-packages#11611)) ([b33f1da](AztecProtocol/aztec-packages@b33f1da)) * Cleanup in AVM test fixture ([#11850](AztecProtocol/aztec-packages#11850)) ([4526059](AztecProtocol/aztec-packages@4526059)) * Create a CI action to download nargo and add to path (noir-lang/noir#7281) ([b883911](AztecProtocol/aztec-packages@b883911)) * Create a CI action to download nargo and add to path (noir-lang/noir#7281) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Disable exp-2 from nightly deployments ([#11880](AztecProtocol/aztec-packages#11880)) ([bc42b60](AztecProtocol/aztec-packages@bc42b60)) * Do not differentiate variable vs fixed length for Poseidon2 ([#11740](AztecProtocol/aztec-packages#11740)) ([ee5fc45](AztecProtocol/aztec-packages@ee5fc45)) * Fix memory reports in CI (noir-lang/noir#7311) ([b883911](AztecProtocol/aztec-packages@b883911)) * Fix memory reports in CI (noir-lang/noir#7311) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * **p2p:** Remove min peers option ([#11789](AztecProtocol/aztec-packages#11789)) ([cfb6797](AztecProtocol/aztec-packages@cfb6797)) * Push inlining info code into a submodule (noir-lang/noir#7266) ([b883911](AztecProtocol/aztec-packages@b883911)) * Push inlining info code into a submodule (noir-lang/noir#7266) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Reduce number of benchmarking scripts (noir-lang/noir#7285) ([b883911](AztecProtocol/aztec-packages@b883911)) * Reduce number of benchmarking scripts (noir-lang/noir#7285) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Remove dead code ([#11809](AztecProtocol/aztec-packages#11809)) ([51ad298](AztecProtocol/aztec-packages@51ad298)) * Remove Recoverable (noir-lang/noir#7307) ([b883911](AztecProtocol/aztec-packages@b883911)) * Remove Recoverable (noir-lang/noir#7307) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Replace benchmarks on fast test suites with a cut-off (noir-lang/noir#7276) ([b883911](AztecProtocol/aztec-packages@b883911)) * Replace benchmarks on fast test suites with a cut-off (noir-lang/noir#7276) ([3840e8e](AztecProtocol/aztec-packages@3840e8e)) * Replace relative paths to noir-protocol-circuits ([330f613](AztecProtocol/aztec-packages@330f613)) * Replace relative paths to noir-protocol-circuits ([501ec66](AztecProtocol/aztec-packages@501ec66)) * Replace relative paths to noir-protocol-circuits ([3fa986a](AztecProtocol/aztec-packages@3fa986a)) * Sepolia mnemonic, e2e & ignition chain ([#11759](AztecProtocol/aztec-packages#11759)) ([ff1536a](AztecProtocol/aztec-packages@ff1536a)) * Simplify handling of pub inputs block ([#11747](AztecProtocol/aztec-packages#11747)) ([4a8136c](AztecProtocol/aztec-packages@4a8136c)) * **spartan:** Give services label names ([#11609](AztecProtocol/aztec-packages#11609)) ([2da39df](AztecProtocol/aztec-packages@2da39df)) * **spartan:** Update ethereum external host values ([#11590](AztecProtocol/aztec-packages#11590)) ([f17a8f3](AztecProtocol/aztec-packages@f17a8f3)) * Update migration_notes.md ([#11801](AztecProtocol/aztec-packages#11801)) ([baa69a2](AztecProtocol/aztec-packages@baa69a2)) ### Documentation * Some blob docs ([#11729](AztecProtocol/aztec-packages#11729)) ([b1d65f1](AztecProtocol/aztec-packages@b1d65f1)) </details> <details><summary>barretenberg: 0.76.0</summary> ## [0.76.0](AztecProtocol/aztec-packages@barretenberg-v0.75.0...barretenberg-v0.76.0) (2025-02-10) ### Features * **avm:** Add skippable condition for interactions ([#11800](AztecProtocol/aztec-packages#11800)) ([67aec61](AztecProtocol/aztec-packages@67aec61)) * **avm:** Range check opt via aliases ([#11846](AztecProtocol/aztec-packages#11846)) ([ce6a5bf](AztecProtocol/aztec-packages@ce6a5bf)) * **avm:** Restrict bytecode bytes ([#11798](AztecProtocol/aztec-packages#11798)) ([be382bc](AztecProtocol/aztec-packages@be382bc)) ### Bug Fixes * Add missing return in main ([#11786](AztecProtocol/aztec-packages#11786)) ([8c1d477](AztecProtocol/aztec-packages@8c1d477)) * Tracy run ([#11819](AztecProtocol/aztec-packages#11819)) ([fde135d](AztecProtocol/aztec-packages@fde135d)) ### Miscellaneous * Aggregate with short scalars in UH Recursion ([#11478](AztecProtocol/aztec-packages#11478)) ([a6fcdb0](AztecProtocol/aztec-packages@a6fcdb0)) * **avm:** Remove some parentheses in codegen relations ([#11766](AztecProtocol/aztec-packages#11766)) ([f2f2634](AztecProtocol/aztec-packages@f2f2634)) * Do not differentiate variable vs fixed length for Poseidon2 ([#11740](AztecProtocol/aztec-packages#11740)) ([ee5fc45](AztecProtocol/aztec-packages@ee5fc45)) * Simplify handling of pub inputs block ([#11747](AztecProtocol/aztec-packages#11747)) ([4a8136c](AztecProtocol/aztec-packages@4a8136c)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
With
PublicImmutable
now being optimized usingWithHash<T>
it made sense to leverage this by moving values which are generally read together into the same struct and into the same state var.