Changes for release node/v0.5.2#109
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Enables fast sync overlays to use two-step broadcast with QUIC reliability, and refactors semi-private overlays to distinguish validator ADNL IDs from validator signing public keys (for certificate verification).
Changes:
- Extend semi-private overlay creation to accept both
root_adnl_idsandroot_public_keys, plus ause_quicflag. - Update fast sync overlay routing to include prev/this/next validator sets as roots and optionally send via two-step broadcast.
- Add client helpers to send two-step broadcasts and plumb QUIC enablement through overlay types.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/node/src/network/overlay_client.rs |
Updates semi-private overlay creation parameters and adds broadcast_twostep wrapper. |
src/node/src/network/full_node_overlays.rs |
Passes QUIC settings + expanded root validator set into fast sync overlays; conditionally uses two-step broadcast. |
src/node/src/network/fast_sync_overlay_client.rs |
Builds root ADNL/public key lists, toggles two-step/QUIC usage, and adds send_twostep_broadcast. |
src/adnl/tests/test_overlay.rs |
Adjusts semi-private overlay tests to new add_semiprivate_overlay signature. |
src/adnl/src/overlay/mod.rs |
Refactors certified-member overlay state, adds QUIC support for it, and filters two-step neighbours to root validators. |
Comments suppressed due to low confidence (1)
src/node/src/network/full_node_overlays.rs:476
update_fast_sync_overlaysnow takesmc_use_quic/shard_use_quic, but the early-return condition only checksmonitor_min_splitandvalidators_changed. If QUIC config changes while those stay the same, overlays won't be recreated and the new setting won’t take effect. Consider tracking the previous QUIC settings (e.g., store them alongsidemonitor_min_split_for_fast_sync) and include them in the change detection logic.
let mut cur_validators = self.validators.lock().await;
let validators_changed = *cur_validators != *this_validators;
let old_monitor_min_split = self.monitor_min_split_for_fast_sync.load(Ordering::Relaxed);
if (old_monitor_min_split == new_monitor_min_split) && !validators_changed {
return Ok(());
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix two-step broadcast neighbour count for two-step broadcasts
cleverfox
approved these changes
Apr 21, 2026
TVM stack slice TL-serialization fix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.