#off-chain #move-type #type-tags #standard #object #move-struct

af-move-type

Standard for representing Move types (MoveType) off-chain and their type tags

30 releases (10 breaking)

Uses new Rust 2024

0.17.0 Jan 8, 2026
0.16.0 Nov 13, 2025
0.15.0 Oct 9, 2025
0.13.0 Jul 30, 2025
0.9.1 Mar 31, 2025

#49 in #off-chain

Download history 189/week @ 2025-10-13 163/week @ 2025-10-20 145/week @ 2025-10-27 65/week @ 2025-11-03 137/week @ 2025-11-10 168/week @ 2025-11-17 182/week @ 2025-11-24 112/week @ 2025-12-01 191/week @ 2025-12-08 163/week @ 2025-12-15 136/week @ 2025-12-22 139/week @ 2025-12-29 157/week @ 2026-01-05 145/week @ 2026-01-12 179/week @ 2026-01-19 178/week @ 2026-01-26

666 downloads per month
Used in 12 crates (9 directly)

Apache-2.0

135KB
3K SLoC

Defines the core standard for representing Move types off-chain and their type tags.

The core items are MoveType and MoveTypeTag. These are useful trait bounds to use when dealing with generic off-chain Move type representations. They are implemented for the primitive types that correspond to Move's primitives (integers/bool). Also included is MoveVec, corresponding to vector and defining a pretty Display.

For Move structs (objects), MoveStruct should be used as it has an associated MoveStructTag. The MoveStruct derive macro is exported for automatically creating a MoveStructTag implementation from normal Rust struct declarations.

A specific instance of a Move type is represented by MoveInstance.


Defines the core standard for representing Move types off-chain and their type tags.

The core items are MoveType and MoveTypeTag. These are useful trait bounds to use when dealing with generic off-chain Move type representations. They are implemented for the primitive types that correspond to Move's primitives (integers/bool). Also included is MoveVec, corresponding to vector and defining a pretty Display.

For Move structs (objects), MoveStruct should be used as it has an associated MoveStructTag. The MoveStruct derive macro is exported for automatically creating a MoveStructTag implementation from normal Rust struct declarations.

A specific instance of a Move type is represented by MoveInstance.

Dependencies

~14MB
~262K SLoC