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

iotaledger / iota / 28414473601 / 1
68%
develop: 68%

Build:
DEFAULT BRANCH: develop
Ran 30 Jun 2026 02:36AM UTC
Files 1109
Run time 31s
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

29 Jun 2026 12:54PM UTC coverage: 67.438% (+0.08%) from 67.359%
28414473601.1

push

github

web-flow
refactor(iota-types): replace node EndOfEpochData with SDK type (#12027)

## Why

Continues the effort to remove duplicated checkpoint-family types from
`iota-types` and adopt their canonical `iota_sdk_types` counterparts
(cf. `Object` #11718, `CheckpointCommitment` #11976). This is **PR 2 of
the checkpoint-family track** — `EndOfEpochData` is embedded in
`CheckpointSummary` and depends only on `CheckpointCommitment` (already
migrated).

## What

- Drop the node `struct EndOfEpochData` and re-export
`iota_sdk_types::checkpoint::EndOfEpochData`. It is BCS-identical, so
the wire format does not change:
- `next_epoch_committee`: `Vec<(AuthorityName, StakeUnit)>` →
`Vec<ValidatorCommitteeMember>` (a tuple and a struct serialize
identically in BCS, and the SDK `Bls12381PublicKey` serializes
length-prefixed exactly like `AuthorityPublicKeyBytes`).
- `next_epoch_protocol_version`: `ProtocolVersion` (`NEWTYPESTRUCT:
U64`) → bare `u64`.
- Delete the now-redundant `EndOfEpochData` `From` impls from
`iota_sdk_types_conversions.rs`, and simplify the two
`CheckpointSummary` conversions whose `end_of_epoch_data` field is now
the same type on both sides (`.map(Into::into)` became a no-op).
- Add two helpers on `Committee` to localize the node↔SDK
committee-member mapping: `from_committee_members` (build a committee
from `next_epoch_committee`) and `committee_members` (the inverse).
Update all construction/read sites in `iota-core`, `iota-network`,
`simulacrum`, `iota-light-client`, and the `iota-types` stores to use
them.
- Update the `iota-json-rpc-types` `EndOfEpochDataSchema` `From` impls
to bridge the new SDK field types — the public camelCase JSON-RPC wire
format is unchanged.

## Test plan

- `cargo check --tests` across `iota-types`, `iota-core`,
`iota-indexer`, `iota-json-rpc-types`, `iota-json-rpc`,
`iota-graphql-rpc`, `iota-grpc-server`, `iota-light-client`,
`iota-network`, `simulacrum`, `iota-swarm-config`,
`iota-data-ingestion-core`.
- `cargo clippy --al... (continued)

157779 of 233963 relevant lines covered (67.44%)

489377.44 hits per line

Source Files on job nextest+simtest - 28414473601.1
  • Tree
  • List 1109
  • Changed 33
  • Source Changed 15
  • Coverage Changed 29
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 28414473601
  • 17752581 on github
  • Prev Job for on develop (#28343461771.1)
  • Next Job for on develop (#28487821551.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