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

iotaledger / iota-rust-sdk / 27049154665
36%

Build:
DEFAULT BRANCH: develop
Ran 06 Jun 2026 01:48AM UTC
Jobs 1
Files 179
Run time 1min
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

05 Jun 2026 06:34AM UTC coverage: 40.247% (+0.06%) from 40.19%
27049154665

push

github

web-flow
feat!: separate Event and GraphQlEvent types (#1184)

* fix(ffi): split GraphQL event from core chain Event

The FFI `Event` struct conflated two concepts: a GraphQL-sourced event
(optional sender/module, plus data/json/timestamp) and the core chain
`iota_sdk::types::Event` (all fields required, BCS/JSON serializable).
The GraphQL->Event conversion `.unwrap()`d on sender/module/timestamp,
panicking on system events (e.g. 0x3::validator::StakingRequestEvent),
and the Event->core conversion silently defaulted missing fields to
ZERO/empty while `.unwrap()`ing an invalid empty `Identifier`.

Split into two types:
- `GraphQlEvent`: faithful, non-lossy view of the GraphQL `events`
  query result, with optional package_id/module/sender/timestamp.
- `Event`: mirrors `iota_sdk::types::Event` 1:1 with required fields.

The core conversion is now `TryFrom`, so `event_to_bcs`/`event_to_json`
(and the `TransactionEvents`/`GenesisTransaction` constructors) fail
cleanly instead of panicking or producing zeroed output. Binding
examples updated to handle the now-optional sender/module.

* chore(ffi): clarify optional event field comment in examples

Sender/module are null for system- and genesis-emitted events (sender
0x0), not for the StakingRequestEvent type per se.

* chore(ffi): clarify GraphQlEvent doc on optional fields

Match the example comments: sender/module are null for system- and
genesis-emitted events (sender 0x0), not the StakingRequestEvent type.

* chore(ffi): generalize optional event field comment in examples

Drop the StakingRequestEvent reference (the examples query a user event
that always has sender/module); just note some events omit them.

* fix(go-example): deref double pointer for optional event sender

uniffi-bindgen-go renders Option<Arc<Address>> as **Address, so the
optional GraphQlEvent.Sender needs an extra deref before calling ToHex.

* refactor(ffi): make GraphQlEvent non-lossy and move it to graphql module

- Make the GraphQL Event ... (continued)

9200 of 22859 relevant lines covered (40.25%)

9863.34 hits per line

Coverage Regressions

Lines Coverage ∆ File
6
71.25
-1.06% crates/iota-sdk-types/src/object.rs
3
26.88
-3.23% crates/iota-sdk-types/src/crypto/ed25519.rs
2
83.77
2.6% crates/iota-sdk-types/src/crypto/passkey.rs
1
83.14
0.0% crates/iota-sdk-types/src/crypto/multisig.rs
Jobs
ID Job ID Ran Files Coverage
1 nextest - 27049154665.1 06 Jun 2026 01:48AM UTC 179
40.25
GitHub Action Run
Source Files on build 27049154665
  • Tree
  • List 179
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27049154665
  • 9c5eb8d5 on github
  • Prev Build on develop (#26990494904)
  • Next Build on develop (#27079619703)
  • 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