-
Notifications
You must be signed in to change notification settings - Fork 324
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(p2p): request response node sampling #11330
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
3c78211
to
60288f1
Compare
@@ -178,7 +179,7 @@ export class LibP2PService<T extends P2PClientType> extends WithTracer implement | |||
|
|||
const otelMetricsAdapter = new OtelMetricsAdapter(telemetry); | |||
|
|||
const node = await createLibp2p({ | |||
const node = (await createLibp2p({ |
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 sort of cast should basically never be needed - can this have a type parameter or otherwise retain more type information about your addition here? (e.g. usually pattern is to have first arg be T extends some base type so the type T can be used to inform the return type)
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.
You're completely correct, its not required at all, updating
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.
Approved but consider if there's a way to not have the cast (ok if not)
4cf77ec
to
ad86e98
Compare
68177a0
to
7903959
Compare
} | ||
|
||
private startCleanupJob() { | ||
this.cleanupInterval = setInterval(() => { |
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.
You might find using RunningPromise
slightly cleaner.
const { stream, peerId } = this.streams.get(streamId)!; | ||
|
||
const updatedActiveConnectionsCount = (this.activeConnectionsCount.get(peerId) ?? 1) - 1; | ||
this.activeConnectionsCount.set(peerId, updatedActiveConnectionsCount); |
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.
Should this be updated after successfully closing the connection?
Maybe a failure to close the connection means it's already closed or something anyway. In which case reducing the connection count is valid either way.
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 beleive that it is the second case, libp2p should get rid of the stream eventually
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.
Looks good I think. A couple of minor things
…dency with reqresp
8f4ab29
to
5cd25a2
Compare
* master: (442 commits) feat(p2p): request response node sampling (#11330) chore: Trace propagation from json rpc client to server (#11325) feat(p2p): send goodbye messages on disconnecting to peers (#10920) fix(bootstrap): include crates in noir projects hashes (#11344) chore: Add OTEL_EXCLUDE_METRICS (#11317) chore: Test starting multiple anvils allocates distinct ports (#11314) fix: move eslint in circuits.js to dev deps (#11340) fix: update devbox (#11339) chore(p2p): reorganise reqresp handlers (#11327) fix(readme): remove stale link (#11333) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg chore: bump CRS and constants (#11306) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg chore: redo typo PR by nnsW3 (#11322) ...
* master: (29 commits) feat(p2p): batch request response (#11331) chore: Try fix flakey public processor test (#11348) chore: Point to monorepo's nargo in vscode workspace settings (#11349) feat(p2p): request response node sampling (#11330) chore: Trace propagation from json rpc client to server (#11325) feat(p2p): send goodbye messages on disconnecting to peers (#10920) fix(bootstrap): include crates in noir projects hashes (#11344) chore: Add OTEL_EXCLUDE_METRICS (#11317) chore: Test starting multiple anvils allocates distinct ports (#11314) fix: move eslint in circuits.js to dev deps (#11340) fix: update devbox (#11339) chore(p2p): reorganise reqresp handlers (#11327) fix(readme): remove stale link (#11333) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] chore: replace relative paths to noir-protocol-circuits git subrepo push --branch=master barretenberg chore: bump CRS and constants (#11306) git subrepo push --branch=master noir-projects/aztec-nr git_subrepo.sh: Fix parent in .gitrepo file. [skip ci] ...
🤖 I have created a release *beep* *boop* --- <details><summary>aztec-package: 0.72.0</summary> ## [0.72.0](aztec-package-v0.71.0...aztec-package-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](#11229)) ([79f810d](79f810d)) * Lazy wasm pt. 2 ([#11410](#11410)) ([01510f4](01510f4)) * Lazy wasm pt3 ([#11435](#11435)) ([7068d05](7068d05)) ### Bug Fixes * Init fee juice contract in sandbox ([#11379](#11379)) ([caab526](caab526)) * Use simulation to estimate gas used ([#11211](#11211)) ([63776f0](63776f0)) ### Miscellaneous * Trace propagation from json rpc client to server ([#11325](#11325)) ([85ccc15](85ccc15)) </details> <details><summary>barretenberg.js: 0.72.0</summary> ## [0.72.0](barretenberg.js-v0.71.0...barretenberg.js-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](#11229)) ([79f810d](79f810d)) * Lazy wasm pt.1 ([#11371](#11371)) ([864bc6f](864bc6f)) * Lazy wasm pt3 ([#11435](#11435)) ([7068d05](7068d05)) * UH recursion in the browser ([#11049](#11049)) ([c3c04a4](c3c04a4)) ### Bug Fixes * Lint ([#11389](#11389)) ([87b0dee](87b0dee)) </details> <details><summary>aztec-packages: 0.72.0</summary> ## [0.72.0](aztec-packages-v0.71.0...aztec-packages-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * **aztec.js:** remove field from aztec address like ([#11350](#11350)) * public logs ([#11091](#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](#11354)) ([5f3cffc](5f3cffc)) * **avm:** Bytecode manager changes ([#11347](#11347)) ([4a9c072](4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](#11360)) ([4d149be](4d149be)) * **avm:** Interactive debugger ([#11477](#11477)) ([53e57d3](53e57d3)) * Consensus layer in spartan ([#11105](#11105)) ([55dd03c](55dd03c)) * Eccvm sumcheck with commitments to round univariates ([#11206](#11206)) ([fe34b05](fe34b05)) * Gaztec ([#11229](#11229)) ([79f810d](79f810d)) * Lazy wasm pt. 2 ([#11410](#11410)) ([01510f4](01510f4)) * Lazy wasm pt.1 ([#11371](#11371)) ([864bc6f](864bc6f)) * Lazy wasm pt3 ([#11435](#11435)) ([7068d05](7068d05)) * **p2p:** Batch request response ([#11331](#11331)) ([13b379d](13b379d)) * **p2p:** Request response node sampling ([#11330](#11330)) ([6426d90](6426d90)) * **p2p:** Send goodbye messages on disconnecting to peers ([#10920](#10920)) ([046968f](046968f)) * **p2p:** Validator use batch requests ([#11332](#11332)) ([29f7ce4](29f7ce4)) * Packable trait + using it for public storage ([#11136](#11136)) ([e74ce15](e74ce15)) * Public logs ([#11091](#11091)) ([f4725d2](f4725d2)) * Re-exposing `compute_initialization_hash` ([#11423](#11423)) ([1ad2b70](1ad2b70)) * **reqresp:** Request l2 blocks ([#11337](#11337)) ([73a6698](73a6698)) * **spartan:** Extra acounts with cl config ([#11301](#11301)) ([13fed74](13fed74)) * UH recursion in the browser ([#11049](#11049)) ([c3c04a4](c3c04a4)) ### Bug Fixes * **aztec.js:** Remove field from aztec address like ([#11350](#11350)) ([26093f7](26093f7)) * **bootstrap:** Include crates in noir projects hashes ([#11344](#11344)) ([1075113](1075113)) * **bootstrap:** Include crates in noir projects hashes take 2 ([#11351](#11351)) ([1f36a04](1f36a04)) * Clarify sepolia GA secrets ([#11424](#11424)) ([cf3c911](cf3c911)) * **docs:** Downgrade docusaurus to v 3.6 ([#11386](#11386)) ([1e5d225](1e5d225)) * Don't publish a block if we failed to create the block proposal ([#11475](#11475)) ([f589c90](f589c90)) * Flakey e2e_pruned_blocks test ([#11431](#11431)) ([887b8ff](887b8ff)) * Hackily fix the public input columns of avm recursion constraint ([#11428](#11428)) ([436c3c6](436c3c6)) * Hardcode value in constants ([#11442](#11442)) ([dd0684a](dd0684a)) * Init fee juice contract in sandbox ([#11379](#11379)) ([caab526](caab526)) * Lint ([#11389](#11389)) ([87b0dee](87b0dee)) * Mnemonic needs quotes ([#11429](#11429)) ([de8dad4](de8dad4)) * Move eslint in circuits.js to dev deps ([#11340](#11340)) ([079a2c4](079a2c4)) * Network deployments ([#11463](#11463)) ([0804913](0804913)) * Pad base fee in aztec.js ([#11370](#11370)) ([d0e9a55](d0e9a55)) * Prevent PXE from making historical queries during note discovery ([#11406](#11406)) ([23000d4](23000d4)) * Publish aztec packages ([#11434](#11434)) ([d9bfd51](d9bfd51)) * Re-stage the git hook formatted files - doh ([#11430](#11430)) ([02e6529](02e6529)) * **readme:** Remove stale link ([#11333](#11333)) ([bfcd8a5](bfcd8a5)) * Spartan accounts ([#11321](#11321)) ([fa9c9ce](fa9c9ce)) * **spartan:** Beacon node networking policy ([#11484](#11484)) ([d5b9892](d5b9892)) * Stale selector comments ([#11311](#11311)) ([629bd64](629bd64)) * Txe partial note support ([#11414](#11414)) ([cd9cad9](cd9cad9)) * Update devbox ([#11339](#11339)) ([aca84ff](aca84ff)) * Use simulation to estimate gas used ([#11211](#11211)) ([63776f0](63776f0)) * Verify start state of a block ([#11290](#11290)) ([5eb3e8f](5eb3e8f)) * Version undefined does not exist for tree NULLIFIER_TREE ([#11421](#11421)) ([b1cb502](b1cb502)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](#11402)) ([f1fd2d1](f1fd2d1)) * Add OTEL_EXCLUDE_METRICS ([#11317](#11317)) ([37d4fa8](37d4fa8)) * **avm:** Do not use commit_sparse ([#11447](#11447)) ([9796e1e](9796e1e)) * **avm:** Remove some codegen bloat ([#11418](#11418)) ([6b0106c](6b0106c)) * **bootstrap:** Refine noir contracts rebuild pattern ([#11367](#11367)) ([90f5e8f](90f5e8f)) * Bump CRS and constants ([#11306](#11306)) ([9e5ea3a](9e5ea3a)) * **ci:** Set correct image version in aztec image docker releases ([#11334](#11334)) ([197db95](197db95)) * Dont install and run metrics stack on kind network smoke ([#11366](#11366)) ([f66db63](f66db63)) * Exclude system metrics from k8s deployments ([#11401](#11401)) ([31be5fb](31be5fb)) * Exp 2 with 128 validators ([#11483](#11483)) ([206ca8d](206ca8d)) * Fix devnet deploy ([#11387](#11387)) ([71d8ede](71d8ede)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](#11377)) ([5018c94](5018c94)) * Improving clarity of serialization in macros ([#11460](#11460)) ([7790973](7790973)) * Increase initial fee juice mint ([#11369](#11369)) ([bca7052](bca7052)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](#11393)) ([30a063a](30a063a)) * More granular error handling for toradixBE ([#11378](#11378)) ([64f4052](64f4052)), closes [#11295](#11295) * Nargo fmt pre-commit hook ([#11416](#11416)) ([6f2e2e0](6f2e2e0)) * Nuking redundant oracle ([#11368](#11368)) ([b32d9a1](b32d9a1)) * **p2p:** Disable flakey test ([#11380](#11380)) ([94012b5](94012b5)) * **p2p:** Reorganise reqresp handlers ([#11327](#11327)) ([f048acd](f048acd)) * Point to monorepo's nargo in vscode workspace settings ([#11349](#11349)) ([bb96e7c](bb96e7c)) * Print warning in builder when failure happens. ([#11205](#11205)) ([5a52e95](5a52e95)) * Public network with sepolia ([#11488](#11488)) ([80f5a46](80f5a46)) * Rc-2 release on Sepolia ([#11479](#11479)) ([bef7b0f](bef7b0f)) * Redo typo PR by Daulox92 ([#11458](#11458)) ([f3ba327](f3ba327)) * Redo typo PR by Dimitrolito ([#11413](#11413)) ([d4b7075](d4b7075)) * Redo typo PR by nnsW3 ([#11322](#11322)) ([de64823](de64823)) * Redo typo PR by offensif ([#11411](#11411)) ([a756578](a756578)) * Redo typo PR by savvar9991 ([#11412](#11412)) ([53ea3af](53ea3af)) * Redo typo PR by teenager-ETH ([#11320](#11320)) ([77854e2](77854e2)) * Redo typo PR by teenager-ETH ([#11450](#11450)) ([dd46152](dd46152)) * Reenable reqresp offline peers test ([#11384](#11384)) ([931dfa6](931dfa6)) * Renaming emit unencrypted -> emit public ([#11361](#11361)) ([c047a12](c047a12)) * Replace relative paths to noir-protocol-circuits ([6f644cd](6f644cd)) * Replace relative paths to noir-protocol-circuits ([fe24778](fe24778)) * Replace relative paths to noir-protocol-circuits ([fcdb409](fcdb409)) * Replace relative paths to noir-protocol-circuits ([ea43aed](ea43aed)) * Replace relative paths to noir-protocol-circuits ([7653c69](7653c69)) * Replace relative paths to noir-protocol-circuits ([204476e](204476e)) * Serialize trait impls for U128 following intrinsic Noir serialization ([#11142](#11142)) ([c5671d2](c5671d2)) * Slower exp2 ([#11487](#11487)) ([e995c0f](e995c0f)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](#11364)) ([bf3b12a](bf3b12a)) * **spartan:** Apply release fixes post cl ([#11385](#11385)) ([2bbf562](2bbf562)) * Stricter contributing rules ([#11462](#11462)) ([2535425](2535425)) * Temporarily disable boxes ([#11472](#11472)) ([f6c63fe](f6c63fe)) * Test starting multiple anvils allocates distinct ports ([#11314](#11314)) ([e385ea9](e385ea9)) * Trace propagation from json rpc client to server ([#11325](#11325)) ([85ccc15](85ccc15)) * Try fix e2e block building flake ([#11359](#11359)) ([38fbd5c](38fbd5c)) * Try fix flakey public processor test ([#11348](#11348)) ([8de55d4](8de55d4)) * Updated ethereum resource config ([#11485](#11485)) ([8788561](8788561)) </details> <details><summary>barretenberg: 0.72.0</summary> ## [0.72.0](barretenberg-v0.71.0...barretenberg-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * public logs ([#11091](#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](#11354)) ([5f3cffc](5f3cffc)) * **avm:** Bytecode manager changes ([#11347](#11347)) ([4a9c072](4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](#11360)) ([4d149be](4d149be)) * **avm:** Interactive debugger ([#11477](#11477)) ([53e57d3](53e57d3)) * Eccvm sumcheck with commitments to round univariates ([#11206](#11206)) ([fe34b05](fe34b05)) * Lazy wasm pt. 2 ([#11410](#11410)) ([01510f4](01510f4)) * Public logs ([#11091](#11091)) ([f4725d2](f4725d2)) * UH recursion in the browser ([#11049](#11049)) ([c3c04a4](c3c04a4)) ### Bug Fixes * Hackily fix the public input columns of avm recursion constraint ([#11428](#11428)) ([436c3c6](436c3c6)) * Verify start state of a block ([#11290](#11290)) ([5eb3e8f](5eb3e8f)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](#11402)) ([f1fd2d1](f1fd2d1)) * **avm:** Do not use commit_sparse ([#11447](#11447)) ([9796e1e](9796e1e)) * **avm:** Remove some codegen bloat ([#11418](#11418)) ([6b0106c](6b0106c)) * Bump CRS and constants ([#11306](#11306)) ([9e5ea3a](9e5ea3a)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](#11377)) ([5018c94](5018c94)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](#11393)) ([30a063a](30a063a)) * More granular error handling for toradixBE ([#11378](#11378)) ([64f4052](64f4052)), closes [#11295](#11295) * Print warning in builder when failure happens. ([#11205](#11205)) ([5a52e95](5a52e95)) * Redo typo PR by Daulox92 ([#11458](#11458)) ([f3ba327](f3ba327)) * Redo typo PR by teenager-ETH ([#11320](#11320)) ([77854e2](77854e2)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](#11364)) ([bf3b12a](bf3b12a)) </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.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@aztec-package-v0.71.0...aztec-package-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](AztecProtocol/aztec-packages#11229)) ([79f810d](AztecProtocol/aztec-packages@79f810d)) * Lazy wasm pt. 2 ([#11410](AztecProtocol/aztec-packages#11410)) ([01510f4](AztecProtocol/aztec-packages@01510f4)) * Lazy wasm pt3 ([#11435](AztecProtocol/aztec-packages#11435)) ([7068d05](AztecProtocol/aztec-packages@7068d05)) ### Bug Fixes * Init fee juice contract in sandbox ([#11379](AztecProtocol/aztec-packages#11379)) ([caab526](AztecProtocol/aztec-packages@caab526)) * Use simulation to estimate gas used ([#11211](AztecProtocol/aztec-packages#11211)) ([63776f0](AztecProtocol/aztec-packages@63776f0)) ### Miscellaneous * Trace propagation from json rpc client to server ([#11325](AztecProtocol/aztec-packages#11325)) ([85ccc15](AztecProtocol/aztec-packages@85ccc15)) </details> <details><summary>barretenberg.js: 0.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@barretenberg.js-v0.71.0...barretenberg.js-v0.72.0) (2025-01-24) ### Features * Gaztec ([#11229](AztecProtocol/aztec-packages#11229)) ([79f810d](AztecProtocol/aztec-packages@79f810d)) * Lazy wasm pt.1 ([#11371](AztecProtocol/aztec-packages#11371)) ([864bc6f](AztecProtocol/aztec-packages@864bc6f)) * Lazy wasm pt3 ([#11435](AztecProtocol/aztec-packages#11435)) ([7068d05](AztecProtocol/aztec-packages@7068d05)) * UH recursion in the browser ([#11049](AztecProtocol/aztec-packages#11049)) ([c3c04a4](AztecProtocol/aztec-packages@c3c04a4)) ### Bug Fixes * Lint ([#11389](AztecProtocol/aztec-packages#11389)) ([87b0dee](AztecProtocol/aztec-packages@87b0dee)) </details> <details><summary>aztec-packages: 0.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@aztec-packages-v0.71.0...aztec-packages-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * **aztec.js:** remove field from aztec address like ([#11350](AztecProtocol/aztec-packages#11350)) * public logs ([#11091](AztecProtocol/aztec-packages#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](AztecProtocol/aztec-packages#11354)) ([5f3cffc](AztecProtocol/aztec-packages@5f3cffc)) * **avm:** Bytecode manager changes ([#11347](AztecProtocol/aztec-packages#11347)) ([4a9c072](AztecProtocol/aztec-packages@4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](AztecProtocol/aztec-packages#11360)) ([4d149be](AztecProtocol/aztec-packages@4d149be)) * **avm:** Interactive debugger ([#11477](AztecProtocol/aztec-packages#11477)) ([53e57d3](AztecProtocol/aztec-packages@53e57d3)) * Consensus layer in spartan ([#11105](AztecProtocol/aztec-packages#11105)) ([55dd03c](AztecProtocol/aztec-packages@55dd03c)) * Eccvm sumcheck with commitments to round univariates ([#11206](AztecProtocol/aztec-packages#11206)) ([fe34b05](AztecProtocol/aztec-packages@fe34b05)) * Gaztec ([#11229](AztecProtocol/aztec-packages#11229)) ([79f810d](AztecProtocol/aztec-packages@79f810d)) * Lazy wasm pt. 2 ([#11410](AztecProtocol/aztec-packages#11410)) ([01510f4](AztecProtocol/aztec-packages@01510f4)) * Lazy wasm pt.1 ([#11371](AztecProtocol/aztec-packages#11371)) ([864bc6f](AztecProtocol/aztec-packages@864bc6f)) * Lazy wasm pt3 ([#11435](AztecProtocol/aztec-packages#11435)) ([7068d05](AztecProtocol/aztec-packages@7068d05)) * **p2p:** Batch request response ([#11331](AztecProtocol/aztec-packages#11331)) ([13b379d](AztecProtocol/aztec-packages@13b379d)) * **p2p:** Request response node sampling ([#11330](AztecProtocol/aztec-packages#11330)) ([6426d90](AztecProtocol/aztec-packages@6426d90)) * **p2p:** Send goodbye messages on disconnecting to peers ([#10920](AztecProtocol/aztec-packages#10920)) ([046968f](AztecProtocol/aztec-packages@046968f)) * **p2p:** Validator use batch requests ([#11332](AztecProtocol/aztec-packages#11332)) ([29f7ce4](AztecProtocol/aztec-packages@29f7ce4)) * Packable trait + using it for public storage ([#11136](AztecProtocol/aztec-packages#11136)) ([e74ce15](AztecProtocol/aztec-packages@e74ce15)) * Public logs ([#11091](AztecProtocol/aztec-packages#11091)) ([f4725d2](AztecProtocol/aztec-packages@f4725d2)) * Re-exposing `compute_initialization_hash` ([#11423](AztecProtocol/aztec-packages#11423)) ([1ad2b70](AztecProtocol/aztec-packages@1ad2b70)) * **reqresp:** Request l2 blocks ([#11337](AztecProtocol/aztec-packages#11337)) ([73a6698](AztecProtocol/aztec-packages@73a6698)) * **spartan:** Extra acounts with cl config ([#11301](AztecProtocol/aztec-packages#11301)) ([13fed74](AztecProtocol/aztec-packages@13fed74)) * UH recursion in the browser ([#11049](AztecProtocol/aztec-packages#11049)) ([c3c04a4](AztecProtocol/aztec-packages@c3c04a4)) ### Bug Fixes * **aztec.js:** Remove field from aztec address like ([#11350](AztecProtocol/aztec-packages#11350)) ([26093f7](AztecProtocol/aztec-packages@26093f7)) * **bootstrap:** Include crates in noir projects hashes ([#11344](AztecProtocol/aztec-packages#11344)) ([1075113](AztecProtocol/aztec-packages@1075113)) * **bootstrap:** Include crates in noir projects hashes take 2 ([#11351](AztecProtocol/aztec-packages#11351)) ([1f36a04](AztecProtocol/aztec-packages@1f36a04)) * Clarify sepolia GA secrets ([#11424](AztecProtocol/aztec-packages#11424)) ([cf3c911](AztecProtocol/aztec-packages@cf3c911)) * **docs:** Downgrade docusaurus to v 3.6 ([#11386](AztecProtocol/aztec-packages#11386)) ([1e5d225](AztecProtocol/aztec-packages@1e5d225)) * Don't publish a block if we failed to create the block proposal ([#11475](AztecProtocol/aztec-packages#11475)) ([f589c90](AztecProtocol/aztec-packages@f589c90)) * Flakey e2e_pruned_blocks test ([#11431](AztecProtocol/aztec-packages#11431)) ([887b8ff](AztecProtocol/aztec-packages@887b8ff)) * Hackily fix the public input columns of avm recursion constraint ([#11428](AztecProtocol/aztec-packages#11428)) ([436c3c6](AztecProtocol/aztec-packages@436c3c6)) * Hardcode value in constants ([#11442](AztecProtocol/aztec-packages#11442)) ([dd0684a](AztecProtocol/aztec-packages@dd0684a)) * Init fee juice contract in sandbox ([#11379](AztecProtocol/aztec-packages#11379)) ([caab526](AztecProtocol/aztec-packages@caab526)) * Lint ([#11389](AztecProtocol/aztec-packages#11389)) ([87b0dee](AztecProtocol/aztec-packages@87b0dee)) * Mnemonic needs quotes ([#11429](AztecProtocol/aztec-packages#11429)) ([de8dad4](AztecProtocol/aztec-packages@de8dad4)) * Move eslint in circuits.js to dev deps ([#11340](AztecProtocol/aztec-packages#11340)) ([079a2c4](AztecProtocol/aztec-packages@079a2c4)) * Network deployments ([#11463](AztecProtocol/aztec-packages#11463)) ([0804913](AztecProtocol/aztec-packages@0804913)) * Pad base fee in aztec.js ([#11370](AztecProtocol/aztec-packages#11370)) ([d0e9a55](AztecProtocol/aztec-packages@d0e9a55)) * Prevent PXE from making historical queries during note discovery ([#11406](AztecProtocol/aztec-packages#11406)) ([23000d4](AztecProtocol/aztec-packages@23000d4)) * Publish aztec packages ([#11434](AztecProtocol/aztec-packages#11434)) ([d9bfd51](AztecProtocol/aztec-packages@d9bfd51)) * Re-stage the git hook formatted files - doh ([#11430](AztecProtocol/aztec-packages#11430)) ([02e6529](AztecProtocol/aztec-packages@02e6529)) * **readme:** Remove stale link ([#11333](AztecProtocol/aztec-packages#11333)) ([bfcd8a5](AztecProtocol/aztec-packages@bfcd8a5)) * Spartan accounts ([#11321](AztecProtocol/aztec-packages#11321)) ([fa9c9ce](AztecProtocol/aztec-packages@fa9c9ce)) * **spartan:** Beacon node networking policy ([#11484](AztecProtocol/aztec-packages#11484)) ([d5b9892](AztecProtocol/aztec-packages@d5b9892)) * Stale selector comments ([#11311](AztecProtocol/aztec-packages#11311)) ([629bd64](AztecProtocol/aztec-packages@629bd64)) * Txe partial note support ([#11414](AztecProtocol/aztec-packages#11414)) ([cd9cad9](AztecProtocol/aztec-packages@cd9cad9)) * Update devbox ([#11339](AztecProtocol/aztec-packages#11339)) ([aca84ff](AztecProtocol/aztec-packages@aca84ff)) * Use simulation to estimate gas used ([#11211](AztecProtocol/aztec-packages#11211)) ([63776f0](AztecProtocol/aztec-packages@63776f0)) * Verify start state of a block ([#11290](AztecProtocol/aztec-packages#11290)) ([5eb3e8f](AztecProtocol/aztec-packages@5eb3e8f)) * Version undefined does not exist for tree NULLIFIER_TREE ([#11421](AztecProtocol/aztec-packages#11421)) ([b1cb502](AztecProtocol/aztec-packages@b1cb502)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](AztecProtocol/aztec-packages#11402)) ([f1fd2d1](AztecProtocol/aztec-packages@f1fd2d1)) * Add OTEL_EXCLUDE_METRICS ([#11317](AztecProtocol/aztec-packages#11317)) ([37d4fa8](AztecProtocol/aztec-packages@37d4fa8)) * **avm:** Do not use commit_sparse ([#11447](AztecProtocol/aztec-packages#11447)) ([9796e1e](AztecProtocol/aztec-packages@9796e1e)) * **avm:** Remove some codegen bloat ([#11418](AztecProtocol/aztec-packages#11418)) ([6b0106c](AztecProtocol/aztec-packages@6b0106c)) * **bootstrap:** Refine noir contracts rebuild pattern ([#11367](AztecProtocol/aztec-packages#11367)) ([90f5e8f](AztecProtocol/aztec-packages@90f5e8f)) * Bump CRS and constants ([#11306](AztecProtocol/aztec-packages#11306)) ([9e5ea3a](AztecProtocol/aztec-packages@9e5ea3a)) * **ci:** Set correct image version in aztec image docker releases ([#11334](AztecProtocol/aztec-packages#11334)) ([197db95](AztecProtocol/aztec-packages@197db95)) * Dont install and run metrics stack on kind network smoke ([#11366](AztecProtocol/aztec-packages#11366)) ([f66db63](AztecProtocol/aztec-packages@f66db63)) * Exclude system metrics from k8s deployments ([#11401](AztecProtocol/aztec-packages#11401)) ([31be5fb](AztecProtocol/aztec-packages@31be5fb)) * Exp 2 with 128 validators ([#11483](AztecProtocol/aztec-packages#11483)) ([206ca8d](AztecProtocol/aztec-packages@206ca8d)) * Fix devnet deploy ([#11387](AztecProtocol/aztec-packages#11387)) ([71d8ede](AztecProtocol/aztec-packages@71d8ede)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](AztecProtocol/aztec-packages#11377)) ([5018c94](AztecProtocol/aztec-packages@5018c94)) * Improving clarity of serialization in macros ([#11460](AztecProtocol/aztec-packages#11460)) ([7790973](AztecProtocol/aztec-packages@7790973)) * Increase initial fee juice mint ([#11369](AztecProtocol/aztec-packages#11369)) ([bca7052](AztecProtocol/aztec-packages@bca7052)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](AztecProtocol/aztec-packages#11393)) ([30a063a](AztecProtocol/aztec-packages@30a063a)) * More granular error handling for toradixBE ([#11378](AztecProtocol/aztec-packages#11378)) ([64f4052](AztecProtocol/aztec-packages@64f4052)), closes [#11295](AztecProtocol/aztec-packages#11295) * Nargo fmt pre-commit hook ([#11416](AztecProtocol/aztec-packages#11416)) ([6f2e2e0](AztecProtocol/aztec-packages@6f2e2e0)) * Nuking redundant oracle ([#11368](AztecProtocol/aztec-packages#11368)) ([b32d9a1](AztecProtocol/aztec-packages@b32d9a1)) * **p2p:** Disable flakey test ([#11380](AztecProtocol/aztec-packages#11380)) ([94012b5](AztecProtocol/aztec-packages@94012b5)) * **p2p:** Reorganise reqresp handlers ([#11327](AztecProtocol/aztec-packages#11327)) ([f048acd](AztecProtocol/aztec-packages@f048acd)) * Point to monorepo's nargo in vscode workspace settings ([#11349](AztecProtocol/aztec-packages#11349)) ([bb96e7c](AztecProtocol/aztec-packages@bb96e7c)) * Print warning in builder when failure happens. ([#11205](AztecProtocol/aztec-packages#11205)) ([5a52e95](AztecProtocol/aztec-packages@5a52e95)) * Public network with sepolia ([#11488](AztecProtocol/aztec-packages#11488)) ([80f5a46](AztecProtocol/aztec-packages@80f5a46)) * Rc-2 release on Sepolia ([#11479](AztecProtocol/aztec-packages#11479)) ([bef7b0f](AztecProtocol/aztec-packages@bef7b0f)) * Redo typo PR by Daulox92 ([#11458](AztecProtocol/aztec-packages#11458)) ([f3ba327](AztecProtocol/aztec-packages@f3ba327)) * Redo typo PR by Dimitrolito ([#11413](AztecProtocol/aztec-packages#11413)) ([d4b7075](AztecProtocol/aztec-packages@d4b7075)) * Redo typo PR by nnsW3 ([#11322](AztecProtocol/aztec-packages#11322)) ([de64823](AztecProtocol/aztec-packages@de64823)) * Redo typo PR by offensif ([#11411](AztecProtocol/aztec-packages#11411)) ([a756578](AztecProtocol/aztec-packages@a756578)) * Redo typo PR by savvar9991 ([#11412](AztecProtocol/aztec-packages#11412)) ([53ea3af](AztecProtocol/aztec-packages@53ea3af)) * Redo typo PR by teenager-ETH ([#11320](AztecProtocol/aztec-packages#11320)) ([77854e2](AztecProtocol/aztec-packages@77854e2)) * Redo typo PR by teenager-ETH ([#11450](AztecProtocol/aztec-packages#11450)) ([dd46152](AztecProtocol/aztec-packages@dd46152)) * Reenable reqresp offline peers test ([#11384](AztecProtocol/aztec-packages#11384)) ([931dfa6](AztecProtocol/aztec-packages@931dfa6)) * Renaming emit unencrypted -> emit public ([#11361](AztecProtocol/aztec-packages#11361)) ([c047a12](AztecProtocol/aztec-packages@c047a12)) * Replace relative paths to noir-protocol-circuits ([6f644cd](AztecProtocol/aztec-packages@6f644cd)) * Replace relative paths to noir-protocol-circuits ([fe24778](AztecProtocol/aztec-packages@fe24778)) * Replace relative paths to noir-protocol-circuits ([fcdb409](AztecProtocol/aztec-packages@fcdb409)) * Replace relative paths to noir-protocol-circuits ([ea43aed](AztecProtocol/aztec-packages@ea43aed)) * Replace relative paths to noir-protocol-circuits ([7653c69](AztecProtocol/aztec-packages@7653c69)) * Replace relative paths to noir-protocol-circuits ([204476e](AztecProtocol/aztec-packages@204476e)) * Serialize trait impls for U128 following intrinsic Noir serialization ([#11142](AztecProtocol/aztec-packages#11142)) ([c5671d2](AztecProtocol/aztec-packages@c5671d2)) * Slower exp2 ([#11487](AztecProtocol/aztec-packages#11487)) ([e995c0f](AztecProtocol/aztec-packages@e995c0f)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](AztecProtocol/aztec-packages#11364)) ([bf3b12a](AztecProtocol/aztec-packages@bf3b12a)) * **spartan:** Apply release fixes post cl ([#11385](AztecProtocol/aztec-packages#11385)) ([2bbf562](AztecProtocol/aztec-packages@2bbf562)) * Stricter contributing rules ([#11462](AztecProtocol/aztec-packages#11462)) ([2535425](AztecProtocol/aztec-packages@2535425)) * Temporarily disable boxes ([#11472](AztecProtocol/aztec-packages#11472)) ([f6c63fe](AztecProtocol/aztec-packages@f6c63fe)) * Test starting multiple anvils allocates distinct ports ([#11314](AztecProtocol/aztec-packages#11314)) ([e385ea9](AztecProtocol/aztec-packages@e385ea9)) * Trace propagation from json rpc client to server ([#11325](AztecProtocol/aztec-packages#11325)) ([85ccc15](AztecProtocol/aztec-packages@85ccc15)) * Try fix e2e block building flake ([#11359](AztecProtocol/aztec-packages#11359)) ([38fbd5c](AztecProtocol/aztec-packages@38fbd5c)) * Try fix flakey public processor test ([#11348](AztecProtocol/aztec-packages#11348)) ([8de55d4](AztecProtocol/aztec-packages@8de55d4)) * Updated ethereum resource config ([#11485](AztecProtocol/aztec-packages#11485)) ([8788561](AztecProtocol/aztec-packages@8788561)) </details> <details><summary>barretenberg: 0.72.0</summary> ## [0.72.0](AztecProtocol/aztec-packages@barretenberg-v0.71.0...barretenberg-v0.72.0) (2025-01-24) ### ⚠ BREAKING CHANGES * public logs ([#11091](AztecProtocol/aztec-packages#11091)) ### Features * **avm:** Address and class id derivation setup ([#11354](AztecProtocol/aztec-packages#11354)) ([5f3cffc](AztecProtocol/aztec-packages@5f3cffc)) * **avm:** Bytecode manager changes ([#11347](AztecProtocol/aztec-packages#11347)) ([4a9c072](AztecProtocol/aztec-packages@4a9c072)) * **avm:** Include initial tree roots in DB ([#11360](AztecProtocol/aztec-packages#11360)) ([4d149be](AztecProtocol/aztec-packages@4d149be)) * **avm:** Interactive debugger ([#11477](AztecProtocol/aztec-packages#11477)) ([53e57d3](AztecProtocol/aztec-packages@53e57d3)) * Eccvm sumcheck with commitments to round univariates ([#11206](AztecProtocol/aztec-packages#11206)) ([fe34b05](AztecProtocol/aztec-packages@fe34b05)) * Lazy wasm pt. 2 ([#11410](AztecProtocol/aztec-packages#11410)) ([01510f4](AztecProtocol/aztec-packages@01510f4)) * Public logs ([#11091](AztecProtocol/aztec-packages#11091)) ([f4725d2](AztecProtocol/aztec-packages@f4725d2)) * UH recursion in the browser ([#11049](AztecProtocol/aztec-packages#11049)) ([c3c04a4](AztecProtocol/aztec-packages@c3c04a4)) ### Bug Fixes * Hackily fix the public input columns of avm recursion constraint ([#11428](AztecProtocol/aztec-packages#11428)) ([436c3c6](AztecProtocol/aztec-packages@436c3c6)) * Verify start state of a block ([#11290](AztecProtocol/aztec-packages#11290)) ([5eb3e8f](AztecProtocol/aztec-packages@5eb3e8f)) ### Miscellaneous * Add a couple of comments in the AVM range check gadget ([#11402](AztecProtocol/aztec-packages#11402)) ([f1fd2d1](AztecProtocol/aztec-packages@f1fd2d1)) * **avm:** Do not use commit_sparse ([#11447](AztecProtocol/aztec-packages#11447)) ([9796e1e](AztecProtocol/aztec-packages@9796e1e)) * **avm:** Remove some codegen bloat ([#11418](AztecProtocol/aztec-packages#11418)) ([6b0106c](AztecProtocol/aztec-packages@6b0106c)) * Bump CRS and constants ([#11306](AztecProtocol/aztec-packages#11306)) ([9e5ea3a](AztecProtocol/aztec-packages@9e5ea3a)) * Fixed VK in MegaZK/ECCVM/Translator/Tube Recursive Verifier circuits ([#11377](AztecProtocol/aztec-packages#11377)) ([5018c94](AztecProtocol/aztec-packages@5018c94)) * Minor Gemini refactor to prep for opening k-shifts ([#11393](AztecProtocol/aztec-packages#11393)) ([30a063a](AztecProtocol/aztec-packages@30a063a)) * More granular error handling for toradixBE ([#11378](AztecProtocol/aztec-packages#11378)) ([64f4052](AztecProtocol/aztec-packages@64f4052)), closes [#11295](AztecProtocol/aztec-packages#11295) * Print warning in builder when failure happens. ([#11205](AztecProtocol/aztec-packages#11205)) ([5a52e95](AztecProtocol/aztec-packages@5a52e95)) * Redo typo PR by Daulox92 ([#11458](AztecProtocol/aztec-packages#11458)) ([f3ba327](AztecProtocol/aztec-packages@f3ba327)) * Redo typo PR by teenager-ETH ([#11320](AztecProtocol/aztec-packages#11320)) ([77854e2](AztecProtocol/aztec-packages@77854e2)) * **sol:** Generate & compile verifier contract in bootstrap ([#11364](AztecProtocol/aztec-packages#11364)) ([bf3b12a](AztecProtocol/aztec-packages@bf3b12a)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Overview
Rather than serially sendinging request response through a list of peers, we instead sample from the peer set.
Attempting to connect to a node that we do not already have a connection open with.
If we are unable to get a free node after a number of attempts, we simply bite the bullet and dial a peer we are
already connected to.
The aim is for this to decrease experienced rate limiting from other peers
part of #8458