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

iotaledger / iota / 17901950127
63%

Build:
DEFAULT BRANCH: develop
Ran 22 Sep 2025 03:55AM UTC
Jobs 1
Files 1420
Run time 3min
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.729% (+0.04%) from 65.689%
17901950127

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

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

29 existing lines in 11 files now uncovered.

229529 of 349205 relevant lines covered (65.73%)

2389279.07 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
91.18
-1.47% crates/iota-cluster-test/src/test_case/native_transfer_test.rs
1
99.42
-0.08% crates/iota-core/src/execution_cache/unit_tests/writeback_cache_tests.rs
1
97.01
-0.25% crates/iota-core/src/quorum_driver/tests.rs
1
89.14
-0.14% crates/iota-network/src/state_sync/mod.rs
1
81.74
-0.06% crates/starfish/core/src/synchronizer.rs
1
72.73
-0.1% crates/test-cluster/src/lib.rs
2
93.81
4.47% crates/iota-core/src/connection_monitor.rs
3
79.61
0.0% crates/starfish/core/src/network/tonic_network.rs
6
90.72
-0.37% consensus/core/src/synchronizer.rs
6
91.94
-0.88% crates/iota-core/src/transaction_manager.rs
6
84.38
-3.13% crates/iota-surfer/src/surf_strategy.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 17901950127.1 22 Sep 2025 03:55AM UTC 1422
65.72
GitHub Action Run
Source Files on build 17901950127
  • Tree
  • List 1420
  • Changed 29
  • Source Changed 1
  • Coverage Changed 29
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #17901950127
  • c944f5d9 on github
  • Prev Build on develop (#17845829315)
  • Next Build on develop (#17963609663)
  • 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