• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iotaledger / iota / 24867676604
67%

Build:
DEFAULT BRANCH: develop
Ran 24 Apr 2026 02:33AM UTC
Jobs 1
Files 1266
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Apr 2026 02:53PM UTC coverage: 65.306% (+6.1%) from 59.168%
24867676604

push

github

web-flow
fix(starfish): drop too-old ancestors when proposing a new block (#11303)

# Description of change

`Core::ancestors_to_propose` now skips ancestors whose round is strictly
below the linearizer's gc cutoff seen from the perspective of our
not-yet-proposed block. Such ancestors would be filtered out by the
linearizer anyway — referencing them only forces receiving validators to
chase the references through the header synchronizer. This is especially
important for fast commit syncer logic which reinitialize the dag state
with only a few recent blocks.

- **Filter** (`crates/starfish/core/src/core.rs`): inside
`ancestors_to_propose`, drop any candidate with `ancestor.round() <
min_ancestor_round(clock_round)` before the existing per-author dedup
logic. Own last proposed block header is still unconditionally chained
first.
- **`min_ancestor_round`**: `clock_round - gc_depth` if we are a leader
at `clock_round` (the linearizer at our own commit uses `gc_round =
clock_round - gc_depth`), otherwise `clock_round - (gc_depth - 1)` (the
earliest leader that can commit a non-leader block is at `clock_round +
1`, so its `gc_round` is one round higher).
- **Gate**: `consensus_fast_commit_sync`. When the flag is off the
method returns `GENESIS_ROUND = 0`, and the strict `<` filter never
fires — zero behavior change on networks without it (e.g. mainnet
today).
- **Edge cases**: `saturating_sub` naturally clamps small `clock_round`s
(`< depth`) to `0`; the filter self-disables there, so no special
quorum-round clamp is needed. Non-leader rounds that briefly have no
scheduled leader fall through to the `gc_depth - 1` branch which is only
ever stricter than what the eventual linearizer needs.

**Best-effort, not enforced.** This is a best-effort proposer-side
filter — receiving validators do not reject blocks that still reference
too-old ancestors. A proper validity check (rejecting blocks whose
ancestor rounds violate the same bound) will be added in a follow-up PR
wi... (continued)

63 of 63 new or added lines in 1 file covered. (100.0%)

534 existing lines in 20 files now uncovered.

176255 of 269890 relevant lines covered (65.31%)

433052.13 hits per line

Coverage Regressions

Lines Coverage ∆ File
280
62.51
6.54% crates/iota-core/src/grpc_indexes.rs
89
81.74
-0.01% crates/iota-node/src/lib.rs
56
87.5
1.35% crates/iota-grpc-server/src/types.rs
34
54.15
4.15% crates/iota-grpc-server/src/error.rs
12
94.03
-2.05% crates/iota-core/src/congestion_tracker.rs
9
47.55
-4.41% external-crates/move/crates/move-package/src/compilation/build_plan.rs
8
74.82
-0.72% crates/iota-network/src/randomness/mod.rs
8
94.16
-0.35% crates/starfish/core/src/authority_service.rs
7
67.65
-10.29% crates/iota-types/src/execution_status.rs
6
78.92
-1.47% crates/iota-core/src/storage.rs
5
69.34
-0.21% crates/iota/src/client_commands.rs
5
91.93
-0.25% crates/starfish/core/src/header_synchronizer.rs
5
55.77
-3.21% external-crates/move/crates/move-package/src/lib.rs
2
88.95
-0.09% crates/iota-core/src/authority/authority_per_epoch_store.rs
2
95.77
-0.26% crates/iota-core/src/consensus_adapter.rs
2
92.83
-0.84% crates/iota-http/src/lib.rs
1
90.64
0.1% consensus/core/src/synchronizer.rs
1
97.22
-0.56% crates/iota-core/src/checkpoints/causal_order.rs
1
89.35
-0.34% crates/iota-core/src/connection_monitor.rs
1
89.2
0.33% crates/starfish/core/src/commit_syncer/fast.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 24867676604.1 24 Apr 2026 02:33AM UTC 1266
65.31
GitHub Action Run
Source Files on build 24867676604
  • Tree
  • List 1266
  • Changed 43
  • Source Changed 11
  • Coverage Changed 38
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24867676604
  • 895a9a0e on github
  • Prev Build on develop (#24811801316)
  • Next Build on develop (#24919387294)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc