chore: Check versioning#11611
Conversation
41bc9ae to
a5a26c8
Compare
| } | ||
|
|
||
| /** Checks if the compressed string matches against the expected versions. Throws on mismatch. */ | ||
| export function checkCompressedComponentVersion(compressed: string, expected: ComponentsVersions) { |
There was a problem hiding this comment.
Rather than checking each, do we want the compresedComponentVersion to just be a fast hash of all of them stuck together ( see
). This will reduce the size of the enr that is being sent around for the discovery protocol, so will have real bandwidth implicationsWe can just check the hash here - one of 6 values can be wrong in total, so i dont think the mental overhead of checking them is too bad.
Ofcourse while we are not in production we can leave it as is for simpler debugging. But shall we make an issue to change this when its time
| if (options.node) { | ||
| const { startNode } = await import('./cmds/start_node.js'); | ||
| await startNode(options, signalHandlers, services, userLog); | ||
| ({ config } = await startNode(options, signalHandlers, services, userLog)); |
| done | ||
|
|
||
| echo "Successfully generated TS artifacts!" | ||
| # Write abis hash. Consider excluding some contracts from this hash if |
There was a problem hiding this comment.
I'm deleting this as we're not using it
5e4fd0b to
37028d1
Compare
Co-authored-by: Maddiaa <Maddiaa0@users.noreply.github.com>
a8c0b19 to
922f001
Compare
| // we identify the P2P transaction protocol by using the rollup contract address. | ||
| // this may well change in future | ||
| const rollupAddress = config.l1Contracts.rollupAddress; | ||
| config.transactionProtocol = `/aztec/tx/${rollupAddress.toString()}`; |
There was a problem hiding this comment.
in the interest of cleaning up config i can remove this from config in a follow up
|
|
||
| import { AZTEC_ENR_KEY } from './services/types.js'; | ||
|
|
||
| const USE_XX_HASH = false; // Enable to reduce the size of the ENR record for production |
| /** Checks the given value from an ENR record against the expected versions. */ | ||
| export function checkAztecEnrVersion(enrValue: Buffer, expectedVersions: ComponentsVersions) { | ||
| if (enrValue.length === XX_HASH_LEN) { | ||
| const expected = versionsToEnrValue(expectedVersions, true); |
There was a problem hiding this comment.
nit: could benefit from being a singleton, discovery is run fairly often
Maddiaa0
left a comment
There was a problem hiding this comment.
very good!
One thing to be aware of when other implementations come around / future proofing, we need to make sure this compressed string does not grow too big. Im not sure if its enforced in the implementation we are using, but https://eips.ethereum.org/EIPS/eip-778 places a soft limit on enrs being 300 bytes, including the signature + ip information
🤖 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).
Defines a set of values that identify the network:
Returns these values as custom http headers on the json-rpc server, and all json-rpc clients now check those values. On mismatch, they throw. If a value is missing due to incomplete config, it is ignored.
These values are also "compressed" (sliced and concatenated) and injected as a value in the node's ENR in the p2p layer. Nodes only connect to a bootstrap node if their versions matches the bootstrap node's ENR (they warn if they don't) and ignore peers (with debug level) if their ENRs don't match.
Fixes #11577
Props to @Maddiaa0 for the help with the p2p side of things
PR ended up larger than expected but commits are grouped together so that they can be reviewed one at a time.