Skip to content

feat(core): support 256 authorities#127

Merged
polinikita merged 3 commits intomainfrom
feat/widen-authority-bitmask-256
Mar 19, 2026
Merged

feat(core): support 256 authorities#127
polinikita merged 3 commits intomainfrom
feat/widen-authority-bitmask-256

Conversation

@polinikita
Copy link
Member

Summary

  • Adds end-to-end support for committees up to 256 authorities by widening AuthoritySet-based paths used by strong-vote masks, useful-author bitmasks, quorum signer tracking, and DAG known-by metadata
  • Fixes 256-edge wraparounds caused by usize -> u8 upper-bound casts in committee iteration and own-block recipient indexing
  • Makes high authority ids safe in formatting/output paths and adds boundary coverage for authority iteration, peer-255 own-block delivery, and high-index formatting
  • Updates dryrun to support the wider validator range in practice: full IPv4 incrementing across octet boundaries, automatic /23 subnet selection, derived infra/container IPs, dedicated compose project naming, and stale Docker endpoint cleanup before relaunch

Test plan

  • cargo +nightly fmt --all --check
  • cargo sort -w -c
  • cargo clippy --all-features --no-deps -- -D warnings
  • cargo clippy --all-features --tests --no-deps -- -D warnings
  • cargo doc --no-deps --workspace
  • cargo build --verbose
  • cargo test --workspace -- --skip smoke_tests
  • cargo test -p starfish-core -- validator::smoke_tests --test-threads=1
  • Retry of validator::smoke_tests::validator_lifecycle_and_recovery::_cordial_miners_540_expects to match CI retry behavior
  • TEST_TIME=20 bash scripts/dryrun.sh

@github-actions
Copy link

Code Coverage

Package Line Rate Health
crates/starfish-core/src 32%
crates/orchestrator/src 16%
crates/orchestrator/src/client 7%
crates/starfish/src 3%
crates/starfish-core/src/consensus 18%
crates/starfish-core/src/core_thread 0%
crates/starfish-core/src/runtime 0%
crates/orchestrator/src/protocol 1%
Summary 28% (3275 / 11855)

@polinikita polinikita merged commit 325d8d5 into main Mar 19, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant