Skip to main content

IMoveDatatype

Interface implemented by all GraphQL types that represent a Move datatype definition (either a struct or an enum definition).

This interface is used to provide a way to access fields that are shared by both structs and enums, e.g., the module that the datatype belongs to, the name of the datatype, type parameters etc.

interface IMoveDatatype {
abilities: [MoveAbility!]
fullyQualifiedName: String!
module: MoveModule!
name: String!
typeParameters: [MoveDatatypeTypeParameter!]
}

Fields​

IMoveDatatype.abilities ● [MoveAbility!] list enum​

Abilities on this datatype definition.

IMoveDatatype.fullyQualifiedName ● String! non-null scalar​

The datatype's fully-qualified name, including package address, module name, and datatype name.

IMoveDatatype.module ● MoveModule! non-null object​

The module that this datatype is defined in

IMoveDatatype.name ● String! non-null scalar​

The datatype's unqualified name

IMoveDatatype.typeParameters ● [MoveDatatypeTypeParameter!] list object​

Constraints on the datatype's formal type parameters

Move bytecode does not name type parameters, so when they are referenced (e.g. in field types), they are identified by their index in this list.

Implemented By​

MoveDatatype object ● MoveEnum object ● MoveStruct object