Sui

Sui Move Utils API

The Move Utils API from Sui — 5 operation(s) for move utils.

OpenAPI Specification

sui-move-utils-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Sui JSON-RPC Coin Query API Move Utils API
  description: Sui JSON-RPC API for interaction with Sui Full node. Make RPC calls using https://fullnode.NETWORK.sui.io:443, where NETWORK is the network you want to use (testnet, devnet, mainnet). By default, local networks use port 9000.
  contact:
    name: Mysten Labs
    url: https://mystenlabs.com
    email: build@mystenlabs.com
  license:
    name: Apache-2.0
    url: https://raw.githubusercontent.com/MystenLabs/sui/main/LICENSE
  version: 1.74.0
servers:
- url: https://fullnode.mainnet.sui.io:443
  description: Sui Mainnet
- url: https://fullnode.testnet.sui.io:443
  description: Sui Testnet
- url: https://fullnode.devnet.sui.io:443
  description: Sui Devnet
- url: http://localhost:9000
  description: Local node (default port)
tags:
- name: Move Utils
paths:
  /#sui_getMoveFunctionArgTypes:
    post:
      operationId: sui_getMoveFunctionArgTypes
      summary: sui_getMoveFunctionArgTypes
      description: Return the argument types of a Move function, based on normalized Type.
      tags:
      - Move Utils
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_getMoveFunctionArgTypes
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_getMoveFunctionArgTypes
                  params:
                  - '0xa0a7b108f5023b7356f2c6a4be6f058e267aae38e08260c7d519d8641897490c'
                  - suifrens
                  - mint
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/MoveFunctionArgType'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
  /#sui_getNormalizedMoveFunction:
    post:
      operationId: sui_getNormalizedMoveFunction
      summary: sui_getNormalizedMoveFunction
      description: Return a structured representation of Move function
      tags:
      - Move Utils
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_getNormalizedMoveFunction
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_getNormalizedMoveFunction
                  params:
                  - '0x9c4eb6769ca8b6a23efeb7298cf0a8d0b837b78749c2cfc711c42036cc6b7621'
                  - moduleName
                  - functionName
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    $ref: '#/components/schemas/SuiMoveNormalizedFunction'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
  /#sui_getNormalizedMoveModule:
    post:
      operationId: sui_getNormalizedMoveModule
      summary: sui_getNormalizedMoveModule
      description: Return a structured representation of Move module
      tags:
      - Move Utils
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_getNormalizedMoveModule
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_getNormalizedMoveModule
                  params:
                  - '0x0047d5fa0a823e7d0ff4d55c32b09995a0ae1eedfee9c7b1354e805ed10ee3d0'
                  - module
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    $ref: '#/components/schemas/SuiMoveNormalizedModule'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
  /#sui_getNormalizedMoveModulesByPackage:
    post:
      operationId: sui_getNormalizedMoveModulesByPackage
      summary: sui_getNormalizedMoveModulesByPackage
      description: Return structured representations of all modules in the given package
      tags:
      - Move Utils
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_getNormalizedMoveModulesByPackage
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_getNormalizedMoveModulesByPackage
                  params:
                  - '0x61630d3505f8905a0f4d42c6ff39a78a6ba2b28f68a3299ec3417bbabc6717dc'
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    type: object
                    additionalProperties:
                      $ref: '#/components/schemas/SuiMoveNormalizedModule'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
  /#sui_getNormalizedMoveStruct:
    post:
      operationId: sui_getNormalizedMoveStruct
      summary: sui_getNormalizedMoveStruct
      description: Return a structured representation of Move struct
      tags:
      - Move Utils
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - jsonrpc
              - id
              - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                  - '2.0'
                  example: '2.0'
                id:
                  type: integer
                  example: 1
                method:
                  type: string
                  enum:
                  - sui_getNormalizedMoveStruct
                params:
                  type: array
                  description: Parameters as positional array
                  items: {}
            examples:
              example:
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: sui_getNormalizedMoveStruct
                  params:
                  - '0xc95b9e341bc3aba1654bdbad707dcd773bd6309363447ef3fe58a960de92aa93'
                  - module
                  - StructName
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    enum:
                    - '2.0'
                  id:
                    type: integer
                  result:
                    $ref: '#/components/schemas/SuiMoveNormalizedStruct'
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                      data: {}
components:
  schemas:
    MoveFunctionArgType:
      oneOf:
      - type: string
        enum:
        - Pure
      - type: object
        required:
        - Object
        properties:
          Object:
            $ref: '#/components/schemas/ObjectValueKind'
        additionalProperties: false
    SuiMoveAbilitySet:
      type: object
      required:
      - abilities
      properties:
        abilities:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveAbility'
    SuiMoveStructTypeParameter:
      type: object
      required:
      - constraints
      - isPhantom
      properties:
        constraints:
          $ref: '#/components/schemas/SuiMoveAbilitySet'
        isPhantom:
          type: boolean
    SuiMoveNormalizedFunction:
      type: object
      required:
      - isEntry
      - parameters
      - return
      - typeParameters
      - visibility
      properties:
        isEntry:
          type: boolean
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveNormalizedType'
        return:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveNormalizedType'
        typeParameters:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveAbilitySet'
        visibility:
          $ref: '#/components/schemas/SuiMoveVisibility'
    SuiMoveModuleId:
      type: object
      required:
      - address
      - name
      properties:
        address:
          type: string
        name:
          type: string
    SuiMoveNormalizedField:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
        type:
          $ref: '#/components/schemas/SuiMoveNormalizedType'
    SuiMoveVisibility:
      type: string
      enum:
      - Private
      - Public
      - Friend
    SuiMoveNormalizedEnum:
      type: object
      required:
      - abilities
      - typeParameters
      - variants
      properties:
        abilities:
          $ref: '#/components/schemas/SuiMoveAbilitySet'
        typeParameters:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveStructTypeParameter'
        variantDeclarationOrder:
          default: null
          type:
          - array
          - 'null'
          items:
            type: string
        variants:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/SuiMoveNormalizedField'
    ObjectValueKind:
      type: string
      enum:
      - ByImmutableReference
      - ByMutableReference
      - ByValue
    SuiMoveNormalizedStruct:
      type: object
      required:
      - abilities
      - fields
      - typeParameters
      properties:
        abilities:
          $ref: '#/components/schemas/SuiMoveAbilitySet'
        fields:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveNormalizedField'
        typeParameters:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveStructTypeParameter'
    SuiMoveNormalizedModule:
      type: object
      required:
      - address
      - exposedFunctions
      - fileFormatVersion
      - friends
      - name
      - structs
      properties:
        address:
          type: string
        enums:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuiMoveNormalizedEnum'
        exposedFunctions:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuiMoveNormalizedFunction'
        fileFormatVersion:
          type: integer
          format: uint32
          minimum: 0.0
        friends:
          type: array
          items:
            $ref: '#/components/schemas/SuiMoveModuleId'
        name:
          type: string
        structs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SuiMoveNormalizedStruct'
    SuiMoveAbility:
      type: string
      enum:
      - Copy
      - Drop
      - Store
      - Key
    SuiMoveNormalizedType:
      oneOf:
      - type: string
        enum:
        - Bool
        - U8
        - U16
        - U32
        - U64
        - U128
        - U256
        - Address
        - Signer
      - type: object
        required:
        - Struct
        properties:
          Struct:
            type: object
            required:
            - address
            - module
            - name
            - typeArguments
            properties:
              address:
                type: string
              module:
                type: string
              name:
                type: string
              typeArguments:
                type: array
                items:
                  $ref: '#/components/schemas/SuiMoveNormalizedType'
        additionalProperties: false
      - type: object
        required:
        - Vector
        properties:
          Vector:
            $ref: '#/components/schemas/SuiMoveNormalizedType'
        additionalProperties: false
      - type: object
        required:
        - TypeParameter
        properties:
          TypeParameter:
            type: integer
            format: uint16
            minimum: 0.0
        additionalProperties: false
      - type: object
        required:
        - Reference
        properties:
          Reference:
            $ref: '#/components/schemas/SuiMoveNormalizedType'
        additionalProperties: false
      - type: object
        required:
        - MutableReference
        properties:
          MutableReference:
            $ref: '#/components/schemas/SuiMoveNormalizedType'
        additionalProperties: false