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

iotaledger / iota / 25029037219 / 1
67%
develop: 67%

Build:
DEFAULT BRANCH: develop
Ran 28 Apr 2026 02:28AM UTC
Files 1216
Run time 29s
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

27 Apr 2026 03:56PM UTC coverage: 63.138% (-2.5%) from 65.589%
25029037219.1

push

github

web-flow
feat!: Replace `IotaAddress` with SDK `Address` (#11330)

This PR is part of the ongoing effort to consolidate blockchain types in
the
canonical `iota-rust-sdk`. Types that are needed by both clients/SDK
consumers
and the node should live in `iota-rust-sdk` and be imported from there,
instead
of being defined twice (once in `iota-types`, once in the SDK).

This PR replaces `IotaAddress` (previously defined in `iota-types`) with
the
SDK version from `iota-sdk-types`. To keep the diff small and avoid
touching
every call site, the SDK type is re-exported from `iota-types` under the
original name `IotaAddress`, so most existing imports continue to work
unchanged.

## What changed

- The local `pub struct IotaAddress([u8; IOTA_ADDRESS_LENGTH])`
definition
  and its inherent impls in

[crates/iota-types/src/base_types.rs](crates/iota-types/src/base_types.rs)
  are removed. `IotaAddress` is now a re-export:
  `pub use iota_sdk_types::Address as IotaAddress;`

## Call-site adjustments

Because the SDK `Address` has a slightly different surface than the old
`IotaAddress`, a few call sites had to be updated rather than relying on
the
re-export:

- `IotaAddress::random_for_testing_only()` is replaced by the SDK's
`IotaAddress::random()` everywhere (tests, fuzzers, sample data
builders).
- `IotaAddress::default()` is replaced by `IotaAddress::ZERO` in
[effects_v1.rs](crates/iota-types/src/effects/effects_v1.rs); the SDK
type
  no longer derives `Default`, but exposes the same zero-value via the
  `ZERO` associated constant.
- `IotaAddress::try_from(bytes)` / `IotaAddress::try_from(&bytes[..])`
are
  replaced by `IotaAddress::from_bytes(...)`. The SDK signature is
`from_bytes(&[u8])` rather than `from_bytes<T: AsRef<[u8]>>`, so a few
call
  sites pass `&vec` / `&arr` explicitly (e.g.
  [iota-json/src/lib.rs](crates/iota-json/src/lib.rs),

[base_types_tests.rs](crates/iota-types/src/unit_tests/base_types_tests.rs)).
- The blanket `impl<T: IotaPublicKey> From<&T> fo... (continued)

156907 of 248513 relevant lines covered (63.14%)

447059.97 hits per line

Source Files on job nextest+simtest - 25029037219.1
  • Tree
  • List 1216
  • Changed 187
  • Source Changed 134
  • Coverage Changed 106
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25029037219
  • 1f60fa77 on github
  • Prev Job for on develop (#24972442756.1)
  • Next Job for on develop (#25086579060.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