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

iotaledger / iota / 26612825483
67%

Build:
DEFAULT BRANCH: develop
Ran 29 May 2026 02:34AM UTC
Jobs 1
Files 1076
Run time 2min
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

28 May 2026 01:19PM UTC coverage: 66.88% (+0.004%) from 66.876%
26612825483

push

github

web-flow
feat(iota-types): compile iota-types to wasm32 (#11660)

## Summary

Makes the `iota-types` crate compile to `wasm32-unknown-unknown`, a
prerequisite for running the Move VM / execution layer in the browser.
The guiding rule: **client-visible types stay wasm-compatible; node-only
types are gated out entirely.**

Fixes https://github.com/iotaledger/iota/issues/11546

Two mechanisms, applied per module:

- **Module is node-only** → gate the whole module out on wasm. The
native file stays byte-identical to `develop`.
- `messages_consensus` + `messages_grpc` (consensus / gRPC machinery;
pull in `fastcrypto-tbls` / `tonic`).
- `iota_system_state::epoch_start_iota_system_state`
(`EpochStartSystemState`; pulls in `anemo` / `starfish-config`). The
single trait link that surfaced it —
`IotaSystemStateTrait::into_epoch_start_state` — is gated along with its
V1/V2 impls.
- Knock-on edits only: `transaction.rs` now imports
`CancelledTransaction` / `ConsensusCommitPrologueV1` /
`ConsensusDeterminedVersionAssignments` directly from `iota_sdk_types`
(they were re-exports), and the `BcsSignable` impl for
`VersionedMisbehaviorReport` is gated.

- **Module exports types the execution/client path needs on wasm** →
provide no-op stubs.
- `metrics`: native items gated in place (no re-indentation);
`LimitsMetrics` / `BytecodeVerifierMetrics` stubs appended behind
`#[cfg(wasm32)]`.
- `multiaddr`: `Multiaddr` appears in on-chain validator metadata;
backed by a small wasm stub in `wasm_multiaddr.rs` (the only added
file).

`Cargo.toml` sorts the wasm-incompatible dependencies (`prometheus`,
`anemo`, `tonic`, `fastcrypto-tbls`, `starfish-config`, …) into
`[target.'cfg(not(target_arch = "wasm32"))'.dependencies]`.

## CI

Adds a `check-wasm32` job to `_rust_tests.yml` that installs the
`wasm32-unknown-unknown` target and runs `cargo check -p iota-types
--target wasm32-unknown-unknown`, guarding the new constraint going
forward.

## Test plan

- [x] `cargo check -p iota-types --... (continued)

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

1831 existing lines in 33 files now uncovered.

152496 of 228015 relevant lines covered (66.88%)

463561.33 hits per line

Coverage Regressions

Lines Coverage ∆ File
511
81.47
0.23% crates/iota-core/src/authority.rs
384
54.23
-0.8% crates/iota-replay/src/replay.rs
124
80.17
-2.49% crates/iota-core/src/traffic_controller/mod.rs
115
0.0
0.0% crates/iota-node/src/admin.rs
105
80.49
-0.06% iota-execution/latest/iota-adapter/src/execution_engine.rs
98
90.2
-0.42% crates/iota-protocol-config/src/lib.rs
85
44.13
-0.86% crates/iota-json-rpc/src/axum_router.rs
64
84.8
0.07% crates/iota-config/src/node.rs
64
80.82
0.22% crates/iota-core/src/authority_server.rs
60
87.19
0.01% crates/iota-node/src/lib.rs
40
84.13
0.79% iota-execution/latest/iota-move-natives/src/auth_context.rs
36
76.73
0.0% crates/iota-types/src/error.rs
28
89.43
-4.28% iota-execution/latest/iota-move-natives/src/authentication_context.rs
23
80.17
-1.65% crates/iota-types/src/traffic_control.rs
19
72.33
-4.07% crates/iota-json-rpc/src/lib.rs
11
57.14
15.84% crates/iota-types/src/account_abstraction/authenticator_function.rs
11
93.92
1.51% crates/iota-types/src/auth_context/mod.rs
10
81.87
-1.95% crates/starfish/core/src/network/tonic_network.rs
6
99.43
0.01% iota-execution/latest/iota-move-natives/src/lib.rs
5
90.4
-0.42% crates/iota-core/src/epoch/randomness.rs
5
85.59
-2.25% crates/starfish/core/src/leader_timeout.rs
5
98.1
-1.58% crates/transaction-fuzzer/src/account_universe/transfer_gen.rs
4
74.53
-0.29% crates/iota-network/src/randomness/mod.rs
3
97.81
0.1% crates/iota-core/src/traffic_controller/metrics.rs
3
93.78
-0.13% crates/starfish/core/src/authority_service.rs
3
94.72
-0.33% crates/starfish/core/src/block_header.rs
2
89.08
-0.11% crates/iota-network/src/state_sync/mod.rs
2
88.99
-0.22% crates/starfish/core/src/commit_syncer/fast.rs
1
91.23
0.13% crates/iota-core/src/authority/authority_per_epoch_store.rs
1
77.46
0.14% crates/iota-core/src/checkpoints/mod.rs
1
96.86
-0.1% crates/starfish/core/src/cordial_knowledge.rs
1
91.78
0.0% crates/starfish/core/src/header_synchronizer.rs
1
99.59
-0.01% iota-execution/src/latest.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest+simtest - 26612825483.1 29 May 2026 02:34AM UTC 1076
66.88
GitHub Action Run
Source Files on build 26612825483
  • Tree
  • List 1076
  • Changed 53
  • Source Changed 33
  • Coverage Changed 52
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26612825483
  • 0692beac on github
  • Prev Build on develop (#26549227281)
  • 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