Skip to main content


Description of a type, defined in a Move module.

type MoveStruct {
module: MoveModule!
name: String!
abilities: [MoveAbility!]
typeParameters: [MoveStructTypeParameter!]
fields: [MoveField!]


MoveStruct.module ● MoveModule! non-null object

The module this struct was originally defined in. ● String! non-null scalar

The struct's (unqualified) type name.

MoveStruct.abilities ● [MoveAbility!] list enum

Abilities this struct has.

MoveStruct.typeParameters ● [MoveStructTypeParameter!] list object

Constraints on the struct'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.

MoveStruct.fields ● [MoveField!] list object

The names and types of the struct's fields. Field types reference type parameters, by their index in the defining struct's typeParameters list.

Member Of

MoveModule object ● MoveStructConnection object ● MoveStructEdge object