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

iotaledger / iota / 17887267138 / 1
63%
develop: 63%

Build:
DEFAULT BRANCH: develop
Ran 21 Sep 2025 03:55AM UTC
Files 1422
Run time 41s
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

19 Sep 2025 08:07PM UTC coverage: 65.69% (+0.01%) from 65.678%
17887267138.1

push

github

web-flow
feat(consensus): compress ancestor and ack references into a single vector (#8585)

# Description of change
Compresses the ancestor and acknowledgements vectors into a single
reference vector with overlap indices. Using the following layout.

```
references: Vec<BlockRef>, // layout: |ancestors|overlap|acks|ancestor[0]?|
overlap_start_index:u8, // bounded by committee size (<=256)
overlap_end_index: u8, // same bound as above
```
`ancestors -> &references[..overlap_end_index]`
`acks -> &references[overlap_start_index..]`
- ancestor[0] is the first ancestor supplied during block header
creation and is also the first reference in references.
- it is not added in the overlap part of references, but is added to the
end of the vectors if it is acknowledged.
- ancestors - non overlapping ancestors excluding ancestor 0
- overlap - ancestor and ack overlap without ancestor 0
- acks - non overlapping acks

This implementation adds a bit of computational overhead during block
header creation. But compresses to a single shared reference vector with
2 bytes for the indices as overhead and a single BlockRef duplication.
It keeps access to `ancestors` / `acknowledgements` in a single
continuous array in memory.

## Links to any relevant issues

Closes #8151 

## 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

229491 of 349352 relevant lines covered (65.69%)

2384736.01 hits per line

Source Files on job nextest+simtest - 17887267138.1
  • Tree
  • List 1422
  • Changed 19
  • Source Changed 1
  • Coverage Changed 19
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 17887267138
  • c944f5d9 on github
  • Prev Job for on develop (#17845829315.1)
  • Next Job for on develop (#17901950127.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