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

iotaledger / iota / 18299309643 / 1
64%
develop: 64%

Build:
DEFAULT BRANCH: develop
Ran 07 Oct 2025 04:07AM UTC
Files 1434
Run time 46s
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

06 Oct 2025 08:50PM UTC coverage: 65.827% (+0.09%) from 65.742%
18299309643.1

push

github

web-flow
feat(consensus): add shard reconstructor component to Starfish (#8751)

# Description of change

This PR introduces a new component to Starfish consensus, called
**ShardReconstructor**.
Its handle becomes part of an authority node.

Upon receiving a new block bundle via streaming and verifying its
components, the authority service component sends **transaction
messages** to the ShardReconstructor:
- `ShardMessage` – a single shard of encoded transaction data
corresponding to some block reference and transaction commitment
- `FullTransactionMessage` – a full transaction, that indicates that
these transaction data was verified against the block header.

The ShardReconstructor:
- Collects shards per block (`ShardAccumulator`). 
- Filters shards for blocks that are already processed (e.g. with
`FullTransactionMessage`)
- Detects when enough shards (`info_length`) are available to
reconstruct
- Offloads reconstruction jobs to a specified number async workers
- Verifies commitments against reconstructed transactions
- Forwards verified transactions to the core
(`CoreThreadDispatcher::add_transactions`) if the respected headers are
already part of the dag state
- Periodically evicts old state based on the DAG’s GC round

Unit and integration tests cover:
- Reconstruction only after `info_length` shards
- Stopping shard collection when a full transaction message is received
- Multi-round recovery where one authority is blocked, verifying
reconstruction from other authorities

## Links to any relevant issues

Fixes #8673 

## How the change has been tested

- [x] Basic tests (linting, compilation, formatting, unit/integration
tests)
- [x] Patch-specific tests (correctness, functionality coverage)
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have checked that new and existing unit tests pass locally with
my changes

### Release Notes

- [x] Protocol: Starfish consensus allows for decoding of the
transaction data from ... (continued)

231453 of 351606 relevant lines covered (65.83%)

2385907.08 hits per line

Source Files on job nextest+simtest - 18299309643.1
  • Tree
  • List 1434
  • Changed 33
  • Source Changed 16
  • Coverage Changed 30
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 18299309643
  • 45080f4a on github
  • Prev Job for on develop (#18267458588.1)
  • Next Job for on develop (#18330979231.1)
  • 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