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

iotaledger / iota-rust-sdk / 28988065709 / 1
38%
develop: 38%

Build:
DEFAULT BRANCH: develop
Ran 09 Jul 2026 01:43AM UTC
Files 187
Run time 6s
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

08 Jul 2026 09:28AM UTC coverage: 38.114% (-0.01%) from 38.127%
28988065709.1

push

github

web-flow
feat: add try_from_object to remaining key-object mirror types (#1246)

* feat: add try_from_object to remaining key-object mirror types

Every mirror of a `key`-ability Move object should be constructible from
an on-chain Object with type-tag validation, but only 16 of them had a
`try_from_object`/`TryFrom<&Object>`. Add constructors for the remaining 22
(coin caps and metadata, closed-loop token and transfer-policy families,
Display, kiosk PurchaseCap, coin-manager caps, Config, zkLogin proofs,
DenyList, Random, AuthenticatorState, PackageMetadataV1, LabelerCap,
UnverifiedValidatorOperationCap), following the existing Coin/Clock pattern.

Add the StructTag predicates these constructors need, and tests: fixtures
reused via the existing macros where available, synthetic values otherwise.

Closes #1226

* refactor: generate Object constructors for Move mirrors via macro

The 38 `TryFrom<&Object>` / `try_from_object_with_type` impls on the Move
mirrors were near-identical boilerplate differing only in the type, its
`StructTag` predicate, and (for generics) the single type parameter. Collapse
them into two macros (`impl_try_from_object!` / `impl_try_from_object_generic!`),
leaving `from_bcs` and the field accessors hand-written. No behaviour change;
the existing constructor tests still guard it.

* refactor: derive the constructor-macro predicate from the type name

The predicate a mirror validates against is `is_<name:snake>` — the same
`paste` snake-casing that generated the predicate in `struct_tag.rs` — so the
constructor macros now derive it from the type and callers pass only the type.
`VerifiedID` keeps an explicit predicate: `:snake` yields `verified_i_d`, not
the hand-written `is_verified_id`.

* chore: drop zklogin VerifiedID/VerifiedIssuer from try_from_object sweep

Exclude the two zklogin verified-ID mirror types from the constructor
completeness work: remove their TryFrom<&Object> constructors, the
is_verified_id/new_verified_id struct-tag ... (continued)

8847 of 23212 relevant lines covered (38.11%)

9987.92 hits per line

Source Files on job nextest - 28988065709.1
  • Tree
  • List 187
  • Changed 10
  • Source Changed 4
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 28988065709
  • 8eb3bda0 on github
  • Prev Job for on develop (#28911259174.1)
  • Next Job for on develop (#29062941572.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