openapi: 3.0.0
info:
  title: Health Status
  contact:
    name: NUVA Labs
    url: https://nuvalabs.com/
  description: >
    # Overview

    The Node RPC endpoints are intended for working with the blockchain
    consensus layer directly.  These endpoints return

    information about the blocks, validators, and network layer itself while the
    API endpoints work at a higher level and

    are used to return information at the blockchain Application layer.


    The RPC service would typically be used by users and applications that wish
    to retrieve information about raw blocks

    being produced or monitor for transactions and network activity.


    The Node RPC service supports the following communication protocols:


    * URI over HTTP

    * JSONRPC over HTTP

    * JSONRPC over websockets


    ## Authentication


    A **bearer token** is required for all requests.


    Exchange **client id** and **client secret** for a token:

    ```bash

    curl -XPOST https://dev-v6yakh57b7z3ngqo.us.auth0.com/oauth/token \

    -H \"content-type: application/json\" \

    -d
    '{\"client_id\":\"<id>\",\"client_secret\":\"<secret>\",\"audience\":\"https://api.provlabs.com\",\"grant_type\":\"client_credentials\"}'

    ```


    The returned **token** can then be used to make API calls:

    ```bash

    curl -XGET -H \"Authorization: Bearer <token>\"
    https://pio-mainnet-1-rpc.provlabs.com/block?height=5

    ```


    ## Arguments


    Arguments which expect strings or byte arrays may be passed as quoted

    strings, like `"abc"` or as `0x`-prefixed strings, like `0x616263`.


    ## URI/HTTP


    A REST like interface.

        curl https://pio-mainnet-1-rpc.provlabs.com/block?height=5

    ## JSONRPC/HTTP


    JSONRPC requests can be POST'd to the root RPC endpoint via HTTP.

        curl --header "Content-Type: application/json" --request POST --data '{"method": "block", "params": ["5"], "id": 1}' https://pio-mainnet-1-rpc.provlabs.com

    ## JSONRPC/websockets


    JSONRPC requests can be also made via websocket.

    The websocket endpoint is at `/websocket`, e.g.
    `https://pio-mainnet-1-rpc.provlabs.com/websocket`.

    Asynchronous RPC functions like event `subscribe` and `unsubscribe` are

    only available via websockets.


    For example using the [websocat](https://github.com/vi/websocat) tool, you
    can subscribe for 'NewBlock` events

    with the following command:

        echo '{ "jsonrpc": "2.0","method": "subscribe","id": 0,"params": {"query": "tm.event='"'NewBlock'"'"} }' | websocat -n -t wss://pio-mainnet-1-rpc.provlabs.com/websocket
  version: v0.38.x
  license:
    name: Apache 2.0
    url: https://github.com/cometbft/cometbft/blob/v0.38.x/LICENSE
servers:
  - url: https://pio-testnet-1-rpc.test.provlabs.com
    description: Interact with NUVA Labs cluster for chain pio-testnet-1
  - url: https://pio-mainnet-1-rpc.provlabs.com
    description: Interact with NUVA Labs cluster for chain pio-mainnet-1
paths:
  /health:
    get:
      summary: Node heartbeat
      operationId: health
      description: >
        Get node health. Returns empty result (200 OK) on success, no response -
        in case of an error.
      responses:
        '200':
          description: Gets Node Health
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyResponse'
        '500':
          description: empty error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /status:
    get:
      summary: Node Status
      operationId: status
      description: >
        Get CometBFT status including node info, pubkey, latest block hash, app
        hash, block height and time.
      responses:
        '200':
          description: Status of the node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusResponse'
        '500':
          description: empty error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /net_info:
    get:
      summary: Network information
      operationId: net_info
      description: |
        Get network info.
      responses:
        '200':
          description: empty answer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetInfoResponse'
        '500':
          description: empty error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    JSONRPC:
      type: object
      properties:
        id:
          type: integer
          example: 0
        jsonrpc:
          type: string
          example: '2.0'
    EmptyResponse:
      description: Empty Response
      allOf:
        - $ref: '#/components/schemas/JSONRPC'
        - type: object
          properties:
            result:
              type: object
              additionalProperties: {}
    ErrorResponse:
      description: Error Response
      allOf:
        - $ref: '#/components/schemas/JSONRPC'
        - type: object
          properties:
            error:
              type: string
              example: Description of failure
    ProtocolVersion:
      type: object
      properties:
        p2p:
          type: string
          example: '7'
        block:
          type: string
          example: '10'
        app:
          type: string
          example: '0'
    PubKey:
      type: object
      properties:
        type:
          type: string
          example: tendermint/PubKeyEd25519
        value:
          type: string
          example: A6DoBUypNtUAyEHWtQ9bFjfNg8Bo9CrnkUGl6k6OHN4=
    NodeInfo:
      type: object
      properties:
        protocol_version:
          $ref: '#/components/schemas/ProtocolVersion'
        id:
          type: string
          example: 5576458aef205977e18fd50b274e9b5d9014525a
        listen_addr:
          type: string
          example: tcp:0.0.0.0:26656
        network:
          type: string
          example: cosmoshub-2
        version:
          type: string
          example: 0.32.1
        channels:
          type: string
          example: '4020212223303800'
        moniker:
          type: string
          example: moniker-node
        other:
          type: object
          properties:
            tx_index:
              type: string
              example: 'on'
            rpc_address:
              type: string
              example: tcp:0.0.0.0:26657
    SyncInfo:
      type: object
      properties:
        latest_block_hash:
          type: string
          example: 790BA84C3545FCCC49A5C629CEE6EA58A6E875C3862175BDC11EE7AF54703501
        latest_app_hash:
          type: string
          example: C9AEBB441B787D9F1D846DE51F3826F4FD386108B59B08239653ABF59455C3F8
        latest_block_height:
          type: string
          example: '1262196'
        latest_block_time:
          type: string
          example: '2019-08-01T11:52:22.818762194Z'
        earliest_block_hash:
          type: string
          example: 790BA84C3545FCCC49A5C629CEE6EA58A6E875C3862175BDC11EE7AF54703501
        earliest_app_hash:
          type: string
          example: C9AEBB441B787D9F1D846DE51F3826F4FD386108B59B08239653ABF59455C3F8
        earliest_block_height:
          type: string
          example: '1262196'
        earliest_block_time:
          type: string
          example: '2019-08-01T11:52:22.818762194Z'
        catching_up:
          type: boolean
          example: false
    ValidatorInfo:
      type: object
      properties:
        address:
          type: string
          example: 5D6A51A8E9899C44079C6AF90618BA0369070E6E
        pub_key:
          $ref: '#/components/schemas/PubKey'
        voting_power:
          type: string
          example: '0'
    Status:
      description: Status Response
      type: object
      properties:
        node_info:
          $ref: '#/components/schemas/NodeInfo'
        sync_info:
          $ref: '#/components/schemas/SyncInfo'
        validator_info:
          $ref: '#/components/schemas/ValidatorInfo'
    StatusResponse:
      description: Status Response
      allOf:
        - $ref: '#/components/schemas/JSONRPC'
        - type: object
          properties:
            result:
              $ref: '#/components/schemas/Status'
    Monitor:
      type: object
      properties:
        Active:
          type: boolean
          example: true
        Start:
          type: string
          example: '2019-07-31T14:31:28.66Z'
        Duration:
          type: string
          example: '168901060000000'
        Idle:
          type: string
          example: '168901040000000'
        Bytes:
          type: string
          example: '5'
        Samples:
          type: string
          example: '1'
        InstRate:
          type: string
          example: '0'
        CurRate:
          type: string
          example: '0'
        AvgRate:
          type: string
          example: '0'
        PeakRate:
          type: string
          example: '0'
        BytesRem:
          type: string
          example: '0'
        TimeRem:
          type: string
          example: '0'
        Progress:
          type: integer
          example: 0
    Channel:
      type: object
      properties:
        ID:
          type: integer
          example: 48
        SendQueueCapacity:
          type: string
          example: '1'
        SendQueueSize:
          type: string
          example: '0'
        Priority:
          type: string
          example: '5'
        RecentlySent:
          type: string
          example: '0'
    ConnectionStatus:
      type: object
      properties:
        Duration:
          type: string
          example: '168901057956119'
        SendMonitor:
          $ref: '#/components/schemas/Monitor'
        RecvMonitor:
          $ref: '#/components/schemas/Monitor'
        Channels:
          type: array
          items:
            $ref: '#/components/schemas/Channel'
    Peer:
      type: object
      properties:
        node_info:
          $ref: '#/components/schemas/NodeInfo'
        is_outbound:
          type: boolean
          example: true
        connection_status:
          $ref: '#/components/schemas/ConnectionStatus'
        remote_ip:
          type: string
          example: 95.179.155.35
    NetInfo:
      type: object
      properties:
        listening:
          type: boolean
          example: true
        listeners:
          type: array
          items:
            type: string
            example: Listener(@)
        n_peers:
          type: string
          example: '1'
        peers:
          type: array
          items:
            $ref: '#/components/schemas/Peer'
    NetInfoResponse:
      description: NetInfo Response
      allOf:
        - $ref: '#/components/schemas/JSONRPC'
        - type: object
          properties:
            result:
              $ref: '#/components/schemas/NetInfo'
    BlockMeta:
      type: object
      properties:
        block_id:
          $ref: '#/components/schemas/BlockID'
        block_size:
          type: integer
          example: 1000000
        header:
          $ref: '#/components/schemas/BlockHeader'
        num_txs:
          type: string
          example: '54'
    Blockchain:
      type: object
      required:
        - last_height
        - block_metas
      properties:
        last_height:
          type: string
          example: '1276718'
        block_metas:
          type: array
          items:
            $ref: '#/components/schemas/BlockMeta'
    BlockchainResponse:
      description: Blockchain info
      allOf:
        - $ref: '#/components/schemas/JSONRPC'
        - type: object
          properties:
            result:
              $ref: '#/components/schemas/Blockchain'
    Commit:
      required:
        - type
        - height
        - round
        - block_id
        - timestamp
        - validator_address
        - validator_index
        - signature
      properties:
        type:
          type: integer
          example: 2
        height:
          type: string
          example: '1262085'
        round:
          type: integer
          example: 0
        block_id:
          $ref: '#/components/schemas/BlockID'
        timestamp:
          type: string
          example: '2019-08-01T11:39:38.867269833Z'
        validator_address:
          type: string
          example: 000001E443FD237E4B616E2FA69DF4EE3D49A94F
        validator_index:
          type: integer
          example: 0
        signature:
          type: string
          example: >-
            DBchvucTzAUEJnGYpNvMdqLhBAHG4Px8BsOBB3J3mAFCLGeuG7uJqy+nVngKzZdPhPi8RhmE/xcw/M9DOJjEDg==
    Block:
      type: object
      properties:
        header:
          $ref: '#/components/schemas/BlockHeader'
        data:
          type: array
          items:
            type: string
            example: >-
              yQHwYl3uCkKoo2GaChRnd+THLQ2RM87nEZrE19910Z28ABIUWW/t8AtIMwcyU0sT32RcMDI9GF0aEAoFdWF0b20SBzEwMDAwMDASEwoNCgV1YXRvbRIEMzEwMRCd8gEaagom61rphyEDoJPxlcjRoNDtZ9xMdvs+lRzFaHe2dl2P5R2yVCWrsHISQKkqX5H1zXAIJuC57yw0Yb03Fwy75VRip0ZBtLiYsUqkOsPUoQZAhDNP+6LY+RUwz/nVzedkF0S29NZ32QXdGv0=
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/Evidence'
        last_commit:
          type: object
          properties:
            height:
              type: integer
            round:
              type: integer
            block_id:
              $ref: '#/components/schemas/BlockID'
            signatures:
              type: array
              items:
                $ref: '#/components/schemas/Commit'
    Evidence:
      type: object
      properties:
        type:
          type: string
        height:
          type: integer
        time:
          type: integer
        total_voting_power:
          type: integer
        validator:
          $ref: '#/components/schemas/Validator'
    BlockComplete:
      type: object
      properties:
        block_id:
          $ref: '#/components/schemas/BlockID'
        block:
          $ref: '#/components/schemas/Block'
    BlockResponse:
      description: Blockc info
      allOf:
        - $ref: '#/components/schemas/JSONRPC'
        - type: object
          properties:
            result:
              $ref: '#/components/schemas/BlockComplete'
    BlockResultsResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          type: object
          required:
            - height
          properties:
            height:
              type: string
              example: '12'
            txs_results:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  code:
                    type: string
                    example: '0'
                  data:
                    type: string
                    example: ''
                  log:
                    type: string
                    example: not enough gas
                  info:
                    type: string
                    example: ''
                  gas_wanted:
                    type: string
                    example: '100'
                  gas_used:
                    type: string
                    example: '100'
                  events:
                    type: array
                    nullable: true
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          example: app
                        attributes:
                          type: array
                          nullable: false
                          items:
                            $ref: '#/components/schemas/Event'
                  codespace:
                    type: string
                    example: ibc
            finalize_block_events:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  type:
                    type: string
                    example: app
                  attributes:
                    type: array
                    nullable: false
                    items:
                      $ref: '#/components/schemas/Event'
            validator_updates:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  pub_key:
                    type: object
                    required:
                      - type
                      - value
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeyEd25519
                      value:
                        type: string
                        example: 9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM=
                  power:
                    type: string
                    example: '300'
            consensus_param_updates:
              $ref: '#/components/schemas/ConsensusParams'
    CommitResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - signed_header
            - canonical
          properties:
            signed_header:
              required:
                - header
                - commit
              properties:
                header:
                  $ref: '#/components/schemas/BlockHeader'
                commit:
                  required:
                    - height
                    - round
                    - block_id
                    - signatures
                  properties:
                    height:
                      type: string
                      example: '1311801'
                    round:
                      type: integer
                      example: 0
                    block_id:
                      $ref: '#/components/schemas/BlockID'
                    signatures:
                      type: array
                      items:
                        type: object
                        properties:
                          block_id_flag:
                            type: integer
                            example: 2
                          validator_address:
                            type: string
                            example: 000001E443FD237E4B616E2FA69DF4EE3D49A94F
                          timestamp:
                            type: string
                            example: '2019-04-22T17:01:58.376629719Z'
                          signature:
                            type: string
                            example: >-
                              14jaTQXYRt8kbLKEhdHq7AXycrFImiLuZx50uOjs2+Zv+2i7RTG/jnObD07Jo2ubZ8xd7bNBJMqkgtkd0oQHAw==
                  type: object
              type: object
            canonical:
              type: boolean
              example: true
          type: object
    ValidatorsResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - block_height
            - validators
          properties:
            block_height:
              type: string
              example: '55'
            validators:
              type: array
              items:
                $ref: '#/components/schemas/ValidatorPriority'
            count:
              type: string
              example: '1'
            total:
              type: string
              example: '25'
          type: object
    GenesisResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          type: object
          required:
            - genesis
          properties:
            genesis:
              type: object
              required:
                - genesis_time
                - chain_id
                - initial_height
                - consensus_params
                - validators
                - app_hash
              properties:
                genesis_time:
                  type: string
                  example: '2019-04-22T17:00:00Z'
                chain_id:
                  type: string
                  example: cosmoshub-2
                initial_height:
                  type: string
                  example: '2'
                consensus_params:
                  $ref: '#/components/schemas/ConsensusParams'
                validators:
                  type: array
                  items:
                    type: object
                    properties:
                      address:
                        type: string
                        example: B00A6323737F321EB0B8D59C6FD497A14B60938A
                      pub_key:
                        required:
                          - type
                          - value
                        properties:
                          type:
                            type: string
                            example: tendermint/PubKeyEd25519
                          value:
                            type: string
                            example: cOQZvh/h9ZioSeUMZB/1Vy1Xo5x2sjrVjlE/qHnYifM=
                        type: object
                      power:
                        type: string
                        example: '9328525'
                      name:
                        type: string
                        example: Certus One
                app_hash:
                  type: string
                  example: ''
                app_state:
                  properties: {}
                  type: object
    GenesisChunkedResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - chunk
            - total
            - data
          properties:
            chunk:
              type: integer
              example: 0
            total:
              type: integer
              example: 1
            data:
              type: string
              example: Z2VuZXNpcwo=
    DumpConsensusResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - round_state
            - peers
          properties:
            round_state:
              required:
                - height
                - round
                - step
                - start_time
                - commit_time
                - validators
                - proposal
                - proposal_block
                - proposal_block_parts
                - locked_round
                - locked_block
                - locked_block_parts
                - valid_round
                - valid_block
                - valid_block_parts
                - votes
                - commit_round
                - last_commit
                - last_validators
                - triggered_timeout_precommit
              properties:
                height:
                  type: string
                  example: '1311801'
                round:
                  type: integer
                  example: 0
                step:
                  type: integer
                  example: 3
                start_time:
                  type: string
                  example: '2019-08-05T11:28:49.064658805Z'
                commit_time:
                  type: string
                  example: '2019-08-05T11:28:44.064658805Z'
                validators:
                  required:
                    - validators
                    - proposer
                  properties:
                    validators:
                      type: array
                      items:
                        $ref: '#/components/schemas/ValidatorPriority'
                    proposer:
                      $ref: '#/components/schemas/ValidatorPriority'
                  type: object
                locked_round:
                  type: integer
                  example: -1
                valid_round:
                  type: string
                  example: '-1'
                votes:
                  type: array
                  items:
                    type: object
                    properties:
                      round:
                        type: string
                        example: '0'
                      prevotes:
                        type: array
                        nullable: true
                        items:
                          type: string
                        example:
                          - nil-Vote
                          - >-
                            Vote{19:46A3F8B8393B 1311801/00/1(Prevote)
                            000000000000 64CE682305CB @
                            2019-08-05T11:28:47.374703444Z}
                      prevotes_bit_array:
                        type: string
                        example: >-
                          BA{100:___________________x________________________________________________________________________________}
                          209706/170220253 = 0.00
                      precommits:
                        type: array
                        nullable: true
                        items:
                          type: string
                        example:
                          - nil-Vote
                      precommits_bit_array:
                        type: string
                        example: >-
                          BA{100:____________________________________________________________________________________________________}
                          0/170220253 = 0.00
                commit_round:
                  type: integer
                  example: -1
                last_commit:
                  nullable: true
                  required:
                    - votes
                    - votes_bit_array
                    - peer_maj_23s
                  properties:
                    votes:
                      type: array
                      items:
                        type: string
                      example:
                        - >-
                          Vote{0:000001E443FD 1311800/00/2(Precommit)
                          3071ADB27D1A 77EE1B6B6847 @
                          2019-08-05T11:28:43.810128139Z}
                    votes_bit_array:
                      type: string
                      example: >-
                        BA{100:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
                        170220253/170220253 = 1.00
                    peer_maj_23s:
                      properties: {}
                      type: object
                  type: object
                last_validators:
                  required:
                    - validators
                    - proposer
                  properties:
                    validators:
                      type: array
                      items:
                        $ref: '#/components/schemas/ValidatorPriority'
                    proposer:
                      $ref: '#/components/schemas/ValidatorPriority'
                  type: object
                triggered_timeout_precommit:
                  type: boolean
                  example: false
              type: object
            peers:
              type: array
              items:
                type: object
                properties:
                  node_address:
                    type: string
                    example: >-
                      357f6a6c1d27414579a8185060aa8adf9815c43c@68.183.41.207:26656
                  peer_state:
                    required:
                      - round_state
                      - stats
                    properties:
                      round_state:
                        required:
                          - height
                          - round
                          - step
                          - start_time
                          - proposal
                          - proposal_block_parts_header
                          - proposal_block_parts
                          - proposal_pol_round
                          - proposal_pol
                          - prevotes
                          - precommits
                          - last_commit_round
                          - last_commit
                          - catchup_commit_round
                          - catchup_commit
                        properties:
                          height:
                            type: string
                            example: '1311801'
                          round:
                            type: string
                            example: '0'
                          step:
                            type: integer
                            example: 3
                          start_time:
                            type: string
                            example: '2019-08-05T11:28:49.21730864Z'
                          proposal:
                            type: boolean
                            example: false
                          proposal_block_parts_header:
                            required:
                              - total
                              - hash
                            properties:
                              total:
                                type: integer
                                example: 0
                              hash:
                                type: string
                                example: ''
                            type: object
                          proposal_pol_round:
                            nullable: true
                            type: integer
                            example: -1
                          proposal_pol:
                            nullable: true
                            type: string
                            example: >-
                              ____________________________________________________________________________________________________
                          prevotes:
                            nullable: true
                            type: string
                            example: >-
                              ___________________x________________________________________________________________________________
                          precommits:
                            nullable: true
                            type: string
                            example: >-
                              ____________________________________________________________________________________________________
                          last_commit_round:
                            nullable: true
                            type: integer
                            example: 0
                          last_commit:
                            nullable: true
                            type: string
                            example: >-
                              xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                          catchup_commit_round:
                            type: integer
                            nullable: true
                            example: -1
                          catchup_commit:
                            nullable: true
                            type: string
                            example: >-
                              ____________________________________________________________________________________________________
                        type: object
                      stats:
                        required:
                          - votes
                          - block_parts
                        properties:
                          votes:
                            type: string
                            example: '1159558'
                          block_parts:
                            type: string
                            example: '4786'
                        type: object
                    type: object
          type: object
    ConsensusStateResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - round_state
          properties:
            round_state:
              required:
                - height/round/step
                - start_time
                - proposal_block_hash
                - locked_block_hash
                - valid_block_hash
                - height_vote_set
                - proposer
              properties:
                height/round/step:
                  type: string
                  example: 1262197/0/8
                start_time:
                  type: string
                  example: '2019-08-01T11:52:38.962730289Z'
                proposal_block_hash:
                  type: string
                  example: >-
                    634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                locked_block_hash:
                  type: string
                  example: >-
                    634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                valid_block_hash:
                  type: string
                  example: >-
                    634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009
                height_vote_set:
                  type: array
                  items:
                    type: object
                    properties:
                      round:
                        type: integer
                        example: 0
                      prevotes:
                        type: array
                        items:
                          type: string
                        example:
                          - >-
                            Vote{0:000001E443FD 1262197/00/1(Prevote)
                            634ADAF1F402 7BB974E1BA40 @
                            2019-08-01T11:52:35.513572509Z}
                          - nil-Vote
                      prevotes_bit_array:
                        type: string
                        example: >-
                          BA{100:xxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
                          169753436/170151262 = 1.00
                      precommits:
                        type: array
                        items:
                          type: string
                        example:
                          - >-
                            Vote{5:18C78D135C9D 1262197/00/2(Precommit)
                            634ADAF1F402 8B5EFFFEABCD @
                            2019-08-01T11:52:36.25600005Z}
                          - nil-Vote
                      precommits_bit_array:
                        type: string
                        example: >-
                          BA{100:xxxxxx_xxxxx_xxxx_x_xxx_xx_xx_xx__x_x_x__xxxxxxxxxxxxxx_xxxx_xx_xxxxxx_xxxxxxxx_xxxx_xxx_x_xxxx__xxx}
                          118726247/170151262 = 0.70
                proposer:
                  type: object
                  properties:
                    address:
                      type: string
                      example: D540AB022088612AC74B287D076DBFBC4A377A2E
                    index:
                      type: integer
                      example: 0
              type: object
          type: object
    ConsensusParamsResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          type: object
          required:
            - block_height
            - consensus_params
          properties:
            block_height:
              type: string
              example: '1'
            consensus_params:
              $ref: '#/components/schemas/ConsensusParams'
    NumUnconfirmedTransactionsResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - n_txs
            - total
            - total_bytes
          properties:
            n_txs:
              type: string
              example: '31'
            total:
              type: string
              example: '82'
            total_bytes:
              type: string
              example: '19974'
          type: object
    UnconfirmedTransactionsResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - n_txs
            - total
            - total_bytes
            - txs
          properties:
            n_txs:
              type: string
              example: '82'
            total:
              type: string
              example: '82'
            total_bytes:
              type: string
              example: '19974'
            txs:
              type: array
              nullable: true
              items:
                type: string
                nullable: true
              example:
                - >-
                  gAPwYl3uCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUA75/FmYq9WymsOBJ0XSJ8yV8zmQKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhQbrvwbvlNiT+Yjr86G+YQNx7kRVgowjE1xDQoUjJyJG+WaWBwSiGannBRFdrbma+8SFK2m+1oxgILuQLO55n8mWfnbIzyPCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUQNGfkmhTNMis4j+dyMDIWXdIPiYKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhS8sL0D0wwgGCItQwVowak5YB38KRIUCg4KBXVhdG9tEgUxMDA1NBDoxRgaagom61rphyECn8x7emhhKdRCB2io7aS/6Cpuq5NbVqbODmqOT3jWw6kSQKUresk+d+Gw0BhjiggTsu8+1voW+VlDCQ1GRYnMaFOHXhyFv7BCLhFWxLxHSAYT8a5XqoMayosZf9mANKdXArA=
          type: object
    TxSearchResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - txs
            - total_count
          properties:
            txs:
              type: array
              items:
                type: object
                properties:
                  hash:
                    type: string
                    example: >-
                      D70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED
                  height:
                    type: string
                    example: '1000'
                  index:
                    type: integer
                    example: 0
                  tx_result:
                    required:
                      - log
                      - gas_wanted
                      - gas_used
                      - tags
                    properties:
                      log:
                        type: string
                        example: '[{"msg_index":"0","success":true,"log":""}]'
                      gas_wanted:
                        type: string
                        example: '200000'
                      gas_used:
                        type: string
                        example: '28596'
                      tags:
                        $ref: '#/components/schemas/Event'
                    type: object
                  tx:
                    type: string
                    example: >-
                      5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU=
                  proof:
                    required:
                      - RootHash
                      - Data
                      - Proof
                    properties:
                      RootHash:
                        type: string
                        example: >-
                          72FE6BF6D4109105357AECE0A82E99D0F6288854D16D8767C5E72C57F876A14D
                      Data:
                        type: string
                        example: >-
                          5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU=
                      Proof:
                        required:
                          - total
                          - index
                          - leaf_hash
                          - aunts
                        properties:
                          total:
                            type: string
                            example: '2'
                          index:
                            type: string
                            example: '0'
                          leaf_hash:
                            type: string
                            example: eoJxKCzF3m72Xiwb/Q43vJ37/2Sx8sfNS9JKJohlsYI=
                          aunts:
                            type: array
                            items:
                              type: string
                            example:
                              - eWb+HG/eMmukrQj4vNGyFYb3nKQncAWacq4HF5eFzDY=
                        type: object
                    type: object
            total_count:
              type: string
              example: '2'
          type: object
    TxResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - hash
            - height
            - index
            - tx_result
            - tx
          properties:
            hash:
              type: string
              example: D70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED
            height:
              type: string
              example: '1000'
            index:
              type: integer
              example: 0
            tx_result:
              required:
                - log
                - gas_wanted
                - gas_used
                - tags
              properties:
                log:
                  type: string
                  example: '[{"msg_index":"0","success":true,"log":""}]'
                gas_wanted:
                  type: string
                  example: '200000'
                gas_used:
                  type: string
                  example: '28596'
                tags:
                  type: array
                  items:
                    $ref: '#/components/schemas/Event'
              type: object
            tx:
              type: string
              example: >-
                5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU=
          type: object
    ABCIInfoResponse:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - response
          properties:
            response:
              required:
                - data
                - version
                - app_version
                - last_block_height
                - last_block_app_hash
              properties:
                data:
                  type: string
                  example: '{"size":0}'
                version:
                  type: string
                  example: 0.16.1
                app_version:
                  type: string
                  example: '1'
                last_block_height:
                  type: string
                  example: '1314126'
                last_block_app_hash:
                  type: string
                  example: >-
                    C9AEBB441B787D9F1D846DE51F3826F4FD386108B59B08239653ABF59455C3F8
              type: object
          type: object
    ABCIQueryResponse:
      type: object
      required:
        - error
        - result
        - id
        - jsonrpc
      properties:
        error:
          type: string
          example: ''
        result:
          required:
            - response
          properties:
            response:
              required:
                - log
                - height
                - proof
                - value
                - key
                - index
                - code
              properties:
                log:
                  type: string
                  example: exists
                height:
                  type: string
                  example: '0'
                proof:
                  type: string
                  example: >-
                    010114FED0DAD959F36091AD761C922ABA3CBF1D8349990101020103011406AA2262E2F448242DF2C2607C3CDC705313EE3B0001149D16177BC71E445476174622EA559715C293740C
                value:
                  type: string
                  example: '61626364'
                key:
                  type: string
                  example: '61626364'
                index:
                  type: string
                  example: '-1'
                code:
                  type: string
                  example: '0'
              type: object
          type: object
        id:
          type: integer
          example: 0
        jsonrpc:
          type: string
          example: '2.0'
    BroadcastEvidenceResponse:
      type: object
      required:
        - id
        - jsonrpc
      properties:
        error:
          type: string
          example: ''
        result:
          type: string
          example: ''
        id:
          type: integer
          example: 0
        jsonrpc:
          type: string
          example: '2.0'
    BroadcastTxCommitResponse:
      type: object
      required:
        - error
        - result
        - id
        - jsonrpc
      properties:
        error:
          type: string
          example: ''
        result:
          required:
            - height
            - hash
            - deliver_tx
            - check_tx
          properties:
            height:
              type: string
              example: '26682'
            hash:
              type: string
              example: 75CA0F856A4DA078FC4911580360E70CEFB2EBEE
            deliver_tx:
              required:
                - log
                - data
                - code
              properties:
                log:
                  type: string
                  example: ''
                data:
                  type: string
                  example: ''
                code:
                  type: string
                  example: '0'
              type: object
            check_tx:
              required:
                - log
                - data
                - code
              properties:
                log:
                  type: string
                  example: ''
                data:
                  type: string
                  example: ''
                code:
                  type: string
                  example: '0'
              type: object
          type: object
        id:
          type: integer
          example: 0
        jsonrpc:
          type: string
          example: '2.0'
    CheckTxResponse:
      type: object
      required:
        - error
        - result
        - id
        - jsonrpc
      properties:
        error:
          type: string
          example: ''
        result:
          required:
            - log
            - data
            - code
          properties:
            code:
              type: string
              example: '0'
            data:
              type: string
              example: ''
            log:
              type: string
              example: ''
            info:
              type: string
              example: ''
            gas_wanted:
              type: string
              example: '1'
            gas_used:
              type: string
              example: '0'
            events:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  type:
                    type: string
                    example: app
                  attributes:
                    type: array
                    nullable: false
                    items:
                      $ref: '#/components/schemas/Event'
            codespace:
              type: string
              example: bank
          type: object
        id:
          type: integer
          example: 0
        jsonrpc:
          type: string
          example: '2.0'
    BroadcastTxResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
        - error
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - code
            - data
            - log
            - hash
          properties:
            code:
              type: string
              example: '0'
            data:
              type: string
              example: ''
            log:
              type: string
              example: ''
            codespace:
              type: string
              example: ibc
            hash:
              type: string
              example: 0D33F2F03A5234F38706E43004489E061AC40A2E
          type: object
        error:
          type: string
          example: ''
    dialResp:
      type: object
      properties:
        Log:
          type: string
          example: Dialing seeds in progress. See /net_info for details
    BlockSearchResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          example: '2.0'
        id:
          type: integer
          example: 0
        result:
          required:
            - blocks
            - total_count
          properties:
            blocks:
              type: array
              items:
                $ref: '#/components/schemas/BlockComplete'
            total_count:
              type: integer
              example: 2
          type: object
    ValidatorPriority:
      type: object
      properties:
        address:
          type: string
          example: 000001E443FD237E4B616E2FA69DF4EE3D49A94F
        pub_key:
          required:
            - type
            - value
          properties:
            type:
              type: string
              example: tendermint/PubKeyEd25519
            value:
              type: string
              example: 9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM=
          type: object
        voting_power:
          type: string
          example: '239727'
        proposer_priority:
          type: string
          example: '-11896414'
    Validator:
      type: object
      properties:
        pub_key:
          $ref: '#/components/schemas/PubKey'
        voting_power:
          type: integer
        address:
          type: string
    ConsensusParams:
      type: object
      nullable: true
      required:
        - block
        - evidence
        - validator
      properties:
        block:
          type: object
          required:
            - max_bytes
            - max_gas
            - time_iota_ms
          properties:
            max_bytes:
              type: string
              example: '22020096'
            max_gas:
              type: string
              example: '1000'
            time_iota_ms:
              type: string
              example: '1000'
        evidence:
          type: object
          required:
            - max_age
          properties:
            max_age:
              type: string
              example: '100000'
        validator:
          type: object
          required:
            - pub_key_types
          properties:
            pub_key_types:
              type: array
              items:
                type: string
              example:
                - ed25519
    Event:
      type: object
      properties:
        key:
          type: string
          example: action
        value:
          type: string
          example: send
        index:
          type: boolean
          example: false
    BlockHeader:
      required:
        - version
        - chain_id
        - height
        - time
        - last_block_id
        - last_commit_hash
        - data_hash
        - validators_hash
        - next_validators_hash
        - consensus_hash
        - app_hash
        - last_results_hash
        - evidence_hash
        - proposer_address
      properties:
        version:
          required:
            - block
            - app
          properties:
            block:
              type: string
              example: '10'
            app:
              type: string
              example: '0'
          type: object
        chain_id:
          type: string
          example: cosmoshub-2
        height:
          type: string
          example: '12'
        time:
          type: string
          example: '2019-04-22T17:01:51.701356223Z'
        last_block_id:
          $ref: '#/components/schemas/BlockID'
        last_commit_hash:
          type: string
          example: 21B9BC845AD2CB2C4193CDD17BFC506F1EBE5A7402E84AD96E64171287A34812
        data_hash:
          type: string
          example: 970886F99E77ED0D60DA8FCE0447C2676E59F2F77302B0C4AA10E1D02F18EF73
        validators_hash:
          type: string
          example: D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0
        next_validators_hash:
          type: string
          example: D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0
        consensus_hash:
          type: string
          example: 0F2908883A105C793B74495EB7D6DF2EEA479ED7FC9349206A65CB0F9987A0B8
        app_hash:
          type: string
          example: 223BF64D4A01074DC523A80E76B9BBC786C791FB0A1893AC5B14866356FCFD6C
        last_results_hash:
          type: string
          example: ''
        evidence_hash:
          type: string
          example: ''
        proposer_address:
          type: string
          example: D540AB022088612AC74B287D076DBFBC4A377A2E
      type: object
    BlockID:
      required:
        - hash
        - parts
      properties:
        hash:
          type: string
          example: 112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7
        parts:
          required:
            - total
            - hash
          properties:
            total:
              type: integer
              example: 1
            hash:
              type: string
              example: 38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD
          type: object
tags: []
