Skip to main content


Signature of a function, defined in a Move module.

type MoveFunction {
module: MoveModule!
name: String!
visibility: MoveVisibility
isEntry: Boolean
typeParameters: [MoveFunctionTypeParameter!]
parameters: [OpenMoveType!]
return: [OpenMoveType!]


MoveFunction.module ● MoveModule! non-null object

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

The function's (unqualified) name.

MoveFunction.visibility ● MoveVisibility enum

The function's visibility: public, public(friend), or private.

MoveFunction.isEntry ● Boolean scalar

Whether the function has the entry modifier or not.

MoveFunction.typeParameters ● [MoveFunctionTypeParameter!] list object

Constraints on the function's formal type parameters. Move bytecode does not name type parameters, so when they are referenced (e.g. in parameter and return types) they are identified by their index in this list.

MoveFunction.parameters ● [OpenMoveType!] list object

The function's parameter types. These types can reference type parameters introduce by this function (see typeParameters).

MoveFunction.return ● [OpenMoveType!] list object

The function's return types. There can be multiple because functions in Move can return multiple values. These types can reference type parameters introduced by this function (see typeParameters).

Member Of

MoveCallTransaction object ● MoveFunctionConnection object ● MoveFunctionEdge object ● MoveModule object