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!]
module: MoveModule!
name: String!
typeParameters: [MoveDatatypeTypeParameter!]
}

Fields

IMoveDatatype.abilities ● [MoveAbility!] list enum

Abilities on this datatype definition.

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