Skip to main content


Interface implemented by all GraphQL types that represent a Move datatype (either structs or enums). 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 {
module: MoveModule!
name: String!
abilities: [MoveAbility!]
typeParameters: [MoveStructTypeParameter!]


IMoveDatatype.module ● MoveModule! non-null object

The module that the datatype belongs to. ● String! non-null scalar

The name of the datatype.

IMoveDatatype.abilities ● [MoveAbility!] list enum

The abilities of the datatype.

IMoveDatatype.typeParameters ● [MoveStructTypeParameter!] list object

The type parameters of the datatype.

Implemented By

MoveDatatype object ● MoveEnum object ● MoveStruct object