swagger: "2.0"
info:
  title: Cosmos SDK - Legacy REST and gRPC Gateway docs
  description: "A REST interface for state queries, legacy transactions"
  version: 1.0.0
paths:
  /node_info:
    get:
      description: Information about the connected node
      summary: The properties of the connected node
      tags:
        - Gaia REST
      produces:
        - application/json
      responses:
        "200":
          description: Node status
          schema:
            type: object
            properties:
              application_version:
                properties:
                  build_tags:
                    type: string
                  client_name:
                    type: string
                  commit:
                    type: string
                  go:
                    type: string
                  name:
                    type: string
                  server_name:
                    type: string
                  version:
                    type: string
              node_info:
                properties:
                  id:
                    type: string
                  moniker:
                    type: string
                    example: validator-name
                  protocol_version:
                    properties:
                      p2p:
                        type: string
                        example: 7
                      block:
                        type: string
                        example: 10
                      app:
                        type: string
                        example: 0
                  network:
                    type: string
                    example: gaia-2
                  channels:
                    type: string
                  listen_addr:
                    type: string
                    example: "192.168.56.1:26656"
                  version:
                    description: Tendermint version
                    type: string
                    example: 0.15.0
                  other:
                    description: more information on versions
                    type: object
                    properties:
                      tx_index:
                        type: string
                        example: "on"
                      rpc_address:
                        type: string
                        example: "tcp://0.0.0.0:26657"
        "500":
          description: Failed to query node status
  /syncing:
    get:
      summary: Syncing state of node
      tags:
        - Tendermint RPC
      description: Get if the node is currently syning with other nodes
      produces:
        - application/json
      responses:
        "200":
          description: Node syncing status
          schema:
            type: object
            properties:
              syncing:
                type: boolean
        "500":
          description: Server internal error
  /blocks/latest:
    get:
      summary: Get the latest block
      tags:
        - Tendermint RPC
      produces:
        - application/json
      responses:
        "200":
          description: The latest block
          schema:
            type: object
            properties:
              block_meta:
                type: object
                properties:
                  header:
                    type: object
                    properties:
                      chain_id:
                        type: string
                        example: cosmoshub-2
                      height:
                        type: number
                        example: 1
                      time:
                        type: string
                        example: "2017-12-30T05:53:09.287+01:00"
                      num_txs:
                        type: number
                        example: 0
                      last_block_id:
                        type: object
                        properties:
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
                          parts:
                            type: object
                            properties:
                              total:
                                type: number
                                example: 0
                              hash:
                                type: string
                                example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      total_txs:
                        type: number
                        example: 35
                      last_commit_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      data_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      next_validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      consensus_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      app_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      last_results_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      evidence_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      proposer_address:
                        type: string
                        description: bech32 encoded address
                        example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
                      version:
                        type: object
                        properties:
                          block:
                            type: string
                            example: 10
                          app:
                            type: string
                            example: 0
                  block_id:
                    type: object
                    properties:
                      hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      parts:
                        type: object
                        properties:
                          total:
                            type: number
                            example: 0
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
              block:
                type: object
                properties:
                  header:
                    type: object
                    properties:
                      chain_id:
                        type: string
                        example: cosmoshub-2
                      height:
                        type: number
                        example: 1
                      time:
                        type: string
                        example: "2017-12-30T05:53:09.287+01:00"
                      num_txs:
                        type: number
                        example: 0
                      last_block_id:
                        type: object
                        properties:
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
                          parts:
                            type: object
                            properties:
                              total:
                                type: number
                                example: 0
                              hash:
                                type: string
                                example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      total_txs:
                        type: number
                        example: 35
                      last_commit_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      data_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      next_validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      consensus_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      app_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      last_results_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      evidence_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      proposer_address:
                        type: string
                        description: bech32 encoded address
                        example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
                      version:
                        type: object
                        properties:
                          block:
                            type: string
                            example: 10
                          app:
                            type: string
                            example: 0
                  txs:
                    type: array
                    items:
                      type: string
                  evidence:
                    type: array
                    items:
                      type: string
                  last_commit:
                    type: object
                    properties:
                      block_id:
                        type: object
                        properties:
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
                          parts:
                            type: object
                            properties:
                              total:
                                type: number
                                example: 0
                              hash:
                                type: string
                                example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      precommits:
                        type: array
                        items:
                          type: object
                          properties:
                            validator_address:
                              type: string
                            validator_index:
                              type: string
                              example: "0"
                            height:
                              type: string
                              example: "0"
                            round:
                              type: string
                              example: "0"
                            timestamp:
                              type: string
                              example: "2017-12-30T05:53:09.287+01:00"
                            type:
                              type: number
                              example: 2
                            block_id:
                              type: object
                              properties:
                                hash:
                                  type: string
                                  example: EE5F3404034C524501629B56E0DDC38FAD651F04
                                parts:
                                  type: object
                                  properties:
                                    total:
                                      type: number
                                      example: 0
                                    hash:
                                      type: string
                                      example: EE5F3404034C524501629B56E0DDC38FAD651F04
                            signature:
                              type: string
                              example: >-
                                7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ==
        "500":
          description: Server internal error
  "/blocks/{height}":
    get:
      summary: Get a block at a certain height
      tags:
        - Tendermint RPC
      produces:
        - application/json
      parameters:
        - in: path
          name: height
          description: Block height
          required: true
          type: number
          x-example: 1
      responses:
        "200":
          description: The block at a specific height
          schema:
            type: object
            properties:
              block_meta:
                type: object
                properties:
                  header:
                    type: object
                    properties:
                      chain_id:
                        type: string
                        example: cosmoshub-2
                      height:
                        type: number
                        example: 1
                      time:
                        type: string
                        example: "2017-12-30T05:53:09.287+01:00"
                      num_txs:
                        type: number
                        example: 0
                      last_block_id:
                        type: object
                        properties:
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
                          parts:
                            type: object
                            properties:
                              total:
                                type: number
                                example: 0
                              hash:
                                type: string
                                example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      total_txs:
                        type: number
                        example: 35
                      last_commit_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      data_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      next_validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      consensus_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      app_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      last_results_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      evidence_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      proposer_address:
                        type: string
                        description: bech32 encoded address
                        example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
                      version:
                        type: object
                        properties:
                          block:
                            type: string
                            example: 10
                          app:
                            type: string
                            example: 0
                  block_id:
                    type: object
                    properties:
                      hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      parts:
                        type: object
                        properties:
                          total:
                            type: number
                            example: 0
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
              block:
                type: object
                properties:
                  header:
                    type: object
                    properties:
                      chain_id:
                        type: string
                        example: cosmoshub-2
                      height:
                        type: number
                        example: 1
                      time:
                        type: string
                        example: "2017-12-30T05:53:09.287+01:00"
                      num_txs:
                        type: number
                        example: 0
                      last_block_id:
                        type: object
                        properties:
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
                          parts:
                            type: object
                            properties:
                              total:
                                type: number
                                example: 0
                              hash:
                                type: string
                                example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      total_txs:
                        type: number
                        example: 35
                      last_commit_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      data_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      next_validators_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      consensus_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      app_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      last_results_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      evidence_hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      proposer_address:
                        type: string
                        description: bech32 encoded address
                        example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
                      version:
                        type: object
                        properties:
                          block:
                            type: string
                            example: 10
                          app:
                            type: string
                            example: 0
                  txs:
                    type: array
                    items:
                      type: string
                  evidence:
                    type: array
                    items:
                      type: string
                  last_commit:
                    type: object
                    properties:
                      block_id:
                        type: object
                        properties:
                          hash:
                            type: string
                            example: EE5F3404034C524501629B56E0DDC38FAD651F04
                          parts:
                            type: object
                            properties:
                              total:
                                type: number
                                example: 0
                              hash:
                                type: string
                                example: EE5F3404034C524501629B56E0DDC38FAD651F04
                      precommits:
                        type: array
                        items:
                          type: object
                          properties:
                            validator_address:
                              type: string
                            validator_index:
                              type: string
                              example: "0"
                            height:
                              type: string
                              example: "0"
                            round:
                              type: string
                              example: "0"
                            timestamp:
                              type: string
                              example: "2017-12-30T05:53:09.287+01:00"
                            type:
                              type: number
                              example: 2
                            block_id:
                              type: object
                              properties:
                                hash:
                                  type: string
                                  example: EE5F3404034C524501629B56E0DDC38FAD651F04
                                parts:
                                  type: object
                                  properties:
                                    total:
                                      type: number
                                      example: 0
                                    hash:
                                      type: string
                                      example: EE5F3404034C524501629B56E0DDC38FAD651F04
                            signature:
                              type: string
                              example: >-
                                7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ==
        "400":
          description: Invalid height
        "404":
          description: Request block height doesn't
        "500":
          description: Server internal error
  /validatorsets/latest:
    get:
      summary: Get the latest validator set
      tags:
        - Tendermint RPC
      produces:
        - application/json
      responses:
        "200":
          description: The validator set at the latest block height
          schema:
            type: object
            properties:
              block_height:
                type: string
              validators:
                type: array
                items:
                  type: object
                  properties:
                    address:
                      type: string
                      description: bech32 encoded address
                      example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
                    pub_key:
                      type: string
                      example: >-
                        cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
                    voting_power:
                      type: string
                      example: "1000"
                    proposer_priority:
                      type: string
                      example: "1000"
        "500":
          description: Server internal error
  "/validatorsets/{height}":
    get:
      summary: Get a validator set a certain height
      tags:
        - Tendermint RPC
      produces:
        - application/json
      parameters:
        - in: path
          name: height
          description: Block height
          required: true
          type: number
          x-example: 1
      responses:
        "200":
          description: The validator set at a specific block height
          schema:
            type: object
            properties:
              block_height:
                type: string
              validators:
                type: array
                items:
                  type: object
                  properties:
                    address:
                      type: string
                      description: bech32 encoded address
                      example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
                    pub_key:
                      type: string
                      example: >-
                        cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
                    voting_power:
                      type: string
                      example: "1000"
                    proposer_priority:
                      type: string
                      example: "1000"
        "400":
          description: Invalid height
        "404":
          description: Block at height not available
        "500":
          description: Server internal error
  "/txs/{hash}":
    get:
      deprecated: true
      summary: Get a Tx by hash
      tags:
        - Transactions
      description: Retrieve a transaction using its hash.
      produces:
        - application/json
      parameters:
        - in: path
          name: hash
          description: Tx hash
          required: true
          type: string
          x-example: BCBE20E8D46758B96AE5883B792858296AC06E51435490FBDCAE25A72B3CC76B
      responses:
        "200":
          description: Tx with the provided hash
          schema:
            type: object
            properties:
              hash:
                type: string
                example: >-
                  D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656
              height:
                type: number
                example: 368
              tx:
                type: object
                properties:
                  msg:
                    type: array
                    items:
                      type: string
                  fee:
                    type: object
                    properties:
                      gas:
                        type: string
                      amount:
                        type: array
                        items:
                          type: object
                          properties:
                            denom:
                              type: string
                              example: stake
                            amount:
                              type: string
                              example: "50"
                  memo:
                    type: string
                  signature:
                    type: object
                    properties:
                      signature:
                        type: string
                        example: >-
                          MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                      pub_key:
                        type: object
                        properties:
                          type:
                            type: string
                            example: tendermint/PubKeySecp256k1
                          value:
                            type: string
                            example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                      account_number:
                        type: string
                        example: "0"
                      sequence:
                        type: string
                        example: "0"
              result:
                type: object
                properties:
                  log:
                    type: string
                  gas_wanted:
                    type: string
                    example: "200000"
                  gas_used:
                    type: string
                    example: "26354"
                  tags:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
        "500":
          description: Internal Server Error
  /txs:
    get:
      deprecated: true
      tags:
        - Transactions
      summary: Search transactions
      description: Search transactions by events.
      produces:
        - application/json
      parameters:
        - in: query
          name: message.action
          type: string
          description: >-
            transaction events such as 'message.action=send' which results in
            the following endpoint: 'GET /txs?message.action=send'. note that
            each module documents its own events. look for xx_events.md in the
            corresponding cosmos-sdk/docs/spec directory
          x-example: send
        - in: query
          name: message.sender
          type: string
          description: >-
            transaction tags with sender: 'GET
            /txs?message.action=send&message.sender=cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv'
          x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
        - in: query
          name: page
          description: Page number
          type: integer
          x-example: 1
        - in: query
          name: limit
          description: Maximum number of items per page
          type: integer
          x-example: 1
        - in: query
          name: tx.minheight
          type: integer
          description: transactions on blocks with height greater or equal this value
          x-example: 25
        - in: query
          name: tx.maxheight
          type: integer
          description: transactions on blocks with height less than or equal this value
          x-example: 800000
      responses:
        "200":
          description: All txs matching the provided events
          schema:
            type: object
            properties:
              total_count:
                type: number
                example: 1
              count:
                type: number
                example: 1
              page_number:
                type: number
                example: 1
              page_total:
                type: number
                example: 1
              limit:
                type: number
                example: 30
              txs:
                type: array
                items:
                  type: object
                  properties:
                    hash:
                      type: string
                      example: >-
                        D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656
                    height:
                      type: number
                      example: 368
                    tx:
                      type: object
                      properties:
                        msg:
                          type: array
                          items:
                            type: string
                        fee:
                          type: object
                          properties:
                            gas:
                              type: string
                            amount:
                              type: array
                              items:
                                type: object
                                properties:
                                  denom:
                                    type: string
                                    example: stake
                                  amount:
                                    type: string
                                    example: "50"
                        memo:
                          type: string
                        signature:
                          type: object
                          properties:
                            signature:
                              type: string
                              example: >-
                                MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                            pub_key:
                              type: object
                              properties:
                                type:
                                  type: string
                                  example: tendermint/PubKeySecp256k1
                                value:
                                  type: string
                                  example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                            account_number:
                              type: string
                              example: "0"
                            sequence:
                              type: string
                              example: "0"
                    result:
                      type: object
                      properties:
                        log:
                          type: string
                        gas_wanted:
                          type: string
                          example: "200000"
                        gas_used:
                          type: string
                          example: "26354"
                        tags:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                              value:
                                type: string
        "400":
          description: Invalid search events
        "500":
          description: Internal Server Error
    post:
      tags:
        - Transactions
      summary: Broadcast a signed tx
      description: Broadcast a signed tx to a full node
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: txBroadcast
          description: >-
            The tx must be a signed StdTx. The supported broadcast modes include
            `"block"`(return after tx commit), `"sync"`(return afer CheckTx) and
            `"async"`(return right away).
          required: true
          schema:
            type: object
            properties:
              tx:
                type: object
                properties:
                  msg:
                    type: array
                    items:
                      type: string
                  fee:
                    type: object
                    properties:
                      gas:
                        type: string
                      amount:
                        type: array
                        items:
                          type: object
                          properties:
                            denom:
                              type: string
                              example: stake
                            amount:
                              type: string
                              example: "50"
                  memo:
                    type: string
                  signature:
                    type: object
                    properties:
                      signature:
                        type: string
                        example: >-
                          MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                      pub_key:
                        type: object
                        properties:
                          type:
                            type: string
                            example: tendermint/PubKeySecp256k1
                          value:
                            type: string
                            example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                      account_number:
                        type: string
                        example: "0"
                      sequence:
                        type: string
                        example: "0"
              mode:
                type: string
                example: block
      responses:
        "200":
          description: Tx broadcasting result
          schema:
            type: object
            properties:
              check_tx:
                type: object
                properties:
                  code:
                    type: integer
                  data:
                    type: string
                  gas_used:
                    type: integer
                  gas_wanted:
                    type: integer
                  info:
                    type: string
                  log:
                    type: string
                  tags:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                example:
                  code: 0
                  data: data
                  log: log
                  gas_used: 5000
                  gas_wanted: 10000
                  info: info
                  tags:
                    - ""
                    - ""
              deliver_tx:
                type: object
                properties:
                  code:
                    type: integer
                  data:
                    type: string
                  gas_used:
                    type: integer
                  gas_wanted:
                    type: integer
                  info:
                    type: string
                  log:
                    type: string
                  tags:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                example:
                  code: 5
                  data: data
                  log: log
                  gas_used: 5000
                  gas_wanted: 10000
                  info: info
                  tags:
                    - ""
                    - ""
              hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              height:
                type: integer
        "500":
          description: Internal Server Error
  /txs/encode:
    post:
      deprecated: true
      tags:
        - Transactions
      summary: Encode a transaction to the Amino wire format
      description: >-
        Encode a transaction (signed or not) from JSON to base64-encoded Amino
        serialized bytes
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: tx
          description: The tx to encode
          required: true
          schema:
            type: object
            properties:
              tx:
                type: object
                properties:
                  msg:
                    type: array
                    items:
                      type: string
                  fee:
                    type: object
                    properties:
                      gas:
                        type: string
                      amount:
                        type: array
                        items:
                          type: object
                          properties:
                            denom:
                              type: string
                              example: stake
                            amount:
                              type: string
                              example: "50"
                  memo:
                    type: string
                  signature:
                    type: object
                    properties:
                      signature:
                        type: string
                        example: >-
                          MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                      pub_key:
                        type: object
                        properties:
                          type:
                            type: string
                            example: tendermint/PubKeySecp256k1
                          value:
                            type: string
                            example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                      account_number:
                        type: string
                        example: "0"
                      sequence:
                        type: string
                        example: "0"
      responses:
        "200":
          description: The tx was successfully decoded and re-encoded
          schema:
            type: object
            properties:
              tx:
                type: string
                example: The base64-encoded Amino-serialized bytes for the tx
        "400":
          description: The tx was malformated
        "500":
          description: Server internal error
  /txs/decode:
    post:
      deprecated: true
      tags:
        - Transactions
      summary: Decode a transaction from the Amino wire format
      description: >-
        Decode a transaction (signed or not) from base64-encoded Amino
        serialized bytes to JSON
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: tx
          description: The tx to decode
          required: true
          schema:
            type: object
            properties:
              tx:
                type: string
                example: >-
                  SvBiXe4KPqijYZoKFFHEzJ8c2HPAfv2EFUcIhx0yPagwEhTy0vPA+GGhCEslKXa4Af0uB+mfShoMCgVzdGFrZRIDMTAwEgQQwJoM
      responses:
        "200":
          description: The tx was successfully decoded
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: The tx was malformated
        "500":
          description: Server internal error
  "/bank/balances/{address}":
    get:
      deprecated: true
      summary: Get the account balances
      tags:
        - Bank
      produces:
        - application/json
      parameters:
        - in: path
          name: address
          description: Account address in bech32 format
          required: true
          type: string
          x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      responses:
        "200":
          description: Account balances
          schema:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                  example: stake
                amount:
                  type: string
                  example: "50"
        "500":
          description: Server internal error
  "/bank/accounts/{address}/transfers":
    post:
      deprecated: true
      summary: Send coins from one account to another
      tags:
        - Bank
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: path
          name: address
          description: Account address in bech32 format
          required: true
          type: string
          x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
        - in: body
          name: account
          description: The sender and tx information
          required: true
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
      responses:
        "202":
          description: Tx was succesfully generated
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid request
        "500":
          description: Server internal error
  "/auth/accounts/{address}":
    get:
      deprecated: true
      summary: Get the account information on blockchain
      tags:
        - Auth
      produces:
        - application/json
      parameters:
        - in: path
          name: address
          description: Account address
          required: true
          type: string
          x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      responses:
        "200":
          description: Account information on the blockchain
          schema:
            type: object
            properties:
              type:
                type: string
              value:
                type: object
                properties:
                  account_number:
                    type: string
                  address:
                    type: string
                  coins:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  public_key:
                    type: object
                    properties:
                      type:
                        type: string
                      value:
                        type: string
                  sequence:
                    type: string
        "500":
          description: Server internel error
  "/staking/delegators/{delegatorAddr}/delegations":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
    get:
      deprecated: true
      summary: Get all delegations from a delegator
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                delegator_address:
                  type: string
                validator_address:
                  type: string
                shares:
                  type: string
                balance:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
        "400":
          description: Invalid delegator address
        "500":
          description: Internal Server Error
    post:
      summary: Submit delegation
      parameters:
        - in: body
          name: delegation
          description: The password of the account to remove from the KMS
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              delegator_address:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              validator_address:
                type: string
                description: bech32 encoded address
                example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
              delegation:
                type: object
                properties:
                  denom:
                    type: string
                    example: stake
                  amount:
                    type: string
                    example: "50"
      tags:
        - Staking
      consumes:
        - application/json
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid delegator address or delegation request body
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  "/staking/delegators/{delegatorAddr}/delegations/{validatorAddr}":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Query the current delegation between a delegator and a validator
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              validator_address:
                type: string
              shares:
                type: string
              balance:
                type: object
                properties:
                  denom:
                    type: string
                    example: stake
                  amount:
                    type: string
                    example: "50"
        "400":
          description: Invalid delegator address or validator address
        "500":
          description: Internal Server Error
  "/staking/delegators/{delegatorAddr}/unbonding_delegations":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
    get:
      deprecated: true
      summary: Get all unbonding delegations from a delegator
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                delegator_address:
                  type: string
                validator_address:
                  type: string
                initial_balance:
                  type: string
                balance:
                  type: string
                creation_height:
                  type: integer
                min_time:
                  type: integer
        "400":
          description: Invalid delegator address
        "500":
          description: Internal Server Error
    post:
      summary: Submit an unbonding delegation
      parameters:
        - in: body
          name: delegation
          description: The password of the account to remove from the KMS
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              delegator_address:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              validator_address:
                type: string
                description: bech32 encoded address
                example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
              shares:
                type: string
                example: "100"
      tags:
        - Staking
      consumes:
        - application/json
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid delegator address or unbonding delegation request body
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  "/staking/delegators/{delegatorAddr}/unbonding_delegations/{validatorAddr}":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Query all unbonding delegations between a delegator and a validator
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              validator_address:
                type: string
              entries:
                type: array
                items:
                  type: object
                  properties:
                    initial_balance:
                      type: string
                    balance:
                      type: string
                    creation_height:
                      type: string
                    min_time:
                      type: string
        "400":
          description: Invalid delegator address or validator address
        "500":
          description: Internal Server Error
  /staking/redelegations:
    parameters:
      - in: query
        name: delegator
        description: Bech32 AccAddress of Delegator
        required: false
        type: string
      - in: query
        name: validator_from
        description: Bech32 ValAddress of SrcValidator
        required: false
        type: string
      - in: query
        name: validator_to
        description: Bech32 ValAddress of DstValidator
        required: false
        type: string
    get:
      deprecated: true
      summary: Get all redelegations (filter by query params)
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              $ref: "#/definitions/Redelegation"
        "500":
          description: Internal Server Error
  "/staking/delegators/{delegatorAddr}/redelegations":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
    post:
      deprecated: true
      summary: Submit a redelegation
      parameters:
        - in: body
          name: delegation
          description: The sender and tx information
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              delegator_address:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              validator_src_addressess:
                type: string
                description: bech32 encoded address
                example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
              validator_dst_address:
                type: string
                description: bech32 encoded address
                example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
              shares:
                type: string
                example: "100"
      tags:
        - Staking
      consumes:
        - application/json
      produces:
        - application/json
      responses:
        "200":
          description: Tx was succesfully generated
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid delegator address or redelegation request body
        "500":
          description: Internal Server Error
  "/staking/delegators/{delegatorAddr}/validators":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
    get:
      deprecated: true
      summary: Query all validators that a delegator is bonded to
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                operator_address:
                  type: string
                  description: bech32 encoded address
                  example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
                consensus_pubkey:
                  type: string
                  example: >-
                    cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
                jailed:
                  type: boolean
                status:
                  type: integer
                tokens:
                  type: string
                delegator_shares:
                  type: string
                description:
                  type: object
                  properties:
                    moniker:
                      type: string
                    identity:
                      type: string
                    website:
                      type: string
                    security_contact:
                      type: string
                    details:
                      type: string
                bond_height:
                  type: string
                  example: "0"
                bond_intra_tx_counter:
                  type: integer
                  example: 0
                unbonding_height:
                  type: string
                  example: "0"
                unbonding_time:
                  type: string
                  example: "1970-01-01T00:00:00Z"
                commission:
                  type: object
                  properties:
                    rate:
                      type: string
                      example: "0"
                    max_rate:
                      type: string
                      example: "0"
                    max_change_rate:
                      type: string
                      example: "0"
                    update_time:
                      type: string
                      example: "1970-01-01T00:00:00Z"
        "400":
          description: Invalid delegator address
        "500":
          description: Internal Server Error
  "/staking/delegators/{delegatorAddr}/validators/{validatorAddr}":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      - in: path
        name: validatorAddr
        description: Bech32 ValAddress of Delegator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Query a validator that a delegator is bonded to
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              operator_address:
                type: string
                description: bech32 encoded address
                example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
              consensus_pubkey:
                type: string
                example: >-
                  cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
              jailed:
                type: boolean
              status:
                type: integer
              tokens:
                type: string
              delegator_shares:
                type: string
              description:
                type: object
                properties:
                  moniker:
                    type: string
                  identity:
                    type: string
                  website:
                    type: string
                  security_contact:
                    type: string
                  details:
                    type: string
              bond_height:
                type: string
                example: "0"
              bond_intra_tx_counter:
                type: integer
                example: 0
              unbonding_height:
                type: string
                example: "0"
              unbonding_time:
                type: string
                example: "1970-01-01T00:00:00Z"
              commission:
                type: object
                properties:
                  rate:
                    type: string
                    example: "0"
                  max_rate:
                    type: string
                    example: "0"
                  max_change_rate:
                    type: string
                    example: "0"
                  update_time:
                    type: string
                    example: "1970-01-01T00:00:00Z"
        "400":
          description: Invalid delegator address or validator address
        "500":
          description: Internal Server Error
  /staking/validators:
    get:
      deprecated: true
      summary: >-
        Get all validator candidates. By default it returns only the bonded
        validators.
      parameters:
        - in: query
          name: status
          type: string
          description: >-
            The validator bond status. Must be either 'bonded', 'unbonded', or
            'unbonding'.
          x-example: bonded
        - in: query
          name: page
          description: The page number.
          type: integer
          x-example: 1
        - in: query
          name: limit
          description: The maximum number of items per page.
          type: integer
          x-example: 1
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                operator_address:
                  type: string
                  description: bech32 encoded address
                  example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
                consensus_pubkey:
                  type: string
                  example: >-
                    cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
                jailed:
                  type: boolean
                status:
                  type: integer
                tokens:
                  type: string
                delegator_shares:
                  type: string
                description:
                  type: object
                  properties:
                    moniker:
                      type: string
                    identity:
                      type: string
                    website:
                      type: string
                    security_contact:
                      type: string
                    details:
                      type: string
                bond_height:
                  type: string
                  example: "0"
                bond_intra_tx_counter:
                  type: integer
                  example: 0
                unbonding_height:
                  type: string
                  example: "0"
                unbonding_time:
                  type: string
                  example: "1970-01-01T00:00:00Z"
                commission:
                  type: object
                  properties:
                    rate:
                      type: string
                      example: "0"
                    max_rate:
                      type: string
                      example: "0"
                    max_change_rate:
                      type: string
                      example: "0"
                    update_time:
                      type: string
                      example: "1970-01-01T00:00:00Z"
        "500":
          description: Internal Server Error
  "/staking/validators/{validatorAddr}":
    parameters:
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Query the information from a single validator
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              operator_address:
                type: string
                description: bech32 encoded address
                example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
              consensus_pubkey:
                type: string
                example: >-
                  cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
              jailed:
                type: boolean
              status:
                type: integer
              tokens:
                type: string
              delegator_shares:
                type: string
              description:
                type: object
                properties:
                  moniker:
                    type: string
                  identity:
                    type: string
                  website:
                    type: string
                  security_contact:
                    type: string
                  details:
                    type: string
              bond_height:
                type: string
                example: "0"
              bond_intra_tx_counter:
                type: integer
                example: 0
              unbonding_height:
                type: string
                example: "0"
              unbonding_time:
                type: string
                example: "1970-01-01T00:00:00Z"
              commission:
                type: object
                properties:
                  rate:
                    type: string
                    example: "0"
                  max_rate:
                    type: string
                    example: "0"
                  max_change_rate:
                    type: string
                    example: "0"
                  update_time:
                    type: string
                    example: "1970-01-01T00:00:00Z"
        "400":
          description: Invalid validator address
        "500":
          description: Internal Server Error
  "/staking/validators/{validatorAddr}/delegations":
    parameters:
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Get all delegations from a validator
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                delegator_address:
                  type: string
                validator_address:
                  type: string
                shares:
                  type: string
                balance:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
        "400":
          description: Invalid validator address
        "500":
          description: Internal Server Error
  "/staking/validators/{validatorAddr}/unbonding_delegations":
    parameters:
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Get all unbonding delegations from a validator
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                delegator_address:
                  type: string
                validator_address:
                  type: string
                initial_balance:
                  type: string
                balance:
                  type: string
                creation_height:
                  type: integer
                min_time:
                  type: integer
        "400":
          description: Invalid validator address
        "500":
          description: Internal Server Error
  /staking/pool:
    get:
      deprecated: true
      summary: Get the current state of the staking pool
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              loose_tokens:
                type: string
              bonded_tokens:
                type: string
              inflation_last_time:
                type: string
              inflation:
                type: string
              date_last_commission_reset:
                type: string
              prev_bonded_shares:
                type: string
        "500":
          description: Internal Server Error
  /staking/parameters:
    get:
      deprecated: true
      summary: Get the current staking parameter values
      tags:
        - Staking
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              inflation_rate_change:
                type: string
              inflation_max:
                type: string
              inflation_min:
                type: string
              goal_bonded:
                type: string
              unbonding_time:
                type: string
              max_validators:
                type: integer
              bond_denom:
                type: string
        "500":
          description: Internal Server Error
  /slashing/signing_infos:
    get:
      deprecated: true
      summary: Get sign info of given all validators
      description: Get sign info of all validators
      produces:
        - application/json
      tags:
        - Slashing
      parameters:
        - in: query
          name: page
          description: Page number
          type: integer
          required: true
          x-example: 1
        - in: query
          name: limit
          description: Maximum number of items per page
          type: integer
          required: true
          x-example: 5
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                start_height:
                  type: string
                index_offset:
                  type: string
                jailed_until:
                  type: string
                missed_blocks_counter:
                  type: string
        "400":
          description: Invalid validator public key for one of the validators
        "500":
          description: Internal Server Error
  "/slashing/validators/{validatorAddr}/unjail":
    post:
      deprecated: true
      summary: Unjail a jailed validator
      description: Send transaction to unjail a jailed validator
      consumes:
        - application/json
      produces:
        - application/json
      tags:
        - Slashing
      parameters:
        - type: string
          description: Bech32 validator address
          name: validatorAddr
          required: true
          in: path
          x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
        - description: ""
          name: UnjailBody
          in: body
          required: true
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  msg:
                    type: array
                    items:
                      type: string
                  fee:
                    type: object
                    properties:
                      gas:
                        type: string
                      amount:
                        type: array
                        items:
                          type: object
                          properties:
                            denom:
                              type: string
                              example: stake
                            amount:
                              type: string
                              example: "50"
                  memo:
                    type: string
                  signature:
                    type: object
                    properties:
                      signature:
                        type: string
                        example: >-
                          MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                      pub_key:
                        type: object
                        properties:
                          type:
                            type: string
                            example: tendermint/PubKeySecp256k1
                          value:
                            type: string
                            example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                      account_number:
                        type: string
                        example: "0"
                      sequence:
                        type: string
                        example: "0"
      responses:
        "200":
          description: Tx was succesfully generated
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid validator address or base_req
        "500":
          description: Internal Server Error
  /slashing/parameters:
    get:
      deprecated: true
      summary: Get the current slashing parameters
      tags:
        - Slashing
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              max_evidence_age:
                type: string
              signed_blocks_window:
                type: string
              min_signed_per_window:
                type: string
              double_sign_unbond_duration:
                type: string
              downtime_unbond_duration:
                type: string
              slash_fraction_double_sign:
                type: string
              slash_fraction_downtime:
                type: string
        "500":
          description: Internal Server Error
  /gov/proposals:
    post:
      deprecated: true
      summary: Submit a proposal
      description: Send transaction to submit a proposal
      consumes:
        - application/json
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - description: >-
            valid value of `"proposal_type"` can be `"text"`,
            `"parameter_change"`, `"software_upgrade"`
          name: post_proposal_body
          in: body
          required: true
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              title:
                type: string
              description:
                type: string
              proposal_type:
                type: string
                example: text
              proposer:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              initial_deposit:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
      responses:
        "200":
          description: Tx was succesfully generated
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid proposal body
        "500":
          description: Internal Server Error
    get:
      deprecated: true
      summary: Query proposals
      description: Query proposals information with parameters
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - in: query
          name: voter
          description: voter address
          required: false
          type: string
        - in: query
          name: depositor
          description: depositor address
          required: false
          type: string
        - in: query
          name: status
          description: >-
            proposal status, valid values can be `"deposit_period"`,
            `"voting_period"`, `"passed"`, `"rejected"`
          required: false
          type: string
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                proposal_id:
                  type: integer
                title:
                  type: string
                description:
                  type: string
                proposal_type:
                  type: string
                proposal_status:
                  type: string
                final_tally_result:
                  type: object
                  properties:
                    "yes":
                      type: string
                      example: "0.0000000000"
                    abstain:
                      type: string
                      example: "0.0000000000"
                    "no":
                      type: string
                      example: "0.0000000000"
                    no_with_veto:
                      type: string
                      example: "0.0000000000"
                submit_time:
                  type: string
                total_deposit:
                  type: array
                  items:
                    type: object
                    properties:
                      denom:
                        type: string
                        example: stake
                      amount:
                        type: string
                        example: "50"
                voting_start_time:
                  type: string
        "400":
          description: Invalid query parameters
        "500":
          description: Internal Server Error
  /gov/proposals/param_change:
    post:
      deprecated: true
      summary: Generate a parameter change proposal transaction
      description: Generate a parameter change proposal transaction
      consumes:
        - application/json
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - description: >-
            The parameter change proposal body that contains all parameter
            changes
          name: post_proposal_body
          in: body
          required: true
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              title:
                type: string
                x-example: Param Change
              description:
                type: string
                x-example: Update max validators
              proposer:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              deposit:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
              changes:
                type: array
                items:
                  type: object
                  properties:
                    subspace:
                      type: string
                      example: staking
                    key:
                      type: string
                      example: MaxValidators
                    subkey:
                      type: string
                      example: ""
                    value:
                      type: object
      responses:
        "200":
          description: The transaction was succesfully generated
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid proposal body
        "500":
          description: Internal Server Error
  "/gov/proposals/{proposalId}":
    get:
      deprecated: true
      summary: Query a proposal
      description: Query a proposal by id
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          name: proposalId
          required: true
          in: path
          x-example: "2"
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              proposal_id:
                type: integer
              title:
                type: string
              description:
                type: string
              proposal_type:
                type: string
              proposal_status:
                type: string
              final_tally_result:
                type: object
                properties:
                  "yes":
                    type: string
                    example: "0.0000000000"
                  abstain:
                    type: string
                    example: "0.0000000000"
                  "no":
                    type: string
                    example: "0.0000000000"
                  no_with_veto:
                    type: string
                    example: "0.0000000000"
              submit_time:
                type: string
              total_deposit:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
              voting_start_time:
                type: string
        "400":
          description: Invalid proposal id
        "500":
          description: Internal Server Error
  "/gov/proposals/{proposalId}/proposer":
    get:
      deprecated: true
      summary: Query proposer
      description: Query for the proposer for a proposal
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          name: proposalId
          required: true
          in: path
          x-example: "2"
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              proposal_id:
                type: string
              proposer:
                type: string
        "400":
          description: Invalid proposal ID
        "500":
          description: Internal Server Error
  "/gov/proposals/{proposalId}/deposits":
    get:
      deprecated: true
      summary: Query deposits
      description: Query deposits by proposalId
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          name: proposalId
          required: true
          in: path
          x-example: "2"
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                amount:
                  type: array
                  items:
                    type: object
                    properties:
                      denom:
                        type: string
                        example: stake
                      amount:
                        type: string
                        example: "50"
                proposal_id:
                  type: string
                depositor:
                  type: string
                  description: bech32 encoded address
                  example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
        "400":
          description: Invalid proposal id
        "500":
          description: Internal Server Error
    post:
      deprecated: true
      summary: Deposit tokens to a proposal
      description: Send transaction to deposit tokens to a proposal
      consumes:
        - application/json
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          description: proposal id
          name: proposalId
          required: true
          in: path
          x-example: "2"
        - description: ""
          name: post_deposit_body
          in: body
          required: true
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              depositor:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid proposal id or deposit body
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  "/gov/proposals/{proposalId}/deposits/{depositor}":
    get:
      deprecated: true
      summary: Query deposit
      description: Query deposit by proposalId and depositor address
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          description: proposal id
          name: proposalId
          required: true
          in: path
          x-example: "2"
        - type: string
          description: Bech32 depositor address
          name: depositor
          required: true
          in: path
          x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
              proposal_id:
                type: string
              depositor:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
        "400":
          description: Invalid proposal id or depositor address
        "404":
          description: Found no deposit
        "500":
          description: Internal Server Error
  "/gov/proposals/{proposalId}/votes":
    get:
      deprecated: true
      summary: Query voters
      description: Query voters information by proposalId
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          description: proposal id
          name: proposalId
          required: true
          in: path
          x-example: "2"
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                voter:
                  type: string
                proposal_id:
                  type: string
                option:
                  type: string
        "400":
          description: Invalid proposal id
        "500":
          description: Internal Server Error
    post:
      deprecated: true
      summary: Vote a proposal
      description: Send transaction to vote a proposal
      consumes:
        - application/json
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          description: proposal id
          name: proposalId
          required: true
          in: path
          x-example: "2"
        - description: >-
            valid value of `"option"` field can be `"yes"`, `"no"`,
            `"no_with_veto"` and `"abstain"`
          name: post_vote_body
          in: body
          required: true
          schema:
            type: object
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              voter:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              option:
                type: string
                example: "yes"
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid proposal id or vote body
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  "/gov/proposals/{proposalId}/votes/{voter}":
    get:
      deprecated: true
      summary: Query vote
      description: Query vote information by proposal Id and voter address
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          description: proposal id
          name: proposalId
          required: true
          in: path
          x-example: "2"
        - type: string
          description: Bech32 voter address
          name: voter
          required: true
          in: path
          x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              voter:
                type: string
              proposal_id:
                type: string
              option:
                type: string
        "400":
          description: Invalid proposal id or voter address
        "404":
          description: Found no vote
        "500":
          description: Internal Server Error
  "/gov/proposals/{proposalId}/tally":
    get:
      deprecated: true
      summary: Get a proposal's tally result at the current time
      description: >-
        Gets a proposal's tally result at the current time. If the proposal is
        pending deposits (i.e status 'DepositPeriod') it returns an empty tally
        result.
      produces:
        - application/json
      tags:
        - Governance
      parameters:
        - type: string
          description: proposal id
          name: proposalId
          required: true
          in: path
          x-example: "2"
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              "yes":
                type: string
                example: "0.0000000000"
              abstain:
                type: string
                example: "0.0000000000"
              "no":
                type: string
                example: "0.0000000000"
              no_with_veto:
                type: string
                example: "0.0000000000"
        "400":
          description: Invalid proposal id
        "500":
          description: Internal Server Error
  /gov/parameters/deposit:
    get:
      deprecated: true
      summary: Query governance deposit parameters
      description: >-
        Query governance deposit parameters. The max_deposit_period units are in
        nanoseconds.
      produces:
        - application/json
      tags:
        - Governance
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              min_deposit:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
              max_deposit_period:
                type: string
                example: "86400000000000"
        "400":
          description: <other_path> is not a valid query request path
        "404":
          description: Found no deposit parameters
        "500":
          description: Internal Server Error
  /gov/parameters/tallying:
    get:
      deprecated: true
      summary: Query governance tally parameters
      description: Query governance tally parameters
      produces:
        - application/json
      tags:
        - Governance
      responses:
        "200":
          description: OK
          schema:
            properties:
              threshold:
                type: string
                example: "0.5000000000"
              veto:
                type: string
                example: "0.3340000000"
              governance_penalty:
                type: string
                example: "0.0100000000"
        "400":
          description: <other_path> is not a valid query request path
        "404":
          description: Found no tally parameters
        "500":
          description: Internal Server Error
  /gov/parameters/voting:
    get:
      deprecated: true
      summary: Query governance voting parameters
      description: >-
        Query governance voting parameters. The voting_period units are in
        nanoseconds.
      produces:
        - application/json
      tags:
        - Governance
      responses:
        "200":
          description: OK
          schema:
            properties:
              voting_period:
                type: string
                example: "86400000000000"
        "400":
          description: <other_path> is not a valid query request path
        "404":
          description: Found no voting parameters
        "500":
          description: Internal Server Error
  "/distribution/delegators/{delegatorAddr}/rewards":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos167w96tdvmazakdwkw2u57227eduula2cy572lf
    get:
      deprecated: true
      summary: Get the total rewards balance from all delegations
      description: >-
        Get the sum of all the rewards earned by delegations by a single
        delegator
      produces:
        - application/json
      tags:
        - Distribution
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              rewards:
                type: array
                items:
                  type: object
                  properties:
                    validator_address:
                      type: string
                      description: bech32 encoded address
                      example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
                    reward:
                      type: array
                      items:
                        type: object
                        properties:
                          denom:
                            type: string
                            example: stake
                          amount:
                            type: string
                            example: "50"
              total:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
        "400":
          description: Invalid delegator address
        "500":
          description: Internal Server Error
    post:
      deprecated: true
      summary: Withdraw all the delegator's delegation rewards
      description: Withdraw all the delegator's delegation rewards
      tags:
        - Distribution
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: Withdraw request body
          schema:
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid delegator address
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  "/distribution/delegators/{delegatorAddr}/rewards/{validatorAddr}":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos16xyempempp92x9hyzz9wrgf94r6j9h5f06pxxv
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Query a delegation reward
      description: Query a single delegation reward by a delegator
      tags:
        - Distribution
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                  example: stake
                amount:
                  type: string
                  example: "50"
        "400":
          description: Invalid delegator address
        "500":
          description: Internal Server Error
    post:
      deprecated: true
      summary: Withdraw a delegation reward
      description: Withdraw a delegator's delegation reward from a single validator
      tags:
        - Distribution
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: Withdraw request body
          schema:
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid delegator address or delegation body
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  "/distribution/delegators/{delegatorAddr}/withdraw_address":
    parameters:
      - in: path
        name: delegatorAddr
        description: Bech32 AccAddress of Delegator
        required: true
        type: string
        x-example: cosmos167w96tdvmazakdwkw2u57227eduula2cy572lf
    get:
      deprecated: true
      summary: Get the rewards withdrawal address
      description: >-
        Get the delegations' rewards withdrawal address. This is the address in
        which the user will receive the reward funds
      tags:
        - Distribution
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
            description: bech32 encoded address
            example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
        "400":
          description: Invalid delegator address
        "500":
          description: Internal Server Error
    post:
      deprecated: true
      summary: Replace the rewards withdrawal address
      description: Replace the delegations' rewards withdrawal address for a new one.
      tags:
        - Distribution
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: Withdraw request body
          schema:
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
              withdraw_address:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid delegator or withdraw address
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  "/distribution/validators/{validatorAddr}":
    parameters:
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Validator distribution information
      description: Query the distribution information of a single validator
      tags:
        - Distribution
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              operator_address:
                type: string
                description: bech32 encoded address
                example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
              self_bond_rewards:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
              val_commission:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
        "400":
          description: Invalid validator address
        "500":
          description: Internal Server Error
  "/distribution/validators/{validatorAddr}/outstanding_rewards":
    parameters:
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Fee distribution outstanding rewards of a single validator
      tags:
        - Distribution
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                  example: stake
                amount:
                  type: string
                  example: "50"
        "500":
          description: Internal Server Error
  "/distribution/validators/{validatorAddr}/rewards":
    parameters:
      - in: path
        name: validatorAddr
        description: Bech32 OperatorAddress of validator
        required: true
        type: string
        x-example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
    get:
      deprecated: true
      summary: Commission and self-delegation rewards of a single validator
      description: Query the commission and self-delegation rewards of validator.
      tags:
        - Distribution
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                  example: stake
                amount:
                  type: string
                  example: "50"
        "400":
          description: Invalid validator address
        "500":
          description: Internal Server Error
    post:
      deprecated: true
      summary: Withdraw the validator's rewards
      description: Withdraw the validator's self-delegation and commissions rewards
      tags:
        - Distribution
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: Withdraw request body
          schema:
            properties:
              base_req:
                type: object
                properties:
                  from:
                    type: string
                    example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
                    description: Sender address or Keybase name to generate a transaction
                  memo:
                    type: string
                    example: "Sent via Cosmos Voyager \U0001F680"
                  chain_id:
                    type: string
                    example: Cosmos-Hub
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "1"
                  gas:
                    type: string
                    example: "200000"
                  gas_adjustment:
                    type: string
                    example: "1.2"
                  fees:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
                  simulate:
                    type: boolean
                    example: false
                    description: >-
                      Estimate gas for a transaction (cannot be used in
                      conjunction with generate_only)
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              msg:
                type: array
                items:
                  type: string
              fee:
                type: object
                properties:
                  gas:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                          example: stake
                        amount:
                          type: string
                          example: "50"
              memo:
                type: string
              signature:
                type: object
                properties:
                  signature:
                    type: string
                    example: >-
                      MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                  pub_key:
                    type: object
                    properties:
                      type:
                        type: string
                        example: tendermint/PubKeySecp256k1
                      value:
                        type: string
                        example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                  account_number:
                    type: string
                    example: "0"
                  sequence:
                    type: string
                    example: "0"
        "400":
          description: Invalid validator address
        "401":
          description: Key password is wrong
        "500":
          description: Internal Server Error
  /distribution/community_pool:
    get:
      deprecated: true
      summary: Community pool parameters
      tags:
        - Distribution
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                  example: stake
                amount:
                  type: string
                  example: "50"
        "500":
          description: Internal Server Error
  /distribution/parameters:
    get:
      deprecated: true
      summary: Fee distribution parameters
      tags:
        - Distribution
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            properties:
              base_proposer_reward:
                type: string
              bonus_proposer_reward:
                type: string
              community_tax:
                type: string
        "500":
          description: Internal Server Error
  /minting/parameters:
    get:
      deprecated: true
      summary: Minting module parameters
      tags:
        - Mint
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            properties:
              mint_denom:
                type: string
              inflation_rate_change:
                type: string
              inflation_max:
                type: string
              inflation_min:
                type: string
              goal_bonded:
                type: string
              blocks_per_year:
                type: string
        "500":
          description: Internal Server Error
  /minting/inflation:
    get:
      deprecated: true
      summary: Current minting inflation value
      tags:
        - Mint
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
        "500":
          description: Internal Server Error
  /minting/annual-provisions:
    get:
      deprecated: true
      summary: Current minting annual provisions value
      tags:
        - Mint
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
        "500":
          description: Internal Server Error
  /supply/total:
    get:
      deprecated: true
      summary: Total supply of coins in the chain
      tags:
        - Supply
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: object
            properties:
              total:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
        "500":
          description: Internal Server Error
  "/supply/total/{denomination}":
    parameters:
      - in: path
        name: denomination
        description: Coin denomination
        required: true
        type: string
        x-example: uatom
    get:
      deprecated: true
      summary: Total supply of a single coin denomination
      tags:
        - Supply
      produces:
        - application/json
      responses:
        "200":
          description: OK
          schema:
            type: string
        "400":
          description: Invalid coin denomination
        "500":
          description: Internal Server Error
  "/cosmos/auth/v1beta1/accounts/{address}":
    get:
      summary: Account returns account details based on address.
      operationId: Account
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              account:
                description: account defines the account of the corresponding address.
                type: object
                properties:
                  type_url:
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                  value:
                    type: string
                    format: byte
                    description: >-
                      Must be a valid serialized protocol buffer of the above
                      specified type.
            description: >-
              QueryAccountResponse is the response type for the Query/Account
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: address
          description: address defines the address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmos/auth/v1beta1/params:
    get:
      summary: Params queries all parameters.
      operationId: AuthParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                description: params defines the parameters of the module.
                type: object
                properties:
                  max_memo_characters:
                    type: string
                    format: uint64
                  tx_sig_limit:
                    type: string
                    format: uint64
                  tx_size_cost_per_byte:
                    type: string
                    format: uint64
                  sig_verify_cost_ed25519:
                    type: string
                    format: uint64
                  sig_verify_cost_secp256k1:
                    type: string
                    format: uint64
            description: >-
              QueryParamsResponse is the response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      tags:
        - Query
  "/cosmos/bank/v1beta1/balances/{address}":
    get:
      summary: AllBalances queries the balance of all coins for a single account.
      operationId: AllBalances
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              balances:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                description: balances is the balances of all the coins.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryAllBalancesResponse is the response type for the
              Query/AllBalances RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: address
          description: address is the address to query balances for.
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/bank/v1beta1/balances/{address}/{denom}":
    get:
      summary: Balance queries the balance of a single coin for a single account.
      operationId: Balance
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              balance:
                description: balance is the balance of the coin.
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
            description: >-
              QueryBalanceResponse is the response type for the Query/Balance
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: address
          description: address is the address to query balances for.
          in: path
          required: true
          type: string
        - name: denom
          description: denom is the coin denom to query balances for.
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmos/bank/v1beta1/params:
    get:
      summary: Params queries the parameters of x/bank module.
      operationId: BankParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                type: object
                properties:
                  send_enabled:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        enabled:
                          type: boolean
                          format: boolean
                      description: >-
                        SendEnabled maps coin denom to a send_enabled status
                        (whether a denom is

                        sendable).
                  default_send_enabled:
                    type: boolean
                    format: boolean
                description: Params defines the parameters for the bank module.
            description: >-
              QueryParamsResponse defines the response type for querying x/bank
              parameters.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /cosmos/bank/v1beta1/supply:
    get:
      summary: TotalSupply queries the total supply of all coins.
      operationId: TotalSupply
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              supply:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: supply is the supply of the coins
            title: >-
              QueryTotalSupplyResponse is the response type for the
              Query/TotalSupply RPC

              method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  "/cosmos/bank/v1beta1/supply/{denom}":
    get:
      summary: SupplyOf queries the supply of a single coin.
      operationId: SupplyOf
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              amount:
                description: amount is the supply of the coin.
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
            description: >-
              QuerySupplyOfResponse is the response type for the Query/SupplyOf
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: denom
          description: denom is the coin denom to query balances for.
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmos/distribution/v1beta1/community_pool:
    get:
      summary: CommunityPool queries the community pool coins.
      operationId: CommunityPool
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              pool:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    DecCoin defines a token with a denomination and a decimal
                    amount.


                    NOTE: The amount field is an Dec which implements the custom
                    method

                    signatures required by gogoproto.
                description: pool defines community pool's coins.
            description: >-
              QueryCommunityPoolResponse is the response type for the
              Query/CommunityPool

              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  "/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards":
    get:
      summary: |-
        DelegationTotalRewards queries the total rewards accrued by a each
        validator.
      operationId: DelegationTotalRewards
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              rewards:
                type: array
                items:
                  type: object
                  properties:
                    validator_address:
                      type: string
                    reward:
                      type: array
                      items:
                        type: object
                        properties:
                          denom:
                            type: string
                          amount:
                            type: string
                        description: >-
                          DecCoin defines a token with a denomination and a
                          decimal amount.


                          NOTE: The amount field is an Dec which implements the
                          custom method

                          signatures required by gogoproto.
                  description: |-
                    DelegationDelegatorReward represents the properties
                    of a delegator's delegation reward.
                description: rewards defines all the rewards accrued by a delegator.
              total:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    DecCoin defines a token with a denomination and a decimal
                    amount.


                    NOTE: The amount field is an Dec which implements the custom
                    method

                    signatures required by gogoproto.
                description: total defines the sum of all the rewards.
            description: |-
              QueryDelegationTotalRewardsResponse is the response type for the
              Query/DelegationTotalRewards RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_address
          description: delegator_address defines the delegator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  ? "/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}"
  : get:
      summary: DelegationRewards queries the total rewards accrued by a delegation.
      operationId: DelegationRewards
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              rewards:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    DecCoin defines a token with a denomination and a decimal
                    amount.


                    NOTE: The amount field is an Dec which implements the custom
                    method

                    signatures required by gogoproto.
                description: rewards defines the rewards accrued by a delegation.
            description: |-
              QueryDelegationRewardsResponse is the response type for the
              Query/DelegationRewards RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_address
          description: delegator_address defines the delegator address to query for.
          in: path
          required: true
          type: string
        - name: validator_address
          description: validator_address defines the validator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  "/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators":
    get:
      summary: DelegatorValidators queries the validators of a delegator.
      operationId: DelegatorValidators
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              validators:
                type: array
                items:
                  type: string
                description: >-
                  validators defines the validators a delegator is delegating
                  for.
            description: |-
              QueryDelegatorValidatorsResponse is the response type for the
              Query/DelegatorValidators RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_address
          description: delegator_address defines the delegator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  ? "/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address"
  : get:
      summary: DelegatorWithdrawAddress queries withdraw address of a delegator.
      operationId: DelegatorWithdrawAddress
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              withdraw_address:
                type: string
                description: withdraw_address defines the delegator address to query for.
            description: |-
              QueryDelegatorWithdrawAddressResponse is the response type for the
              Query/DelegatorWithdrawAddress RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_address
          description: delegator_address defines the delegator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmos/distribution/v1beta1/params:
    get:
      summary: Params queries params of the distribution module.
      operationId: DistributionParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                description: params defines the parameters of the module.
                type: object
                properties:
                  community_tax:
                    type: string
                  base_proposer_reward:
                    type: string
                  bonus_proposer_reward:
                    type: string
                  withdraw_addr_enabled:
                    type: boolean
                    format: boolean
            description: >-
              QueryParamsResponse is the response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  "/cosmos/distribution/v1beta1/validators/{validator_address}/commission":
    get:
      summary: ValidatorCommission queries accumulated commission for a validator.
      operationId: ValidatorCommission
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              commission:
                description: commission defines the commision the validator received.
                type: object
                properties:
                  commission:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        DecCoin defines a token with a denomination and a
                        decimal amount.


                        NOTE: The amount field is an Dec which implements the
                        custom method

                        signatures required by gogoproto.
            title: |-
              QueryValidatorCommissionResponse is the response type for the
              Query/ValidatorCommission RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_address
          description: validator_address defines the validator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  ? "/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards"
  : get:
      summary: ValidatorOutstandingRewards queries rewards of a validator address.
      operationId: ValidatorOutstandingRewards
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              rewards:
                type: object
                properties:
                  rewards:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        DecCoin defines a token with a denomination and a
                        decimal amount.


                        NOTE: The amount field is an Dec which implements the
                        custom method

                        signatures required by gogoproto.
                description: >-
                  ValidatorOutstandingRewards represents outstanding
                  (un-withdrawn) rewards

                  for a validator inexpensive to track, allows simple sanity
                  checks.
            description: >-
              QueryValidatorOutstandingRewardsResponse is the response type for
              the

              Query/ValidatorOutstandingRewards RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_address
          description: validator_address defines the validator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  "/cosmos/distribution/v1beta1/validators/{validator_address}/slashes":
    get:
      summary: ValidatorSlashes queries slash events of a validator.
      operationId: ValidatorSlashes
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              slashes:
                type: array
                items:
                  type: object
                  properties:
                    validator_period:
                      type: string
                      format: uint64
                    fraction:
                      type: string
                  description: >-
                    ValidatorSlashEvent represents a validator slash event.

                    Height is implicit within the store key.

                    This is needed to calculate appropriate amount of staking
                    tokens

                    for delegations which are withdrawn after a slash has
                    occurred.
                description: slashes defines the slashes the validator received.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: |-
              QueryValidatorSlashesResponse is the response type for the
              Query/ValidatorSlashes RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_address
          description: validator_address defines the validator address to query for.
          in: path
          required: true
          type: string
        - name: starting_height
          description: >-
            starting_height defines the optional starting height to query the
            slashes.
          in: query
          required: false
          type: string
          format: uint64
        - name: ending_height
          description: >-
            starting_height defines the optional ending height to query the
            slashes.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  /cosmos/evidence/v1beta1/evidence:
    get:
      summary: AllEvidence queries all evidence.
      operationId: AllEvidence
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              evidence:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
                description: evidence returns all evidences.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryAllEvidenceResponse is the response type for the
              Query/AllEvidence RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/evidence/v1beta1/evidence/{evidence_hash}":
    get:
      summary: Evidence queries evidence based on evidence hash.
      operationId: Evidence
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              evidence:
                description: evidence returns the requested evidence.
                type: object
                properties:
                  type_url:
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                  value:
                    type: string
                    format: byte
                    description: >-
                      Must be a valid serialized protocol buffer of the above
                      specified type.
            description: >-
              QueryEvidenceResponse is the response type for the Query/Evidence
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: evidence_hash
          description: evidence_hash defines the hash of the requested evidence.
          in: path
          required: true
          type: string
          format: byte
      tags:
        - Query
  "/cosmos/gov/v1beta1/params/{params_type}":
    get:
      summary: Params queries all parameters of the gov module.
      operationId: GovParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              voting_params:
                description: voting_params defines the parameters related to voting.
                type: object
                properties:
                  voting_period:
                    type: string
                    description: Length of the voting period.
              deposit_params:
                description: deposit_params defines the parameters related to deposit.
                type: object
                properties:
                  min_deposit:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                    description: Minimum deposit for a proposal to enter voting period.
                  max_deposit_period:
                    type: string
                    description: >-
                      Maximum period for Atom holders to deposit on a proposal.
                      Initial value: 2
                       months.
              tally_params:
                description: tally_params defines the parameters related to tally.
                type: object
                properties:
                  quorum:
                    type: string
                    format: byte
                    description: >-
                      Minimum percentage of total stake needed to vote for a
                      result to be
                       considered valid.
                  threshold:
                    type: string
                    format: byte
                    description: >-
                      Minimum proportion of Yes votes for proposal to pass.
                      Default value: 0.5.
                  veto_threshold:
                    type: string
                    format: byte
                    description: >-
                      Minimum value of Veto votes to Total votes ratio for
                      proposal to be
                       vetoed. Default value: 1/3.
            description: >-
              QueryParamsResponse is the response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: params_type
          description: >-
            params_type defines which parameters to query for, can be one of
            "voting",

            "tallying" or "deposit".
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmos/gov/v1beta1/proposals:
    get:
      summary: Proposals queries all proposals based on given status.
      operationId: Proposals
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              proposals:
                type: array
                items:
                  type: object
                  properties:
                    proposal_id:
                      type: string
                      format: uint64
                    content:
                      type: object
                      properties:
                        type_url:
                          type: string
                          description: >-
                            A URL/resource name that uniquely identifies the
                            type of the serialized

                            protocol buffer message. This string must contain at
                            least

                            one "/" character. The last segment of the URL's
                            path must represent

                            the fully qualified name of the type (as in

                            `path/google.protobuf.Duration`). The name should be
                            in a canonical form

                            (e.g., leading "." is not accepted).


                            In practice, teams usually precompile into the
                            binary all types that they

                            expect it to use in the context of Any. However, for
                            URLs which use the

                            scheme `http`, `https`, or no scheme, one can
                            optionally set up a type

                            server that maps type URLs to message definitions as
                            follows:


                            * If no scheme is provided, `https` is assumed.

                            * An HTTP GET on the URL must yield a
                            [google.protobuf.Type][]
                              value in binary format, or produce an error.
                            * Applications are allowed to cache lookup results
                            based on the
                              URL, or have them precompiled into a binary to avoid any
                              lookup. Therefore, binary compatibility needs to be preserved
                              on changes to types. (Use versioned type names to manage
                              breaking changes.)

                            Note: this functionality is not currently available
                            in the official

                            protobuf release, and it is not used for type URLs
                            beginning with

                            type.googleapis.com.


                            Schemes other than `http`, `https` (or the empty
                            scheme) might be

                            used with implementation specific semantics.
                        value:
                          type: string
                          format: byte
                          description: >-
                            Must be a valid serialized protocol buffer of the
                            above specified type.
                      description: >-
                        `Any` contains an arbitrary serialized protocol buffer
                        message along with a

                        URL that describes the type of the serialized message.


                        Protobuf library provides support to pack/unpack Any
                        values in the form

                        of utility functions or additional generated methods of
                        the Any type.


                        Example 1: Pack and unpack a message in C++.

                            Foo foo = ...;
                            Any any;
                            any.PackFrom(foo);
                            ...
                            if (any.UnpackTo(&foo)) {
                              ...
                            }

                        Example 2: Pack and unpack a message in Java.

                            Foo foo = ...;
                            Any any = Any.pack(foo);
                            ...
                            if (any.is(Foo.class)) {
                              foo = any.unpack(Foo.class);
                            }

                         Example 3: Pack and unpack a message in Python.

                            foo = Foo(...)
                            any = Any()
                            any.Pack(foo)
                            ...
                            if any.Is(Foo.DESCRIPTOR):
                              any.Unpack(foo)
                              ...

                         Example 4: Pack and unpack a message in Go

                             foo := &pb.Foo{...}
                             any, err := ptypes.MarshalAny(foo)
                             ...
                             foo := &pb.Foo{}
                             if err := ptypes.UnmarshalAny(any, foo); err != nil {
                               ...
                             }

                        The pack methods provided by protobuf library will by
                        default use

                        'type.googleapis.com/full.type.name' as the type URL and
                        the unpack

                        methods only use the fully qualified type name after the
                        last '/'

                        in the type URL, for example "foo.bar.com/x/y.z" will
                        yield type

                        name "y.z".



                        JSON

                        ====

                        The JSON representation of an `Any` value uses the
                        regular

                        representation of the deserialized, embedded message,
                        with an

                        additional field `@type` which contains the type URL.
                        Example:

                            package google.profile;
                            message Person {
                              string first_name = 1;
                              string last_name = 2;
                            }

                            {
                              "@type": "type.googleapis.com/google.profile.Person",
                              "firstName": <string>,
                              "lastName": <string>
                            }

                        If the embedded message type is well-known and has a
                        custom JSON

                        representation, that representation will be embedded
                        adding a field

                        `value` which holds the custom JSON in addition to the
                        `@type`

                        field. Example (for message
                        [google.protobuf.Duration][]):

                            {
                              "@type": "type.googleapis.com/google.protobuf.Duration",
                              "value": "1.212s"
                            }
                    status:
                      type: string
                      enum:
                        - PROPOSAL_STATUS_UNSPECIFIED
                        - PROPOSAL_STATUS_DEPOSIT_PERIOD
                        - PROPOSAL_STATUS_VOTING_PERIOD
                        - PROPOSAL_STATUS_PASSED
                        - PROPOSAL_STATUS_REJECTED
                        - PROPOSAL_STATUS_FAILED
                      default: PROPOSAL_STATUS_UNSPECIFIED
                      description: >-
                        ProposalStatus enumerates the valid statuses of a
                        proposal.

                         - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
                         - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
                        period.
                         - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
                        period.
                         - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
                        passed.
                         - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
                        been rejected.
                         - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
                        failed.
                    final_tally_result:
                      type: object
                      properties:
                        "yes":
                          type: string
                        abstain:
                          type: string
                        "no":
                          type: string
                        no_with_veto:
                          type: string
                      description: >-
                        TallyResult defines a standard tally for a governance
                        proposal.
                    submit_time:
                      type: string
                      format: date-time
                    deposit_end_time:
                      type: string
                      format: date-time
                    total_deposit:
                      type: array
                      items:
                        type: object
                        properties:
                          denom:
                            type: string
                          amount:
                            type: string
                        description: >-
                          Coin defines a token with a denomination and an
                          amount.


                          NOTE: The amount field is an Int which implements the
                          custom method

                          signatures required by gogoproto.
                    voting_start_time:
                      type: string
                      format: date-time
                    voting_end_time:
                      type: string
                      format: date-time
                  description: >-
                    Proposal defines the core field members of a governance
                    proposal.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryProposalsResponse is the response type for the
              Query/Proposals RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: proposal_status
          description: |-
            proposal_status defines the status of the proposals.

             - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
             - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
            period.
             - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
            period.
             - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
            passed.
             - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
            been rejected.
             - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
            failed.
          in: query
          required: false
          type: string
          enum:
            - PROPOSAL_STATUS_UNSPECIFIED
            - PROPOSAL_STATUS_DEPOSIT_PERIOD
            - PROPOSAL_STATUS_VOTING_PERIOD
            - PROPOSAL_STATUS_PASSED
            - PROPOSAL_STATUS_REJECTED
            - PROPOSAL_STATUS_FAILED
          default: PROPOSAL_STATUS_UNSPECIFIED
        - name: voter
          description: voter defines the voter address for the proposals.
          in: query
          required: false
          type: string
        - name: depositor
          description: depositor defines the deposit addresses from the proposals.
          in: query
          required: false
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/gov/v1beta1/proposals/{proposal_id}":
    get:
      summary: Proposal queries proposal details based on ProposalID.
      operationId: Proposal
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              proposal:
                type: object
                properties:
                  proposal_id:
                    type: string
                    format: uint64
                  content:
                    type: object
                    properties:
                      type_url:
                        type: string
                        description: >-
                          A URL/resource name that uniquely identifies the type
                          of the serialized

                          protocol buffer message. This string must contain at
                          least

                          one "/" character. The last segment of the URL's path
                          must represent

                          the fully qualified name of the type (as in

                          `path/google.protobuf.Duration`). The name should be
                          in a canonical form

                          (e.g., leading "." is not accepted).


                          In practice, teams usually precompile into the binary
                          all types that they

                          expect it to use in the context of Any. However, for
                          URLs which use the

                          scheme `http`, `https`, or no scheme, one can
                          optionally set up a type

                          server that maps type URLs to message definitions as
                          follows:


                          * If no scheme is provided, `https` is assumed.

                          * An HTTP GET on the URL must yield a
                          [google.protobuf.Type][]
                            value in binary format, or produce an error.
                          * Applications are allowed to cache lookup results
                          based on the
                            URL, or have them precompiled into a binary to avoid any
                            lookup. Therefore, binary compatibility needs to be preserved
                            on changes to types. (Use versioned type names to manage
                            breaking changes.)

                          Note: this functionality is not currently available in
                          the official

                          protobuf release, and it is not used for type URLs
                          beginning with

                          type.googleapis.com.


                          Schemes other than `http`, `https` (or the empty
                          scheme) might be

                          used with implementation specific semantics.
                      value:
                        type: string
                        format: byte
                        description: >-
                          Must be a valid serialized protocol buffer of the
                          above specified type.
                    description: >-
                      `Any` contains an arbitrary serialized protocol buffer
                      message along with a

                      URL that describes the type of the serialized message.


                      Protobuf library provides support to pack/unpack Any
                      values in the form

                      of utility functions or additional generated methods of
                      the Any type.


                      Example 1: Pack and unpack a message in C++.

                          Foo foo = ...;
                          Any any;
                          any.PackFrom(foo);
                          ...
                          if (any.UnpackTo(&foo)) {
                            ...
                          }

                      Example 2: Pack and unpack a message in Java.

                          Foo foo = ...;
                          Any any = Any.pack(foo);
                          ...
                          if (any.is(Foo.class)) {
                            foo = any.unpack(Foo.class);
                          }

                       Example 3: Pack and unpack a message in Python.

                          foo = Foo(...)
                          any = Any()
                          any.Pack(foo)
                          ...
                          if any.Is(Foo.DESCRIPTOR):
                            any.Unpack(foo)
                            ...

                       Example 4: Pack and unpack a message in Go

                           foo := &pb.Foo{...}
                           any, err := ptypes.MarshalAny(foo)
                           ...
                           foo := &pb.Foo{}
                           if err := ptypes.UnmarshalAny(any, foo); err != nil {
                             ...
                           }

                      The pack methods provided by protobuf library will by
                      default use

                      'type.googleapis.com/full.type.name' as the type URL and
                      the unpack

                      methods only use the fully qualified type name after the
                      last '/'

                      in the type URL, for example "foo.bar.com/x/y.z" will
                      yield type

                      name "y.z".



                      JSON

                      ====

                      The JSON representation of an `Any` value uses the regular

                      representation of the deserialized, embedded message, with
                      an

                      additional field `@type` which contains the type URL.
                      Example:

                          package google.profile;
                          message Person {
                            string first_name = 1;
                            string last_name = 2;
                          }

                          {
                            "@type": "type.googleapis.com/google.profile.Person",
                            "firstName": <string>,
                            "lastName": <string>
                          }

                      If the embedded message type is well-known and has a
                      custom JSON

                      representation, that representation will be embedded
                      adding a field

                      `value` which holds the custom JSON in addition to the
                      `@type`

                      field. Example (for message [google.protobuf.Duration][]):

                          {
                            "@type": "type.googleapis.com/google.protobuf.Duration",
                            "value": "1.212s"
                          }
                  status:
                    type: string
                    enum:
                      - PROPOSAL_STATUS_UNSPECIFIED
                      - PROPOSAL_STATUS_DEPOSIT_PERIOD
                      - PROPOSAL_STATUS_VOTING_PERIOD
                      - PROPOSAL_STATUS_PASSED
                      - PROPOSAL_STATUS_REJECTED
                      - PROPOSAL_STATUS_FAILED
                    default: PROPOSAL_STATUS_UNSPECIFIED
                    description: >-
                      ProposalStatus enumerates the valid statuses of a
                      proposal.

                       - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
                       - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
                      period.
                       - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
                      period.
                       - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
                      passed.
                       - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
                      been rejected.
                       - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
                      failed.
                  final_tally_result:
                    type: object
                    properties:
                      "yes":
                        type: string
                      abstain:
                        type: string
                      "no":
                        type: string
                      no_with_veto:
                        type: string
                    description: >-
                      TallyResult defines a standard tally for a governance
                      proposal.
                  submit_time:
                    type: string
                    format: date-time
                  deposit_end_time:
                    type: string
                    format: date-time
                  total_deposit:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                  voting_start_time:
                    type: string
                    format: date-time
                  voting_end_time:
                    type: string
                    format: date-time
                description: >-
                  Proposal defines the core field members of a governance
                  proposal.
            description: >-
              QueryProposalResponse is the response type for the Query/Proposal
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: proposal_id
          description: proposal_id defines the unique id of the proposal.
          in: path
          required: true
          type: string
          format: uint64
      tags:
        - Query
  "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits":
    get:
      summary: Deposits queries all deposits of a single proposal.
      operationId: Deposits
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              deposits:
                type: array
                items:
                  type: object
                  properties:
                    proposal_id:
                      type: string
                      format: uint64
                    depositor:
                      type: string
                    amount:
                      type: array
                      items:
                        type: object
                        properties:
                          denom:
                            type: string
                          amount:
                            type: string
                        description: >-
                          Coin defines a token with a denomination and an
                          amount.


                          NOTE: The amount field is an Int which implements the
                          custom method

                          signatures required by gogoproto.
                  description: >-
                    Deposit defines an amount deposited by an account address to
                    an active

                    proposal.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryDepositsResponse is the response type for the Query/Deposits
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: proposal_id
          description: proposal_id defines the unique id of the proposal.
          in: path
          required: true
          type: string
          format: uint64
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}":
    get:
      summary: >-
        Deposit queries single deposit information based proposalID,
        depositAddr.
      operationId: Deposit
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              deposit:
                description: deposit defines the requested deposit.
                type: object
                properties:
                  proposal_id:
                    type: string
                    format: uint64
                  depositor:
                    type: string
                  amount:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
            description: >-
              QueryDepositResponse is the response type for the Query/Deposit
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: proposal_id
          description: proposal_id defines the unique id of the proposal.
          in: path
          required: true
          type: string
          format: uint64
        - name: depositor
          description: depositor defines the deposit addresses from the proposals.
          in: path
          required: true
          type: string
      tags:
        - Query
  "/cosmos/gov/v1beta1/proposals/{proposal_id}/tally":
    get:
      summary: TallyResult queries the tally of a proposal vote.
      operationId: TallyResult
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              tally:
                description: tally defines the requested tally.
                type: object
                properties:
                  "yes":
                    type: string
                  abstain:
                    type: string
                  "no":
                    type: string
                  no_with_veto:
                    type: string
            description: >-
              QueryTallyResultResponse is the response type for the Query/Tally
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: proposal_id
          description: proposal_id defines the unique id of the proposal.
          in: path
          required: true
          type: string
          format: uint64
      tags:
        - Query
  "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes":
    get:
      summary: Votes queries votes of a given proposal.
      operationId: Votes
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              votes:
                type: array
                items:
                  type: object
                  properties:
                    proposal_id:
                      type: string
                      format: uint64
                    voter:
                      type: string
                    option:
                      type: string
                      enum:
                        - VOTE_OPTION_UNSPECIFIED
                        - VOTE_OPTION_YES
                        - VOTE_OPTION_ABSTAIN
                        - VOTE_OPTION_NO
                        - VOTE_OPTION_NO_WITH_VETO
                      default: VOTE_OPTION_UNSPECIFIED
                      description: >-
                        VoteOption enumerates the valid vote options for a given
                        governance proposal.

                         - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
                         - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
                         - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
                         - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
                         - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
                  description: >-
                    Vote defines a vote on a governance proposal.

                    A Vote consists of a proposal ID, the voter, and the vote
                    option.
                description: votes defined the queried votes.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryVotesResponse is the response type for the Query/Votes RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: proposal_id
          description: proposal_id defines the unique id of the proposal.
          in: path
          required: true
          type: string
          format: uint64
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}":
    get:
      summary: "Vote queries voted information based on proposalID, voterAddr."
      operationId: Vote
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              vote:
                description: vote defined the queried vote.
                type: object
                properties:
                  proposal_id:
                    type: string
                    format: uint64
                  voter:
                    type: string
                  option:
                    type: string
                    enum:
                      - VOTE_OPTION_UNSPECIFIED
                      - VOTE_OPTION_YES
                      - VOTE_OPTION_ABSTAIN
                      - VOTE_OPTION_NO
                      - VOTE_OPTION_NO_WITH_VETO
                    default: VOTE_OPTION_UNSPECIFIED
                    description: >-
                      VoteOption enumerates the valid vote options for a given
                      governance proposal.

                       - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
                       - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
                       - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
                       - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
                       - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
            description: >-
              QueryVoteResponse is the response type for the Query/Vote RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: proposal_id
          description: proposal_id defines the unique id of the proposal.
          in: path
          required: true
          type: string
          format: uint64
        - name: voter
          description: voter defines the oter address for the proposals.
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmos/mint/v1beta1/annual_provisions:
    get:
      summary: AnnualProvisions current minting annual provisions value.
      operationId: AnnualProvisions
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              annual_provisions:
                type: string
                format: byte
                description: >-
                  annual_provisions is the current minting annual provisions
                  value.
            description: |-
              QueryAnnualProvisionsResponse is the response type for the
              Query/AnnualProvisions RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /cosmos/mint/v1beta1/inflation:
    get:
      summary: Inflation returns the current minting inflation value.
      operationId: Inflation
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              inflation:
                type: string
                format: byte
                description: inflation is the current minting inflation value.
            description: >-
              QueryInflationResponse is the response type for the
              Query/Inflation RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /cosmos/mint/v1beta1/params:
    get:
      summary: Params returns the total set of minting parameters.
      operationId: MintParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                description: params defines the parameters of the module.
                type: object
                properties:
                  mint_denom:
                    type: string
                    title: type of coin to mint
                  inflation_rate_change:
                    type: string
                    title: maximum annual change in inflation rate
                  inflation_max:
                    type: string
                    title: maximum inflation rate
                  inflation_min:
                    type: string
                    title: minimum inflation rate
                  goal_bonded:
                    type: string
                    title: goal of percent bonded atoms
                  blocks_per_year:
                    type: string
                    format: uint64
                    title: expected blocks per year
            description: >-
              QueryParamsResponse is the response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /cosmos/params/v1beta1/params:
    get:
      summary: |-
        Params queries a specific parameter of a module, given its subspace and
        key.
      operationId: Params
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              param:
                description: param defines the queried parameter.
                type: object
                properties:
                  subspace:
                    type: string
                  key:
                    type: string
                  value:
                    type: string
            description: >-
              QueryParamsResponse is response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: subspace
          description: subspace defines the module to query the parameter for.
          in: query
          required: false
          type: string
        - name: key
          description: key defines the key of the parameter in the subspace.
          in: query
          required: false
          type: string
      tags:
        - Query
  /cosmos/slashing/v1beta1/params:
    get:
      summary: Params queries the parameters of slashing module
      operationId: SlashingParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                type: object
                properties:
                  signed_blocks_window:
                    type: string
                    format: int64
                  min_signed_per_window:
                    type: string
                    format: byte
                  downtime_jail_duration:
                    type: string
                  slash_fraction_double_sign:
                    type: string
                    format: byte
                  slash_fraction_downtime:
                    type: string
                    format: byte
                description: >-
                  Params represents the parameters used for by the slashing
                  module.
            title: >-
              QueryParamsResponse is the response type for the Query/Params RPC
              method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /cosmos/slashing/v1beta1/signing_infos:
    get:
      summary: SigningInfos queries signing info of all validators
      operationId: SigningInfos
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              info:
                type: array
                items:
                  type: object
                  properties:
                    address:
                      type: string
                    start_height:
                      type: string
                      format: int64
                      title: >-
                        height at which validator was first a candidate OR was
                        unjailed
                    index_offset:
                      type: string
                      format: int64
                      title: index offset into signed block bit array
                    jailed_until:
                      type: string
                      format: date-time
                      title: timestamp validator cannot be unjailed until
                    tombstoned:
                      type: boolean
                      format: boolean
                      title: >-
                        whether or not a validator has been tombstoned (killed
                        out of validator

                        set)
                    missed_blocks_counter:
                      type: string
                      format: int64
                      title: >-
                        missed blocks counter (to avoid scanning the array every
                        time)
                  description: >-
                    ValidatorSigningInfo defines a validator's signing info for
                    monitoring their

                    liveness activity.
                title: info is the signing info of all validators
              pagination:
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
            title: >-
              QuerySigningInfosResponse is the response type for the
              Query/SigningInfos RPC

              method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/slashing/v1beta1/signing_infos/{cons_address}":
    get:
      summary: SigningInfo queries the signing info of given cons address
      operationId: SigningInfo
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              val_signing_info:
                title: >-
                  val_signing_info is the signing info of requested val cons
                  address
                type: object
                properties:
                  address:
                    type: string
                  start_height:
                    type: string
                    format: int64
                    title: >-
                      height at which validator was first a candidate OR was
                      unjailed
                  index_offset:
                    type: string
                    format: int64
                    title: index offset into signed block bit array
                  jailed_until:
                    type: string
                    format: date-time
                    title: timestamp validator cannot be unjailed until
                  tombstoned:
                    type: boolean
                    format: boolean
                    title: >-
                      whether or not a validator has been tombstoned (killed out
                      of validator

                      set)
                  missed_blocks_counter:
                    type: string
                    format: int64
                    title: >-
                      missed blocks counter (to avoid scanning the array every
                      time)
                description: >-
                  ValidatorSigningInfo defines a validator's signing info for
                  monitoring their

                  liveness activity.
            title: >-
              QuerySigningInfoResponse is the response type for the
              Query/SigningInfo RPC

              method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: cons_address
          description: cons_address is the address to query signing info of
          in: path
          required: true
          type: string
      tags:
        - Query
  "/cosmos/staking/v1beta1/delegations/{delegator_addr}":
    get:
      summary: >-
        DelegatorDelegations queries all delegations of a given delegator
        address.
      operationId: DelegatorDelegations
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              delegation_responses:
                type: array
                items:
                  type: object
                  properties:
                    delegation:
                      type: object
                      properties:
                        delegator_address:
                          type: string
                        validator_address:
                          type: string
                        shares:
                          type: string
                      description: >-
                        Delegation represents the bond with tokens held by an
                        account. It is

                        owned by one delegator, and is associated with the
                        voting power of one

                        validator.
                    balance:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                  description: >-
                    DelegationResponse is equivalent to Delegation except that
                    it contains a

                    balance in addition to shares which is more suitable for
                    client responses.
                description: >-
                  delegation_responses defines all the delegations' info of a
                  delegator.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: |-
              QueryDelegatorDelegationsResponse is response type for the
              Query/DelegatorDelegations RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_addr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations":
    get:
      summary: Redelegations queries redelegations of given address.
      operationId: Redelegations
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              redelegation_responses:
                type: array
                items:
                  type: object
                  properties:
                    redelegation:
                      type: object
                      properties:
                        delegator_address:
                          type: string
                        validator_src_address:
                          type: string
                        validator_dst_address:
                          type: string
                        entries:
                          type: array
                          items:
                            type: object
                            properties:
                              creation_height:
                                type: string
                                format: int64
                              completion_time:
                                type: string
                                format: date-time
                              initial_balance:
                                type: string
                              shares_dst:
                                type: string
                            description: >-
                              RedelegationEntry defines a redelegation object
                              with relevant metadata.
                      description: >-
                        Redelegation contains the list of a particular
                        delegator's redelegating bonds

                        from a particular source validator to a particular
                        destination validator.
                    entries:
                      type: array
                      items:
                        type: object
                        properties:
                          redelegation_entry:
                            type: object
                            properties:
                              creation_height:
                                type: string
                                format: int64
                              completion_time:
                                type: string
                                format: date-time
                              initial_balance:
                                type: string
                              shares_dst:
                                type: string
                            description: >-
                              RedelegationEntry defines a redelegation object
                              with relevant metadata.
                          balance:
                            type: string
                        description: >-
                          RedelegationEntryResponse is equivalent to a
                          RedelegationEntry except that it

                          contains a balance in addition to shares which is more
                          suitable for client

                          responses.
                  description: >-
                    RedelegationResponse is equivalent to a Redelegation except
                    that its entries

                    contain a balance in addition to shares which is more
                    suitable for client

                    responses.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryRedelegationsResponse is response type for the
              Query/Redelegations RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_addr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          type: string
        - name: src_validator_addr
          description: src_validator_addr defines the validator address to redelegate from.
          in: query
          required: false
          type: string
        - name: dst_validator_addr
          description: dst_validator_addr defines the validator address to redelegate to.
          in: query
          required: false
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations":
    get:
      summary: >-
        DelegatorUnbondingDelegations queries all unbonding delegations of a
        given

        delegator address.
      operationId: DelegatorUnbondingDelegations
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              unbonding_responses:
                type: array
                items:
                  type: object
                  properties:
                    delegator_address:
                      type: string
                    validator_address:
                      type: string
                    entries:
                      type: array
                      items:
                        type: object
                        properties:
                          creation_height:
                            type: string
                            format: int64
                          completion_time:
                            type: string
                            format: date-time
                          initial_balance:
                            type: string
                          balance:
                            type: string
                        description: >-
                          UnbondingDelegationEntry defines an unbonding object
                          with relevant metadata.
                  description: >-
                    UnbondingDelegation stores all of a single delegator's
                    unbonding bonds

                    for a single validator in an time-ordered list.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryUnbondingDelegatorDelegationsResponse is response type for
              the

              Query/UnbondingDelegatorDelegations RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_addr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators":
    get:
      summary: |-
        DelegatorValidators queries all validators info for given delegator
        address.
      operationId: StakingDelegatorValidators
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              validators:
                type: array
                items:
                  type: object
                  properties:
                    operator_address:
                      type: string
                    consensus_pubkey:
                      type: string
                    jailed:
                      type: boolean
                      format: boolean
                    status:
                      type: integer
                      format: int32
                    tokens:
                      type: string
                    delegator_shares:
                      type: string
                    description:
                      type: object
                      properties:
                        moniker:
                          type: string
                        identity:
                          type: string
                        website:
                          type: string
                        security_contact:
                          type: string
                        details:
                          type: string
                      description: Description defines a validator description.
                    unbonding_height:
                      type: string
                      format: int64
                    unbonding_time:
                      type: string
                      format: date-time
                    commission:
                      type: object
                      properties:
                        commission_rates:
                          type: object
                          properties:
                            rate:
                              type: string
                            max_rate:
                              type: string
                            max_change_rate:
                              type: string
                          description: >-
                            CommissionRates defines the initial commission rates
                            to be used for creating

                            a validator.
                        update_time:
                          type: string
                          format: date-time
                      description: >-
                        Commission defines commission parameters for a given
                        validator.
                    min_self_delegation:
                      type: string
                  description: >-
                    Validator defines a validator, together with the total
                    amount of the

                    Validator's bond shares and their exchange rate to coins.
                    Slashing results in

                    a decrease in the exchange rate, allowing correct
                    calculation of future

                    undelegations without iterating over delegators. When coins
                    are delegated to

                    this validator, the validator is credited with a delegation
                    whose number of

                    bond shares is based on the amount of coins delegated
                    divided by the current

                    exchange rate. Voting power can be calculated as total
                    bonded shares

                    multiplied by exchange rate.
                description: validators defines the the validators' info of a delegator.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: |-
              QueryDelegatorValidatorsResponse is response type for the
              Query/DelegatorValidators RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_addr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  ? "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}"
  : get:
      summary: |-
        DelegatorValidator queries validator info for given delegator validator
        pair.
      operationId: DelegatorValidator
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              validator:
                description: validator defines the the validator info.
                type: object
                properties:
                  operator_address:
                    type: string
                  consensus_pubkey:
                    type: string
                  jailed:
                    type: boolean
                    format: boolean
                  status:
                    type: integer
                    format: int32
                  tokens:
                    type: string
                  delegator_shares:
                    type: string
                  description:
                    type: object
                    properties:
                      moniker:
                        type: string
                      identity:
                        type: string
                      website:
                        type: string
                      security_contact:
                        type: string
                      details:
                        type: string
                    description: Description defines a validator description.
                  unbonding_height:
                    type: string
                    format: int64
                  unbonding_time:
                    type: string
                    format: date-time
                  commission:
                    type: object
                    properties:
                      commission_rates:
                        type: object
                        properties:
                          rate:
                            type: string
                          max_rate:
                            type: string
                          max_change_rate:
                            type: string
                        description: >-
                          CommissionRates defines the initial commission rates
                          to be used for creating

                          a validator.
                      update_time:
                        type: string
                        format: date-time
                    description: >-
                      Commission defines commission parameters for a given
                      validator.
                  min_self_delegation:
                    type: string
            description: |-
              QueryDelegatorValidatorResponse response type for the
              Query/DelegatorValidator RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: delegator_addr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          type: string
        - name: validator_addr
          description: validator_addr defines the validator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  "/cosmos/staking/v1beta1/historical_info/{height}":
    get:
      summary: HistoricalInfo queries the historical info for given height.
      operationId: HistoricalInfo
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              hist:
                description: hist defines the historical info at the given height.
                type: object
                properties:
                  header:
                    type: object
                    properties:
                      version:
                        title: basic block info
                        type: object
                        properties:
                          block:
                            type: string
                            format: uint64
                          app:
                            type: string
                            format: uint64
                        description: >-
                          Consensus captures the consensus rules for processing
                          a block in the blockchain,

                          including all blockchain data structures and the rules
                          of the application's

                          state transition machine.
                      chain_id:
                        type: string
                      height:
                        type: string
                        format: int64
                      time:
                        type: string
                        format: date-time
                      last_block_id:
                        title: prev block info
                        type: object
                        properties:
                          hash:
                            type: string
                            format: byte
                          part_set_header:
                            type: object
                            properties:
                              total:
                                type: integer
                                format: int64
                              hash:
                                type: string
                                format: byte
                            title: PartsetHeader
                      last_commit_hash:
                        type: string
                        format: byte
                        title: hashes of block data
                      data_hash:
                        type: string
                        format: byte
                      validators_hash:
                        type: string
                        format: byte
                        title: hashes from the app output from the prev block
                      next_validators_hash:
                        type: string
                        format: byte
                      consensus_hash:
                        type: string
                        format: byte
                      app_hash:
                        type: string
                        format: byte
                      last_results_hash:
                        type: string
                        format: byte
                      evidence_hash:
                        type: string
                        format: byte
                        title: consensus info
                      proposer_address:
                        type: string
                        format: byte
                    description: Header defines the structure of a Tendermint block header.
                  valset:
                    type: array
                    items:
                      type: object
                      properties:
                        operator_address:
                          type: string
                        consensus_pubkey:
                          type: string
                        jailed:
                          type: boolean
                          format: boolean
                        status:
                          type: integer
                          format: int32
                        tokens:
                          type: string
                        delegator_shares:
                          type: string
                        description:
                          type: object
                          properties:
                            moniker:
                              type: string
                            identity:
                              type: string
                            website:
                              type: string
                            security_contact:
                              type: string
                            details:
                              type: string
                          description: Description defines a validator description.
                        unbonding_height:
                          type: string
                          format: int64
                        unbonding_time:
                          type: string
                          format: date-time
                        commission:
                          type: object
                          properties:
                            commission_rates:
                              type: object
                              properties:
                                rate:
                                  type: string
                                max_rate:
                                  type: string
                                max_change_rate:
                                  type: string
                              description: >-
                                CommissionRates defines the initial commission
                                rates to be used for creating

                                a validator.
                            update_time:
                              type: string
                              format: date-time
                          description: >-
                            Commission defines commission parameters for a given
                            validator.
                        min_self_delegation:
                          type: string
                      description: >-
                        Validator defines a validator, together with the total
                        amount of the

                        Validator's bond shares and their exchange rate to
                        coins. Slashing results in

                        a decrease in the exchange rate, allowing correct
                        calculation of future

                        undelegations without iterating over delegators. When
                        coins are delegated to

                        this validator, the validator is credited with a
                        delegation whose number of

                        bond shares is based on the amount of coins delegated
                        divided by the current

                        exchange rate. Voting power can be calculated as total
                        bonded shares

                        multiplied by exchange rate.
            description: >-
              QueryHistoricalInfoResponse is response type for the
              Query/HistoricalInfo RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: height
          description: height defines at which height to query the historical info.
          in: path
          required: true
          type: string
          format: int64
      tags:
        - Query
  /cosmos/staking/v1beta1/params:
    get:
      summary: Parameters queries the staking parameters.
      operationId: StakingParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                description: params holds all the parameters of this module.
                type: object
                properties:
                  unbonding_time:
                    type: string
                  max_validators:
                    type: integer
                    format: int64
                  max_entries:
                    type: integer
                    format: int64
                  historical_entries:
                    type: integer
                    format: int64
                  bond_denom:
                    type: string
            description: >-
              QueryParamsResponse is response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /cosmos/staking/v1beta1/pool:
    get:
      summary: Pool queries the pool info.
      operationId: Pool
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              pool:
                description: pool defines the pool info.
                type: object
                properties:
                  not_bonded_tokens:
                    type: string
                  bonded_tokens:
                    type: string
            description: QueryPoolResponse is response type for the Query/Pool RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /cosmos/staking/v1beta1/validators:
    get:
      summary: Validators queries all validators that match the given status.
      operationId: Validators
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              validators:
                type: array
                items:
                  type: object
                  properties:
                    operator_address:
                      type: string
                    consensus_pubkey:
                      type: string
                    jailed:
                      type: boolean
                      format: boolean
                    status:
                      type: integer
                      format: int32
                    tokens:
                      type: string
                    delegator_shares:
                      type: string
                    description:
                      type: object
                      properties:
                        moniker:
                          type: string
                        identity:
                          type: string
                        website:
                          type: string
                        security_contact:
                          type: string
                        details:
                          type: string
                      description: Description defines a validator description.
                    unbonding_height:
                      type: string
                      format: int64
                    unbonding_time:
                      type: string
                      format: date-time
                    commission:
                      type: object
                      properties:
                        commission_rates:
                          type: object
                          properties:
                            rate:
                              type: string
                            max_rate:
                              type: string
                            max_change_rate:
                              type: string
                          description: >-
                            CommissionRates defines the initial commission rates
                            to be used for creating

                            a validator.
                        update_time:
                          type: string
                          format: date-time
                      description: >-
                        Commission defines commission parameters for a given
                        validator.
                    min_self_delegation:
                      type: string
                  description: >-
                    Validator defines a validator, together with the total
                    amount of the

                    Validator's bond shares and their exchange rate to coins.
                    Slashing results in

                    a decrease in the exchange rate, allowing correct
                    calculation of future

                    undelegations without iterating over delegators. When coins
                    are delegated to

                    this validator, the validator is credited with a delegation
                    whose number of

                    bond shares is based on the amount of coins delegated
                    divided by the current

                    exchange rate. Voting power can be calculated as total
                    bonded shares

                    multiplied by exchange rate.
                description: validators contains all the queried validators.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            title: >-
              QueryValidatorsResponse is response type for the Query/Validators
              RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: status
          description: status enables to query for validators matching a given status.
          in: query
          required: false
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/staking/v1beta1/validators/{validator_addr}":
    get:
      summary: Validator queries validator info for given validator address.
      operationId: Validator
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              validator:
                description: validator defines the the validator info.
                type: object
                properties:
                  operator_address:
                    type: string
                  consensus_pubkey:
                    type: string
                  jailed:
                    type: boolean
                    format: boolean
                  status:
                    type: integer
                    format: int32
                  tokens:
                    type: string
                  delegator_shares:
                    type: string
                  description:
                    type: object
                    properties:
                      moniker:
                        type: string
                      identity:
                        type: string
                      website:
                        type: string
                      security_contact:
                        type: string
                      details:
                        type: string
                    description: Description defines a validator description.
                  unbonding_height:
                    type: string
                    format: int64
                  unbonding_time:
                    type: string
                    format: date-time
                  commission:
                    type: object
                    properties:
                      commission_rates:
                        type: object
                        properties:
                          rate:
                            type: string
                          max_rate:
                            type: string
                          max_change_rate:
                            type: string
                        description: >-
                          CommissionRates defines the initial commission rates
                          to be used for creating

                          a validator.
                      update_time:
                        type: string
                        format: date-time
                    description: >-
                      Commission defines commission parameters for a given
                      validator.
                  min_self_delegation:
                    type: string
            title: >-
              QueryValidatorResponse is response type for the Query/Validator
              RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_addr
          description: validator_addr defines the validator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations":
    get:
      summary: ValidatorDelegations queries delegate info for given validator.
      operationId: ValidatorDelegations
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              delegation_responses:
                type: array
                items:
                  type: object
                  properties:
                    delegation:
                      type: object
                      properties:
                        delegator_address:
                          type: string
                        validator_address:
                          type: string
                        shares:
                          type: string
                      description: >-
                        Delegation represents the bond with tokens held by an
                        account. It is

                        owned by one delegator, and is associated with the
                        voting power of one

                        validator.
                    balance:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                  description: >-
                    DelegationResponse is equivalent to Delegation except that
                    it contains a

                    balance in addition to shares which is more suitable for
                    client responses.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            title: |-
              QueryValidatorDelegationsResponse is response type for the
              Query/ValidatorDelegations RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_addr
          description: validator_addr defines the validator address to query for.
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  ? "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}"
  : get:
      summary: Delegation queries delegate info for given validator delegator pair.
      operationId: Delegation
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              delegation_response:
                description: >-
                  delegation_responses defines the delegation info of a
                  delegation.
                type: object
                properties:
                  delegation:
                    type: object
                    properties:
                      delegator_address:
                        type: string
                      validator_address:
                        type: string
                      shares:
                        type: string
                    description: >-
                      Delegation represents the bond with tokens held by an
                      account. It is

                      owned by one delegator, and is associated with the voting
                      power of one

                      validator.
                  balance:
                    type: object
                    properties:
                      denom:
                        type: string
                      amount:
                        type: string
                    description: >-
                      Coin defines a token with a denomination and an amount.


                      NOTE: The amount field is an Int which implements the
                      custom method

                      signatures required by gogoproto.
            description: >-
              QueryDelegationResponse is response type for the Query/Delegation
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_addr
          description: validator_addr defines the validator address to query for.
          in: path
          required: true
          type: string
        - name: delegator_addr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  ? "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation"
  : get:
      summary: |-
        UnbondingDelegation queries unbonding info for given validator delegator
        pair.
      operationId: UnbondingDelegation
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              unbond:
                description: unbond defines the unbonding information of a delegation.
                type: object
                properties:
                  delegator_address:
                    type: string
                  validator_address:
                    type: string
                  entries:
                    type: array
                    items:
                      type: object
                      properties:
                        creation_height:
                          type: string
                          format: int64
                        completion_time:
                          type: string
                          format: date-time
                        initial_balance:
                          type: string
                        balance:
                          type: string
                      description: >-
                        UnbondingDelegationEntry defines an unbonding object
                        with relevant metadata.
            description: >-
              QueryDelegationResponse is response type for the
              Query/UnbondingDelegation

              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_addr
          description: validator_addr defines the validator address to query for.
          in: path
          required: true
          type: string
        - name: delegator_addr
          description: delegator_addr defines the delegator address to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  "/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations":
    get:
      summary: >-
        ValidatorUnbondingDelegations queries unbonding delegations of a
        validator.
      operationId: ValidatorUnbondingDelegations
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              unbonding_responses:
                type: array
                items:
                  type: object
                  properties:
                    delegator_address:
                      type: string
                    validator_address:
                      type: string
                    entries:
                      type: array
                      items:
                        type: object
                        properties:
                          creation_height:
                            type: string
                            format: int64
                          completion_time:
                            type: string
                            format: date-time
                          initial_balance:
                            type: string
                          balance:
                            type: string
                        description: >-
                          UnbondingDelegationEntry defines an unbonding object
                          with relevant metadata.
                  description: >-
                    UnbondingDelegation stores all of a single delegator's
                    unbonding bonds

                    for a single validator in an time-ordered list.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryValidatorUnbondingDelegationsResponse is response type for
              the

              Query/ValidatorUnbondingDelegations RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: validator_addr
          description: validator_addr defines the validator address to query for.
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/cosmos/upgrade/v1beta1/applied_plan/{name}":
    get:
      summary: AppliedPlan queries a previously applied upgrade plan by its name.
      operationId: AppliedPlan
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              height:
                type: string
                format: int64
                description: height is the block height at which the plan was applied.
            description: >-
              QueryAppliedPlanResponse is the response type for the
              Query/AppliedPlan RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      parameters:
        - name: name
          description: name is the name of the applied plan to query for.
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmos/upgrade/v1beta1/current_plan:
    get:
      summary: CurrentPlan queries the current upgrade plan.
      operationId: CurrentPlan
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              plan:
                description: plan is the current upgrade plan.
                type: object
                properties:
                  name:
                    type: string
                    description: >-
                      Sets the name for the upgrade. This name will be used by
                      the upgraded

                      version of the software to apply any special "on-upgrade"
                      commands during

                      the first BeginBlock method after the upgrade is applied.
                      It is also used

                      to detect whether a software version can handle a given
                      upgrade. If no

                      upgrade handler with this name has been set in the
                      software, it will be

                      assumed that the software is out-of-date when the upgrade
                      Time or Height is

                      reached and the software will exit.
                  time:
                    type: string
                    format: date-time
                    description: >-
                      The time after which the upgrade must be performed.

                      Leave set to its zero value to use a pre-defined Height
                      instead.
                  height:
                    type: string
                    format: int64
                    description: |-
                      The height at which the upgrade must be performed.
                      Only used if Time is not set.
                  info:
                    type: string
                    title: >-
                      Any application specific upgrade info to be included
                      on-chain

                      such as a git commit that validators could automatically
                      upgrade to
            description: >-
              QueryCurrentPlanResponse is the response type for the
              Query/CurrentPlan RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                    value:
                      type: string
                      format: byte
      tags:
        - Query
  /ibc/channel/v1beta1/channels:
    get:
      summary: Channels queries all the IBC channels of a chain.
      operationId: Channels
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              channels:
                type: array
                items:
                  type: object
                  properties:
                    state:
                      title: current state of the channel end
                      type: string
                      enum:
                        - STATE_UNINITIALIZED_UNSPECIFIED
                        - STATE_INIT
                        - STATE_TRYOPEN
                        - STATE_OPEN
                        - STATE_CLOSED
                      default: STATE_UNINITIALIZED_UNSPECIFIED
                      description: >-
                        State defines if a channel is in one of the following
                        states:

                        CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

                         - STATE_UNINITIALIZED_UNSPECIFIED: Default State
                         - STATE_INIT: A channel has just started the opening handshake.
                         - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
                         - STATE_OPEN: A channel has completed the handshake. Open channels are
                        ready to send and receive packets.
                         - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
                        packets.
                    ordering:
                      title: whether the channel is ordered or unordered
                      type: string
                      enum:
                        - ORDER_NONE_UNSPECIFIED
                        - ORDER_UNORDERED
                        - ORDER_ORDERED
                      default: ORDER_NONE_UNSPECIFIED
                      description: >-
                        - ORDER_NONE_UNSPECIFIED: zero-value for channel
                        ordering
                         - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
                        which they were sent.
                         - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
                    counterparty:
                      title: counterparty channel end
                      type: object
                      properties:
                        port_id:
                          type: string
                          description: >-
                            port on the counterparty chain which owns the other
                            end of the channel.
                        channel_id:
                          type: string
                          title: channel end on the counterparty chain
                    connection_hops:
                      type: array
                      items:
                        type: string
                      title: >-
                        list of connection identifiers, in order, along which
                        packets sent on

                        this channel will travel
                    version:
                      type: string
                      title: >-
                        opaque channel version, which is agreed upon during the
                        handshake
                    port_id:
                      type: string
                      title: port identifier
                    channel_id:
                      type: string
                      title: channel identifier
                  description: >-
                    IdentifiedChannel defines a channel with additional port and
                    channel

                    identifier fields.
                description: list of stored channels of the chain.
              pagination:
                title: pagination response
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
              height:
                title: query block height
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            description: >-
              QueryChannelsResponse is the response type for the Query/Channels
              RPC method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}":
    get:
      summary: Channel queries an IBC Channel.
      operationId: Channel
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              channel:
                title: channel associated with the request identifiers
                type: object
                properties:
                  state:
                    title: current state of the channel end
                    type: string
                    enum:
                      - STATE_UNINITIALIZED_UNSPECIFIED
                      - STATE_INIT
                      - STATE_TRYOPEN
                      - STATE_OPEN
                      - STATE_CLOSED
                    default: STATE_UNINITIALIZED_UNSPECIFIED
                    description: >-
                      State defines if a channel is in one of the following
                      states:

                      CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

                       - STATE_UNINITIALIZED_UNSPECIFIED: Default State
                       - STATE_INIT: A channel has just started the opening handshake.
                       - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
                       - STATE_OPEN: A channel has completed the handshake. Open channels are
                      ready to send and receive packets.
                       - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
                      packets.
                  ordering:
                    title: whether the channel is ordered or unordered
                    type: string
                    enum:
                      - ORDER_NONE_UNSPECIFIED
                      - ORDER_UNORDERED
                      - ORDER_ORDERED
                    default: ORDER_NONE_UNSPECIFIED
                    description: |-
                      - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
                       - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
                      which they were sent.
                       - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
                  counterparty:
                    title: counterparty channel end
                    type: object
                    properties:
                      port_id:
                        type: string
                        description: >-
                          port on the counterparty chain which owns the other
                          end of the channel.
                      channel_id:
                        type: string
                        title: channel end on the counterparty chain
                  connection_hops:
                    type: array
                    items:
                      type: string
                    title: >-
                      list of connection identifiers, in order, along which
                      packets sent on

                      this channel will travel
                  version:
                    type: string
                    title: >-
                      opaque channel version, which is agreed upon during the
                      handshake
                description: >-
                  Channel defines pipeline for exactly-once packet delivery
                  between specific

                  modules on separate blockchains, which has at least one end
                  capable of

                  sending packets and one end capable of receiving packets.
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            description: >-
              QueryChannelResponse is the response type for the Query/Channel
              RPC method.

              Besides the Channel end, it includes a proof and the height from
              which the

              proof was retrieved.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
      tags:
        - Query
  "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/client_state":
    get:
      summary: >-
        ChannelClientState queries for the client state for the channel
        associated

        with the provided channel identifiers.
      operationId: ChannelClientState
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              identified_client_state:
                title: client state associated with the channel
                type: object
                properties:
                  client_id:
                    type: string
                    title: client identifier
                  client_state:
                    title: client state
                    type: object
                    properties:
                      type_url:
                        type: string
                        description: >-
                          A URL/resource name that uniquely identifies the type
                          of the serialized

                          protocol buffer message. This string must contain at
                          least

                          one "/" character. The last segment of the URL's path
                          must represent

                          the fully qualified name of the type (as in

                          `path/google.protobuf.Duration`). The name should be
                          in a canonical form

                          (e.g., leading "." is not accepted).


                          In practice, teams usually precompile into the binary
                          all types that they

                          expect it to use in the context of Any. However, for
                          URLs which use the

                          scheme `http`, `https`, or no scheme, one can
                          optionally set up a type

                          server that maps type URLs to message definitions as
                          follows:


                          * If no scheme is provided, `https` is assumed.

                          * An HTTP GET on the URL must yield a
                          [google.protobuf.Type][]
                            value in binary format, or produce an error.
                          * Applications are allowed to cache lookup results
                          based on the
                            URL, or have them precompiled into a binary to avoid any
                            lookup. Therefore, binary compatibility needs to be preserved
                            on changes to types. (Use versioned type names to manage
                            breaking changes.)

                          Note: this functionality is not currently available in
                          the official

                          protobuf release, and it is not used for type URLs
                          beginning with

                          type.googleapis.com.


                          Schemes other than `http`, `https` (or the empty
                          scheme) might be

                          used with implementation specific semantics.
                      value:
                        type: string
                        format: byte
                        description: >-
                          Must be a valid serialized protocol buffer of the
                          above specified type.
                    description: >-
                      `Any` contains an arbitrary serialized protocol buffer
                      message along with a

                      URL that describes the type of the serialized message.


                      Protobuf library provides support to pack/unpack Any
                      values in the form

                      of utility functions or additional generated methods of
                      the Any type.


                      Example 1: Pack and unpack a message in C++.

                          Foo foo = ...;
                          Any any;
                          any.PackFrom(foo);
                          ...
                          if (any.UnpackTo(&foo)) {
                            ...
                          }

                      Example 2: Pack and unpack a message in Java.

                          Foo foo = ...;
                          Any any = Any.pack(foo);
                          ...
                          if (any.is(Foo.class)) {
                            foo = any.unpack(Foo.class);
                          }

                       Example 3: Pack and unpack a message in Python.

                          foo = Foo(...)
                          any = Any()
                          any.Pack(foo)
                          ...
                          if any.Is(Foo.DESCRIPTOR):
                            any.Unpack(foo)
                            ...

                       Example 4: Pack and unpack a message in Go

                           foo := &pb.Foo{...}
                           any, err := ptypes.MarshalAny(foo)
                           ...
                           foo := &pb.Foo{}
                           if err := ptypes.UnmarshalAny(any, foo); err != nil {
                             ...
                           }

                      The pack methods provided by protobuf library will by
                      default use

                      'type.googleapis.com/full.type.name' as the type URL and
                      the unpack

                      methods only use the fully qualified type name after the
                      last '/'

                      in the type URL, for example "foo.bar.com/x/y.z" will
                      yield type

                      name "y.z".



                      JSON

                      ====

                      The JSON representation of an `Any` value uses the regular

                      representation of the deserialized, embedded message, with
                      an

                      additional field `@type` which contains the type URL.
                      Example:

                          package google.profile;
                          message Person {
                            string first_name = 1;
                            string last_name = 2;
                          }

                          {
                            "@type": "type.googleapis.com/google.profile.Person",
                            "firstName": <string>,
                            "lastName": <string>
                          }

                      If the embedded message type is well-known and has a
                      custom JSON

                      representation, that representation will be embedded
                      adding a field

                      `value` which holds the custom JSON in addition to the
                      `@type`

                      field. Example (for message [google.protobuf.Duration][]):

                          {
                            "@type": "type.googleapis.com/google.protobuf.Duration",
                            "value": "1.212s"
                          }
                description: >-
                  IdentifiedClientState defines a client state with an
                  additional client

                  identifier field.
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryChannelClientStateResponse is the Response type for the
              Query/QueryChannelClientState RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
      tags:
        - Query
  ? "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/consensus_state/version/{version_number}/height/{version_height}"
  : get:
      summary: |-
        ChannelConsensusState queries for the consensus state for the channel
        associated with the provided channel identifiers.
      operationId: ChannelConsensusState
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              consensus_state:
                title: consensus state associated with the channel
                type: object
                properties:
                  type_url:
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                  value:
                    type: string
                    format: byte
                    description: >-
                      Must be a valid serialized protocol buffer of the above
                      specified type.
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := ptypes.MarshalAny(foo)
                       ...
                       foo := &pb.Foo{}
                       if err := ptypes.UnmarshalAny(any, foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".



                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              client_id:
                type: string
                title: client ID associated with the consensus state
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryChannelClientStateResponse is the Response type for the
              Query/QueryChannelClientState RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
        - name: version_number
          description: version number of the consensus state
          in: path
          required: true
          type: string
          format: uint64
        - name: version_height
          description: version height of the consensus state
          in: path
          required: true
          type: string
          format: uint64
      tags:
        - Query
  "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/next_sequence":
    get:
      summary: >-
        NextSequenceReceive returns the next receive sequence for a given
        channel.
      operationId: NextSequenceReceive
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              next_sequence_receive:
                type: string
                format: uint64
                title: next sequence receive number
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QuerySequenceResponse is the request type for the
              Query/QueryNextSequenceReceiveResponse RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
      tags:
        - Query
  ? "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}"
  : get:
      summary: PacketAcknowledgement queries a stored packet acknowledgement hash.
      operationId: PacketAcknowledgement
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              acknowledgement:
                type: string
                format: byte
                title: packet associated with the request fields
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: >-
              QueryPacketAcknowledgementResponse defines the client query
              response for a

              packet which also includes a proof, its path and the height form
              which the

              proof was retrieved
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
        - name: sequence
          description: packet sequence
          in: path
          required: true
          type: string
          format: uint64
      tags:
        - Query
  ? "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments"
  : get:
      summary: >-
        PacketCommitments returns the all the packet commitments hashes
        associated

        with a channel.
      operationId: PacketCommitments
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              commitments:
                type: array
                items:
                  type: object
                  properties:
                    port_id:
                      type: string
                      description: channel port identifier.
                    channel_id:
                      type: string
                      description: channel unique identifier.
                    sequence:
                      type: string
                      format: uint64
                      description: packet sequence.
                    hash:
                      type: string
                      format: byte
                      description: packet commitment hash.
                  description: >-
                    PacketAckCommitment defines the genesis type necessary to
                    retrieve and store

                    acknowlegements.
              pagination:
                title: pagination response
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
              height:
                title: query block height
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryPacketCommitmentsResponse is the request type for the
              Query/QueryPacketCommitments RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  ? "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets"
  : get:
      summary: >-
        UnreceivedPackets returns all the unrelayed IBC packets associated with
        a

        channel and sequences.
      operationId: UnreceivedPackets
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              sequences:
                type: array
                items:
                  type: string
                  format: uint64
                title: list of unreceived packet sequences
              height:
                title: query block height
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryUnreceivedPacketsResponse is the response type for the
              Query/UnreceivedPacketCommitments RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
        - name: packet_commitment_sequences
          description: list of packet sequences
          in: path
          required: true
          type: array
          items:
            type: string
            format: uint64
          collectionFormat: csv
          minItems: 1
      tags:
        - Query
  ? "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unrelayed_acks"
  : get:
      summary: >-
        UnrelayedAcks returns all the unrelayed IBC acknowledgements associated
        with a

        channel and sequences.
      operationId: UnrelayedAcks
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              sequences:
                type: array
                items:
                  type: string
                  format: uint64
                title: list of unrelayed acknowledgement sequences
              height:
                title: query block height
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryUnrelayedAcksResponse is the response type for the
              Query/UnrelayedAcks RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
        - name: packet_commitment_sequences
          description: list of commitment sequences
          in: path
          required: true
          type: array
          items:
            type: string
            format: uint64
          collectionFormat: csv
          minItems: 1
      tags:
        - Query
  ? "/ibc/channel/v1beta1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}"
  : get:
      summary: PacketCommitment queries a stored packet commitment hash.
      operationId: PacketCommitment
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              commitment:
                type: string
                format: byte
                title: packet associated with the request fields
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: >-
              QueryPacketCommitmentResponse defines the client query response
              for a packet

              which also includes a proof, its path and the height form which
              the proof was

              retrieved
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: channel_id
          description: channel unique identifier
          in: path
          required: true
          type: string
        - name: port_id
          description: port unique identifier
          in: path
          required: true
          type: string
        - name: sequence
          description: packet sequence
          in: path
          required: true
          type: string
          format: uint64
      tags:
        - Query
  "/ibc/channel/v1beta1/connections/{connection}/channels":
    get:
      summary: |-
        ConnectionChannels queries all the channels associated with a connection
        end.
      operationId: ConnectionChannels
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              channels:
                type: array
                items:
                  type: object
                  properties:
                    state:
                      title: current state of the channel end
                      type: string
                      enum:
                        - STATE_UNINITIALIZED_UNSPECIFIED
                        - STATE_INIT
                        - STATE_TRYOPEN
                        - STATE_OPEN
                        - STATE_CLOSED
                      default: STATE_UNINITIALIZED_UNSPECIFIED
                      description: >-
                        State defines if a channel is in one of the following
                        states:

                        CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

                         - STATE_UNINITIALIZED_UNSPECIFIED: Default State
                         - STATE_INIT: A channel has just started the opening handshake.
                         - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
                         - STATE_OPEN: A channel has completed the handshake. Open channels are
                        ready to send and receive packets.
                         - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
                        packets.
                    ordering:
                      title: whether the channel is ordered or unordered
                      type: string
                      enum:
                        - ORDER_NONE_UNSPECIFIED
                        - ORDER_UNORDERED
                        - ORDER_ORDERED
                      default: ORDER_NONE_UNSPECIFIED
                      description: >-
                        - ORDER_NONE_UNSPECIFIED: zero-value for channel
                        ordering
                         - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
                        which they were sent.
                         - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
                    counterparty:
                      title: counterparty channel end
                      type: object
                      properties:
                        port_id:
                          type: string
                          description: >-
                            port on the counterparty chain which owns the other
                            end of the channel.
                        channel_id:
                          type: string
                          title: channel end on the counterparty chain
                    connection_hops:
                      type: array
                      items:
                        type: string
                      title: >-
                        list of connection identifiers, in order, along which
                        packets sent on

                        this channel will travel
                    version:
                      type: string
                      title: >-
                        opaque channel version, which is agreed upon during the
                        handshake
                    port_id:
                      type: string
                      title: port identifier
                    channel_id:
                      type: string
                      title: channel identifier
                  description: >-
                    IdentifiedChannel defines a channel with additional port and
                    channel

                    identifier fields.
                description: list of channels associated with a connection.
              pagination:
                title: pagination response
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
              height:
                title: query block height
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryConnectionChannelsResponse is the Response type for the
              Query/QueryConnectionChannels RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: connection
          description: connection unique identifier
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  /ibc/client/v1beta1/client_states:
    get:
      summary: ClientStates queries all the IBC light clients of a chain.
      operationId: ClientStates
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              client_states:
                type: array
                items:
                  type: object
                  properties:
                    client_id:
                      type: string
                      title: client identifier
                    client_state:
                      title: client state
                      type: object
                      properties:
                        type_url:
                          type: string
                          description: >-
                            A URL/resource name that uniquely identifies the
                            type of the serialized

                            protocol buffer message. This string must contain at
                            least

                            one "/" character. The last segment of the URL's
                            path must represent

                            the fully qualified name of the type (as in

                            `path/google.protobuf.Duration`). The name should be
                            in a canonical form

                            (e.g., leading "." is not accepted).


                            In practice, teams usually precompile into the
                            binary all types that they

                            expect it to use in the context of Any. However, for
                            URLs which use the

                            scheme `http`, `https`, or no scheme, one can
                            optionally set up a type

                            server that maps type URLs to message definitions as
                            follows:


                            * If no scheme is provided, `https` is assumed.

                            * An HTTP GET on the URL must yield a
                            [google.protobuf.Type][]
                              value in binary format, or produce an error.
                            * Applications are allowed to cache lookup results
                            based on the
                              URL, or have them precompiled into a binary to avoid any
                              lookup. Therefore, binary compatibility needs to be preserved
                              on changes to types. (Use versioned type names to manage
                              breaking changes.)

                            Note: this functionality is not currently available
                            in the official

                            protobuf release, and it is not used for type URLs
                            beginning with

                            type.googleapis.com.


                            Schemes other than `http`, `https` (or the empty
                            scheme) might be

                            used with implementation specific semantics.
                        value:
                          type: string
                          format: byte
                          description: >-
                            Must be a valid serialized protocol buffer of the
                            above specified type.
                      description: >-
                        `Any` contains an arbitrary serialized protocol buffer
                        message along with a

                        URL that describes the type of the serialized message.


                        Protobuf library provides support to pack/unpack Any
                        values in the form

                        of utility functions or additional generated methods of
                        the Any type.


                        Example 1: Pack and unpack a message in C++.

                            Foo foo = ...;
                            Any any;
                            any.PackFrom(foo);
                            ...
                            if (any.UnpackTo(&foo)) {
                              ...
                            }

                        Example 2: Pack and unpack a message in Java.

                            Foo foo = ...;
                            Any any = Any.pack(foo);
                            ...
                            if (any.is(Foo.class)) {
                              foo = any.unpack(Foo.class);
                            }

                         Example 3: Pack and unpack a message in Python.

                            foo = Foo(...)
                            any = Any()
                            any.Pack(foo)
                            ...
                            if any.Is(Foo.DESCRIPTOR):
                              any.Unpack(foo)
                              ...

                         Example 4: Pack and unpack a message in Go

                             foo := &pb.Foo{...}
                             any, err := ptypes.MarshalAny(foo)
                             ...
                             foo := &pb.Foo{}
                             if err := ptypes.UnmarshalAny(any, foo); err != nil {
                               ...
                             }

                        The pack methods provided by protobuf library will by
                        default use

                        'type.googleapis.com/full.type.name' as the type URL and
                        the unpack

                        methods only use the fully qualified type name after the
                        last '/'

                        in the type URL, for example "foo.bar.com/x/y.z" will
                        yield type

                        name "y.z".



                        JSON

                        ====

                        The JSON representation of an `Any` value uses the
                        regular

                        representation of the deserialized, embedded message,
                        with an

                        additional field `@type` which contains the type URL.
                        Example:

                            package google.profile;
                            message Person {
                              string first_name = 1;
                              string last_name = 2;
                            }

                            {
                              "@type": "type.googleapis.com/google.profile.Person",
                              "firstName": <string>,
                              "lastName": <string>
                            }

                        If the embedded message type is well-known and has a
                        custom JSON

                        representation, that representation will be embedded
                        adding a field

                        `value` which holds the custom JSON in addition to the
                        `@type`

                        field. Example (for message
                        [google.protobuf.Duration][]):

                            {
                              "@type": "type.googleapis.com/google.protobuf.Duration",
                              "value": "1.212s"
                            }
                  description: >-
                    IdentifiedClientState defines a client state with an
                    additional client

                    identifier field.
                description: list of stored ClientStates of the chain.
              pagination:
                title: pagination response
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
            description: >-
              QueryClientStatesResponse is the response type for the
              Query/ClientStates RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/ibc/client/v1beta1/client_states/{client_id}":
    get:
      summary: ClientState queries an IBC light client.
      operationId: ClientState
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              client_state:
                title: client state associated with the request identifier
                type: object
                properties:
                  type_url:
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                  value:
                    type: string
                    format: byte
                    description: >-
                      Must be a valid serialized protocol buffer of the above
                      specified type.
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := ptypes.MarshalAny(foo)
                       ...
                       foo := &pb.Foo{}
                       if err := ptypes.UnmarshalAny(any, foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".



                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            description: >-
              QueryClientStateResponse is the response type for the
              Query/ClientState RPC

              method. Besides the client state, it includes a proof and the
              height from

              which the proof was retrieved.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: client_id
          description: client state unique identifier
          in: path
          required: true
          type: string
      tags:
        - Query
  "/ibc/client/v1beta1/consensus_states/{client_id}":
    get:
      summary: |-
        ConsensusStates queries all the consensus state associated with a given
        client.
      operationId: ConsensusStates
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              consensus_states:
                type: array
                items:
                  type: object
                  properties:
                    height:
                      title: consensus state height
                      type: object
                      properties:
                        version_number:
                          type: string
                          format: uint64
                          title: the version that the client is currently on
                        version_height:
                          type: string
                          format: uint64
                          title: the height within the given version
                      description: >-
                        Normally the VersionHeight is incremented at each height
                        while keeping version

                        number the same However some consensus algorithms may
                        choose to reset the

                        height in certain conditions e.g. hard forks,
                        state-machine breaking changes

                        In these cases, the version number is incremented so that
                        height continues to

                        be monitonically increasing even as the VersionHeight gets
                        reset
                    consensus_state:
                      title: consensus state
                      type: object
                      properties:
                        type_url:
                          type: string
                          description: >-
                            A URL/resource name that uniquely identifies the
                            type of the serialized

                            protocol buffer message. This string must contain at
                            least

                            one "/" character. The last segment of the URL's
                            path must represent

                            the fully qualified name of the type (as in

                            `path/google.protobuf.Duration`). The name should be
                            in a canonical form

                            (e.g., leading "." is not accepted).


                            In practice, teams usually precompile into the
                            binary all types that they

                            expect it to use in the context of Any. However, for
                            URLs which use the

                            scheme `http`, `https`, or no scheme, one can
                            optionally set up a type

                            server that maps type URLs to message definitions as
                            follows:


                            * If no scheme is provided, `https` is assumed.

                            * An HTTP GET on the URL must yield a
                            [google.protobuf.Type][]
                              value in binary format, or produce an error.
                            * Applications are allowed to cache lookup results
                            based on the
                              URL, or have them precompiled into a binary to avoid any
                              lookup. Therefore, binary compatibility needs to be preserved
                              on changes to types. (Use versioned type names to manage
                              breaking changes.)

                            Note: this functionality is not currently available
                            in the official

                            protobuf release, and it is not used for type URLs
                            beginning with

                            type.googleapis.com.


                            Schemes other than `http`, `https` (or the empty
                            scheme) might be

                            used with implementation specific semantics.
                        value:
                          type: string
                          format: byte
                          description: >-
                            Must be a valid serialized protocol buffer of the
                            above specified type.
                      description: >-
                        `Any` contains an arbitrary serialized protocol buffer
                        message along with a

                        URL that describes the type of the serialized message.


                        Protobuf library provides support to pack/unpack Any
                        values in the form

                        of utility functions or additional generated methods of
                        the Any type.


                        Example 1: Pack and unpack a message in C++.

                            Foo foo = ...;
                            Any any;
                            any.PackFrom(foo);
                            ...
                            if (any.UnpackTo(&foo)) {
                              ...
                            }

                        Example 2: Pack and unpack a message in Java.

                            Foo foo = ...;
                            Any any = Any.pack(foo);
                            ...
                            if (any.is(Foo.class)) {
                              foo = any.unpack(Foo.class);
                            }

                         Example 3: Pack and unpack a message in Python.

                            foo = Foo(...)
                            any = Any()
                            any.Pack(foo)
                            ...
                            if any.Is(Foo.DESCRIPTOR):
                              any.Unpack(foo)
                              ...

                         Example 4: Pack and unpack a message in Go

                             foo := &pb.Foo{...}
                             any, err := ptypes.MarshalAny(foo)
                             ...
                             foo := &pb.Foo{}
                             if err := ptypes.UnmarshalAny(any, foo); err != nil {
                               ...
                             }

                        The pack methods provided by protobuf library will by
                        default use

                        'type.googleapis.com/full.type.name' as the type URL and
                        the unpack

                        methods only use the fully qualified type name after the
                        last '/'

                        in the type URL, for example "foo.bar.com/x/y.z" will
                        yield type

                        name "y.z".



                        JSON

                        ====

                        The JSON representation of an `Any` value uses the
                        regular

                        representation of the deserialized, embedded message,
                        with an

                        additional field `@type` which contains the type URL.
                        Example:

                            package google.profile;
                            message Person {
                              string first_name = 1;
                              string last_name = 2;
                            }

                            {
                              "@type": "type.googleapis.com/google.profile.Person",
                              "firstName": <string>,
                              "lastName": <string>
                            }

                        If the embedded message type is well-known and has a
                        custom JSON

                        representation, that representation will be embedded
                        adding a field

                        `value` which holds the custom JSON in addition to the
                        `@type`

                        field. Example (for message
                        [google.protobuf.Duration][]):

                            {
                              "@type": "type.googleapis.com/google.protobuf.Duration",
                              "value": "1.212s"
                            }
                  description: >-
                    ConsensusStateWithHeight defines a consensus state with an
                    additional height field.
                title: consensus states associated with the identifier
              pagination:
                title: pagination response
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
            title: |-
              QueryConsensusStatesResponse is the response type for the
              Query/ConsensusStates RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: client_id
          description: client identifier
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  ? "/ibc/client/v1beta1/consensus_states/{client_id}/version/{version_number}/height/{version_height}"
  : get:
      summary: >-
        ConsensusState queries a consensus state associated with a client state
        at

        a given height.
      operationId: ConsensusState
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              consensus_state:
                title: >-
                  consensus state associated with the client identifier at the
                  given height
                type: object
                properties:
                  type_url:
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                  value:
                    type: string
                    format: byte
                    description: >-
                      Must be a valid serialized protocol buffer of the above
                      specified type.
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := ptypes.MarshalAny(foo)
                       ...
                       foo := &pb.Foo{}
                       if err := ptypes.UnmarshalAny(any, foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".



                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: >-
              QueryConsensusStateResponse is the response type for the
              Query/ConsensusState

              RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: client_id
          description: client identifier
          in: path
          required: true
          type: string
        - name: version_number
          description: consensus state version number
          in: path
          required: true
          type: string
          format: uint64
        - name: version_height
          description: consensus state version height
          in: path
          required: true
          type: string
          format: uint64
        - name: latest_height
          description: >-
            latest_height overrrides the height field and queries the latest
            stored

            ConsensusState.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/ibc/connection/v1beta1/client_connections/{client_id}":
    get:
      summary: |-
        ClientConnections queries the connection paths associated with a client
        state.
      operationId: ClientConnections
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              connection_paths:
                type: array
                items:
                  type: string
                description: slice of all the connection paths associated with a client.
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was generated
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryClientConnectionsResponse is the response type for the
              Query/ClientConnections RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: client_id
          description: client identifier associated with a connection
          in: path
          required: true
          type: string
      tags:
        - Query
  /ibc/connection/v1beta1/connections:
    get:
      summary: Connections queries all the IBC connections of a chain.
      operationId: Connections
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              connections:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: connection identifier.
                    client_id:
                      type: string
                      description: client associated with this connection.
                    versions:
                      type: array
                      items:
                        type: string
                      title: >-
                        IBC version which can be utilised to determine encodings
                        or protocols for

                        channels or packets utilising this connection
                    state:
                      description: current state of the connection end.
                      type: string
                      enum:
                        - STATE_UNINITIALIZED_UNSPECIFIED
                        - STATE_INIT
                        - STATE_TRYOPEN
                        - STATE_OPEN
                      default: STATE_UNINITIALIZED_UNSPECIFIED
                    counterparty:
                      description: counterparty chain associated with this connection.
                      type: object
                      properties:
                        client_id:
                          type: string
                          description: >-
                            identifies the client on the counterparty chain
                            associated with a given

                            connection.
                        connection_id:
                          type: string
                          description: >-
                            identifies the connection end on the counterparty
                            chain associated with a

                            given connection.
                        prefix:
                          title: commitment merkle prefix of the counterparty chain
                          type: object
                          properties:
                            key_prefix:
                              type: string
                              format: byte
                  description: >-
                    IdentifiedConnection defines a connection with additional
                    connection

                    identifier field.
                description: list of stored connections of the chain.
              pagination:
                title: pagination response
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
              height:
                title: query block height
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            description: >-
              QueryConnectionsResponse is the response type for the
              Query/Connections RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/ibc/connection/v1beta1/connections/{connection_id}":
    get:
      summary: Connection queries an IBC connection end.
      operationId: Connection
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              connection:
                title: connection associated with the request identifier
                type: object
                properties:
                  client_id:
                    type: string
                    description: client associated with this connection.
                  versions:
                    type: array
                    items:
                      type: string
                    title: >-
                      IBC version which can be utilised to determine encodings
                      or protocols for

                      channels or packets utilising this connection
                  state:
                    description: current state of the connection end.
                    type: string
                    enum:
                      - STATE_UNINITIALIZED_UNSPECIFIED
                      - STATE_INIT
                      - STATE_TRYOPEN
                      - STATE_OPEN
                    default: STATE_UNINITIALIZED_UNSPECIFIED
                  counterparty:
                    description: counterparty chain associated with this connection.
                    type: object
                    properties:
                      client_id:
                        type: string
                        description: >-
                          identifies the client on the counterparty chain
                          associated with a given

                          connection.
                      connection_id:
                        type: string
                        description: >-
                          identifies the connection end on the counterparty
                          chain associated with a

                          given connection.
                      prefix:
                        title: commitment merkle prefix of the counterparty chain
                        type: object
                        properties:
                          key_prefix:
                            type: string
                            format: byte
                description: >-
                  ConnectionEnd defines a stateful object on a chain connected
                  to another

                  separate one. NOTE: there must only be 2 defined
                  ConnectionEnds to establish

                  a connection between two chains.
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            description: >-
              QueryConnectionResponse is the response type for the
              Query/Connection RPC

              method. Besides the connection end, it includes a proof and the
              height from

              which the proof was retrieved.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: connection_id
          description: connection unique identifier
          in: path
          required: true
          type: string
      tags:
        - Query
  "/ibc/connection/v1beta1/connections/{connection_id}/client_state":
    get:
      summary: |-
        ConnectionClientState queries the client state associated with the
        connection.
      operationId: ConnectionClientState
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              identified_client_state:
                title: client state associated with the channel
                type: object
                properties:
                  client_id:
                    type: string
                    title: client identifier
                  client_state:
                    title: client state
                    type: object
                    properties:
                      type_url:
                        type: string
                        description: >-
                          A URL/resource name that uniquely identifies the type
                          of the serialized

                          protocol buffer message. This string must contain at
                          least

                          one "/" character. The last segment of the URL's path
                          must represent

                          the fully qualified name of the type (as in

                          `path/google.protobuf.Duration`). The name should be
                          in a canonical form

                          (e.g., leading "." is not accepted).


                          In practice, teams usually precompile into the binary
                          all types that they

                          expect it to use in the context of Any. However, for
                          URLs which use the

                          scheme `http`, `https`, or no scheme, one can
                          optionally set up a type

                          server that maps type URLs to message definitions as
                          follows:


                          * If no scheme is provided, `https` is assumed.

                          * An HTTP GET on the URL must yield a
                          [google.protobuf.Type][]
                            value in binary format, or produce an error.
                          * Applications are allowed to cache lookup results
                          based on the
                            URL, or have them precompiled into a binary to avoid any
                            lookup. Therefore, binary compatibility needs to be preserved
                            on changes to types. (Use versioned type names to manage
                            breaking changes.)

                          Note: this functionality is not currently available in
                          the official

                          protobuf release, and it is not used for type URLs
                          beginning with

                          type.googleapis.com.


                          Schemes other than `http`, `https` (or the empty
                          scheme) might be

                          used with implementation specific semantics.
                      value:
                        type: string
                        format: byte
                        description: >-
                          Must be a valid serialized protocol buffer of the
                          above specified type.
                    description: >-
                      `Any` contains an arbitrary serialized protocol buffer
                      message along with a

                      URL that describes the type of the serialized message.


                      Protobuf library provides support to pack/unpack Any
                      values in the form

                      of utility functions or additional generated methods of
                      the Any type.


                      Example 1: Pack and unpack a message in C++.

                          Foo foo = ...;
                          Any any;
                          any.PackFrom(foo);
                          ...
                          if (any.UnpackTo(&foo)) {
                            ...
                          }

                      Example 2: Pack and unpack a message in Java.

                          Foo foo = ...;
                          Any any = Any.pack(foo);
                          ...
                          if (any.is(Foo.class)) {
                            foo = any.unpack(Foo.class);
                          }

                       Example 3: Pack and unpack a message in Python.

                          foo = Foo(...)
                          any = Any()
                          any.Pack(foo)
                          ...
                          if any.Is(Foo.DESCRIPTOR):
                            any.Unpack(foo)
                            ...

                       Example 4: Pack and unpack a message in Go

                           foo := &pb.Foo{...}
                           any, err := ptypes.MarshalAny(foo)
                           ...
                           foo := &pb.Foo{}
                           if err := ptypes.UnmarshalAny(any, foo); err != nil {
                             ...
                           }

                      The pack methods provided by protobuf library will by
                      default use

                      'type.googleapis.com/full.type.name' as the type URL and
                      the unpack

                      methods only use the fully qualified type name after the
                      last '/'

                      in the type URL, for example "foo.bar.com/x/y.z" will
                      yield type

                      name "y.z".



                      JSON

                      ====

                      The JSON representation of an `Any` value uses the regular

                      representation of the deserialized, embedded message, with
                      an

                      additional field `@type` which contains the type URL.
                      Example:

                          package google.profile;
                          message Person {
                            string first_name = 1;
                            string last_name = 2;
                          }

                          {
                            "@type": "type.googleapis.com/google.profile.Person",
                            "firstName": <string>,
                            "lastName": <string>
                          }

                      If the embedded message type is well-known and has a
                      custom JSON

                      representation, that representation will be embedded
                      adding a field

                      `value` which holds the custom JSON in addition to the
                      `@type`

                      field. Example (for message [google.protobuf.Duration][]):

                          {
                            "@type": "type.googleapis.com/google.protobuf.Duration",
                            "value": "1.212s"
                          }
                description: >-
                  IdentifiedClientState defines a client state with an
                  additional client

                  identifier field.
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryConnectionClientStateResponse is the response type for the
              Query/ConnectionClientState RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: connection_id
          description: connection identifier
          in: path
          required: true
          type: string
      tags:
        - Query
  ? "/ibc/connection/v1beta1/connections/{connection_id}/consensus_state/version/{version_number}/height/{version_height}"
  : get:
      summary: |-
        ConnectionConsensusState queries the consensus state associated with the
        connection.
      operationId: ConnectionConsensusState
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              consensus_state:
                title: consensus state associated with the channel
                type: object
                properties:
                  type_url:
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                  value:
                    type: string
                    format: byte
                    description: >-
                      Must be a valid serialized protocol buffer of the above
                      specified type.
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := ptypes.MarshalAny(foo)
                       ...
                       foo := &pb.Foo{}
                       if err := ptypes.UnmarshalAny(any, foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".



                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              client_id:
                type: string
                title: client ID associated with the consensus state
              proof:
                type: string
                format: byte
                title: merkle proof of existence
              proof_path:
                type: string
                title: merkle proof path
              proof_height:
                title: height at which the proof was retrieved
                type: object
                properties:
                  version_number:
                    type: string
                    format: uint64
                    title: the version that the client is currently on
                  version_height:
                    type: string
                    format: uint64
                    title: the height within the given version
                description: >-
                  Normally the VersionHeight is incremented at each height while
                  keeping version

                  number the same However some consensus algorithms may choose
                  to reset the

                  height in certain conditions e.g. hard forks, state-machine
                  breaking changes

                  In these cases, the version number is incremented so that height
                  continues to

                  be monitonically increasing even as the VersionHeight gets reset
            title: |-
              QueryConnectionConsensusStateResponse is the response type for the
              Query/ConnectionConsensusState RPC method
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: connection_id
          description: connection identifier
          in: path
          required: true
          type: string
        - name: version_number
          in: path
          required: true
          type: string
          format: uint64
        - name: version_height
          in: path
          required: true
          type: string
          format: uint64
      tags:
        - Query
  /ibc_transfer/v1beta1/denom_traces:
    get:
      summary: DenomTraces queries all denomination traces.
      operationId: DenomTraces
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              denom_traces:
                type: array
                items:
                  type: object
                  properties:
                    path:
                      type: string
                      description: >-
                        path defines the chain of port/channel identifiers used
                        for tracing the

                        source of the fungible token.
                    base_denom:
                      type: string
                      description: base denomination of the relayed fungible token.
                  description: >-
                    DenomTrace contains the base denomination for ICS20 fungible
                    tokens and the

                    source tracing information path.
                description: denom_traces returns all denominations trace information.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    title: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: >-
              QueryConnectionsResponse is the response type for the
              Query/DenomTraces RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
          format: boolean
      tags:
        - Query
  "/ibc_transfer/v1beta1/denom_traces/{hash}":
    get:
      summary: DenomTrace queries a denomination trace information.
      operationId: DenomTrace
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              denom_trace:
                description: >-
                  denom_trace returns the requested denomination trace
                  information.
                type: object
                properties:
                  path:
                    type: string
                    description: >-
                      path defines the chain of port/channel identifiers used
                      for tracing the

                      source of the fungible token.
                  base_denom:
                    type: string
                    description: base denomination of the relayed fungible token.
            description: >-
              QueryDenomTraceResponse is the response type for the
              Query/DenomTrace RPC

              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: hash
          description: hash (in hex format) of the denomination trace information.
          in: path
          required: true
          type: string
      tags:
        - Query
  /ibc_transfer/v1beta1/params:
    get:
      summary: Params queries all parameters of the ibc-transfer module.
      operationId: IBCTransferParams
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                description: params defines the parameters of the module.
                type: object
                properties:
                  send_enabled:
                    type: boolean
                    format: boolean
                    description: >-
                      send_enabled enables or disables all cross-chain token
                      transfers from this

                      chain.
                  receive_enabled:
                    type: boolean
                    format: boolean
                    description: >-
                      receive_enabled enables or disables all cross-chain token
                      transfers to this

                      chain.
            description: >-
              QueryParamsResponse is the response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response
          schema:
            type: object
            properties:
              error:
                type: string
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    type_url:
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                    value:
                      type: string
                      format: byte
                      description: >-
                        Must be a valid serialized protocol buffer of the above
                        specified type.
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := ptypes.MarshalAny(foo)
                         ...
                         foo := &pb.Foo{}
                         if err := ptypes.UnmarshalAny(any, foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".



                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      tags:
        - Query
securityDefinitions:
  kms:
    type: basic
definitions:
  CheckTxResult:
    type: object
    properties:
      code:
        type: integer
      data:
        type: string
      gas_used:
        type: integer
      gas_wanted:
        type: integer
      info:
        type: string
      log:
        type: string
      tags:
        type: array
        items:
          type: object
          properties:
            key:
              type: string
            value:
              type: string
    example:
      code: 0
      data: data
      log: log
      gas_used: 5000
      gas_wanted: 10000
      info: info
      tags:
        - ""
        - ""
  DeliverTxResult:
    type: object
    properties:
      code:
        type: integer
      data:
        type: string
      gas_used:
        type: integer
      gas_wanted:
        type: integer
      info:
        type: string
      log:
        type: string
      tags:
        type: array
        items:
          type: object
          properties:
            key:
              type: string
            value:
              type: string
    example:
      code: 5
      data: data
      log: log
      gas_used: 5000
      gas_wanted: 10000
      info: info
      tags:
        - ""
        - ""
  BroadcastTxCommitResult:
    type: object
    properties:
      check_tx:
        type: object
        properties:
          code:
            type: integer
          data:
            type: string
          gas_used:
            type: integer
          gas_wanted:
            type: integer
          info:
            type: string
          log:
            type: string
          tags:
            type: array
            items:
              type: object
              properties:
                key:
                  type: string
                value:
                  type: string
        example:
          code: 0
          data: data
          log: log
          gas_used: 5000
          gas_wanted: 10000
          info: info
          tags:
            - ""
            - ""
      deliver_tx:
        type: object
        properties:
          code:
            type: integer
          data:
            type: string
          gas_used:
            type: integer
          gas_wanted:
            type: integer
          info:
            type: string
          log:
            type: string
          tags:
            type: array
            items:
              type: object
              properties:
                key:
                  type: string
                value:
                  type: string
        example:
          code: 5
          data: data
          log: log
          gas_used: 5000
          gas_wanted: 10000
          info: info
          tags:
            - ""
            - ""
      hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      height:
        type: integer
  KVPair:
    type: object
    properties:
      key:
        type: string
      value:
        type: string
  Msg:
    type: string
  Address:
    type: string
    description: bech32 encoded address
    example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
  ValidatorAddress:
    type: string
    description: bech32 encoded address
    example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
  Coin:
    type: object
    properties:
      denom:
        type: string
        example: stake
      amount:
        type: string
        example: "50"
  Hash:
    type: string
    example: EE5F3404034C524501629B56E0DDC38FAD651F04
  TxQuery:
    type: object
    properties:
      hash:
        type: string
        example: D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656
      height:
        type: number
        example: 368
      tx:
        type: object
        properties:
          msg:
            type: array
            items:
              type: string
          fee:
            type: object
            properties:
              gas:
                type: string
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                      example: stake
                    amount:
                      type: string
                      example: "50"
          memo:
            type: string
          signature:
            type: object
            properties:
              signature:
                type: string
                example: >-
                  MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
              pub_key:
                type: object
                properties:
                  type:
                    type: string
                    example: tendermint/PubKeySecp256k1
                  value:
                    type: string
                    example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
              account_number:
                type: string
                example: "0"
              sequence:
                type: string
                example: "0"
      result:
        type: object
        properties:
          log:
            type: string
          gas_wanted:
            type: string
            example: "200000"
          gas_used:
            type: string
            example: "26354"
          tags:
            type: array
            items:
              type: object
              properties:
                key:
                  type: string
                value:
                  type: string
  PaginatedQueryTxs:
    type: object
    properties:
      total_count:
        type: number
        example: 1
      count:
        type: number
        example: 1
      page_number:
        type: number
        example: 1
      page_total:
        type: number
        example: 1
      limit:
        type: number
        example: 30
      txs:
        type: array
        items:
          type: object
          properties:
            hash:
              type: string
              example: D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656
            height:
              type: number
              example: 368
            tx:
              type: object
              properties:
                msg:
                  type: array
                  items:
                    type: string
                fee:
                  type: object
                  properties:
                    gas:
                      type: string
                    amount:
                      type: array
                      items:
                        type: object
                        properties:
                          denom:
                            type: string
                            example: stake
                          amount:
                            type: string
                            example: "50"
                memo:
                  type: string
                signature:
                  type: object
                  properties:
                    signature:
                      type: string
                      example: >-
                        MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
                    pub_key:
                      type: object
                      properties:
                        type:
                          type: string
                          example: tendermint/PubKeySecp256k1
                        value:
                          type: string
                          example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
                    account_number:
                      type: string
                      example: "0"
                    sequence:
                      type: string
                      example: "0"
            result:
              type: object
              properties:
                log:
                  type: string
                gas_wanted:
                  type: string
                  example: "200000"
                gas_used:
                  type: string
                  example: "26354"
                tags:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                      value:
                        type: string
  StdTx:
    type: object
    properties:
      msg:
        type: array
        items:
          type: string
      fee:
        type: object
        properties:
          gas:
            type: string
          amount:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                  example: stake
                amount:
                  type: string
                  example: "50"
      memo:
        type: string
      signature:
        type: object
        properties:
          signature:
            type: string
            example: >-
              MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=
          pub_key:
            type: object
            properties:
              type:
                type: string
                example: tendermint/PubKeySecp256k1
              value:
                type: string
                example: Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH
          account_number:
            type: string
            example: "0"
          sequence:
            type: string
            example: "0"
  BlockID:
    type: object
    properties:
      hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      parts:
        type: object
        properties:
          total:
            type: number
            example: 0
          hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
  BlockHeader:
    type: object
    properties:
      chain_id:
        type: string
        example: cosmoshub-2
      height:
        type: number
        example: 1
      time:
        type: string
        example: "2017-12-30T05:53:09.287+01:00"
      num_txs:
        type: number
        example: 0
      last_block_id:
        type: object
        properties:
          hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          parts:
            type: object
            properties:
              total:
                type: number
                example: 0
              hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
      total_txs:
        type: number
        example: 35
      last_commit_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      data_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      validators_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      next_validators_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      consensus_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      app_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      last_results_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      evidence_hash:
        type: string
        example: EE5F3404034C524501629B56E0DDC38FAD651F04
      proposer_address:
        type: string
        description: bech32 encoded address
        example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
      version:
        type: object
        properties:
          block:
            type: string
            example: 10
          app:
            type: string
            example: 0
  Block:
    type: object
    properties:
      header:
        type: object
        properties:
          chain_id:
            type: string
            example: cosmoshub-2
          height:
            type: number
            example: 1
          time:
            type: string
            example: "2017-12-30T05:53:09.287+01:00"
          num_txs:
            type: number
            example: 0
          last_block_id:
            type: object
            properties:
              hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              parts:
                type: object
                properties:
                  total:
                    type: number
                    example: 0
                  hash:
                    type: string
                    example: EE5F3404034C524501629B56E0DDC38FAD651F04
          total_txs:
            type: number
            example: 35
          last_commit_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          data_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          validators_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          next_validators_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          consensus_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          app_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          last_results_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          evidence_hash:
            type: string
            example: EE5F3404034C524501629B56E0DDC38FAD651F04
          proposer_address:
            type: string
            description: bech32 encoded address
            example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
          version:
            type: object
            properties:
              block:
                type: string
                example: 10
              app:
                type: string
                example: 0
      txs:
        type: array
        items:
          type: string
      evidence:
        type: array
        items:
          type: string
      last_commit:
        type: object
        properties:
          block_id:
            type: object
            properties:
              hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              parts:
                type: object
                properties:
                  total:
                    type: number
                    example: 0
                  hash:
                    type: string
                    example: EE5F3404034C524501629B56E0DDC38FAD651F04
          precommits:
            type: array
            items:
              type: object
              properties:
                validator_address:
                  type: string
                validator_index:
                  type: string
                  example: "0"
                height:
                  type: string
                  example: "0"
                round:
                  type: string
                  example: "0"
                timestamp:
                  type: string
                  example: "2017-12-30T05:53:09.287+01:00"
                type:
                  type: number
                  example: 2
                block_id:
                  type: object
                  properties:
                    hash:
                      type: string
                      example: EE5F3404034C524501629B56E0DDC38FAD651F04
                    parts:
                      type: object
                      properties:
                        total:
                          type: number
                          example: 0
                        hash:
                          type: string
                          example: EE5F3404034C524501629B56E0DDC38FAD651F04
                signature:
                  type: string
                  example: >-
                    7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ==
  BlockQuery:
    type: object
    properties:
      block_meta:
        type: object
        properties:
          header:
            type: object
            properties:
              chain_id:
                type: string
                example: cosmoshub-2
              height:
                type: number
                example: 1
              time:
                type: string
                example: "2017-12-30T05:53:09.287+01:00"
              num_txs:
                type: number
                example: 0
              last_block_id:
                type: object
                properties:
                  hash:
                    type: string
                    example: EE5F3404034C524501629B56E0DDC38FAD651F04
                  parts:
                    type: object
                    properties:
                      total:
                        type: number
                        example: 0
                      hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
              total_txs:
                type: number
                example: 35
              last_commit_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              data_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              validators_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              next_validators_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              consensus_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              app_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              last_results_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              evidence_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              proposer_address:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              version:
                type: object
                properties:
                  block:
                    type: string
                    example: 10
                  app:
                    type: string
                    example: 0
          block_id:
            type: object
            properties:
              hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              parts:
                type: object
                properties:
                  total:
                    type: number
                    example: 0
                  hash:
                    type: string
                    example: EE5F3404034C524501629B56E0DDC38FAD651F04
      block:
        type: object
        properties:
          header:
            type: object
            properties:
              chain_id:
                type: string
                example: cosmoshub-2
              height:
                type: number
                example: 1
              time:
                type: string
                example: "2017-12-30T05:53:09.287+01:00"
              num_txs:
                type: number
                example: 0
              last_block_id:
                type: object
                properties:
                  hash:
                    type: string
                    example: EE5F3404034C524501629B56E0DDC38FAD651F04
                  parts:
                    type: object
                    properties:
                      total:
                        type: number
                        example: 0
                      hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
              total_txs:
                type: number
                example: 35
              last_commit_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              data_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              validators_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              next_validators_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              consensus_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              app_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              last_results_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              evidence_hash:
                type: string
                example: EE5F3404034C524501629B56E0DDC38FAD651F04
              proposer_address:
                type: string
                description: bech32 encoded address
                example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
              version:
                type: object
                properties:
                  block:
                    type: string
                    example: 10
                  app:
                    type: string
                    example: 0
          txs:
            type: array
            items:
              type: string
          evidence:
            type: array
            items:
              type: string
          last_commit:
            type: object
            properties:
              block_id:
                type: object
                properties:
                  hash:
                    type: string
                    example: EE5F3404034C524501629B56E0DDC38FAD651F04
                  parts:
                    type: object
                    properties:
                      total:
                        type: number
                        example: 0
                      hash:
                        type: string
                        example: EE5F3404034C524501629B56E0DDC38FAD651F04
              precommits:
                type: array
                items:
                  type: object
                  properties:
                    validator_address:
                      type: string
                    validator_index:
                      type: string
                      example: "0"
                    height:
                      type: string
                      example: "0"
                    round:
                      type: string
                      example: "0"
                    timestamp:
                      type: string
                      example: "2017-12-30T05:53:09.287+01:00"
                    type:
                      type: number
                      example: 2
                    block_id:
                      type: object
                      properties:
                        hash:
                          type: string
                          example: EE5F3404034C524501629B56E0DDC38FAD651F04
                        parts:
                          type: object
                          properties:
                            total:
                              type: number
                              example: 0
                            hash:
                              type: string
                              example: EE5F3404034C524501629B56E0DDC38FAD651F04
                    signature:
                      type: string
                      example: >-
                        7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ==
  DelegationDelegatorReward:
    type: object
    properties:
      validator_address:
        type: string
        description: bech32 encoded address
        example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
      reward:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
  DelegatorTotalRewards:
    type: object
    properties:
      rewards:
        type: array
        items:
          type: object
          properties:
            validator_address:
              type: string
              description: bech32 encoded address
              example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
            reward:
              type: array
              items:
                type: object
                properties:
                  denom:
                    type: string
                    example: stake
                  amount:
                    type: string
                    example: "50"
      total:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
  BaseReq:
    type: object
    properties:
      from:
        type: string
        example: cosmos1g9ahr6xhht5rmqven628nklxluzyv8z9jqjcmc
        description: Sender address or Keybase name to generate a transaction
      memo:
        type: string
        example: "Sent via Cosmos Voyager \U0001F680"
      chain_id:
        type: string
        example: Cosmos-Hub
      account_number:
        type: string
        example: "0"
      sequence:
        type: string
        example: "1"
      gas:
        type: string
        example: "200000"
      gas_adjustment:
        type: string
        example: "1.2"
      fees:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
      simulate:
        type: boolean
        example: false
        description: >-
          Estimate gas for a transaction (cannot be used in conjunction with
          generate_only)
  TendermintValidator:
    type: object
    properties:
      address:
        type: string
        description: bech32 encoded address
        example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
      pub_key:
        type: string
        example: >-
          cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
      voting_power:
        type: string
        example: "1000"
      proposer_priority:
        type: string
        example: "1000"
  TextProposal:
    type: object
    properties:
      proposal_id:
        type: integer
      title:
        type: string
      description:
        type: string
      proposal_type:
        type: string
      proposal_status:
        type: string
      final_tally_result:
        type: object
        properties:
          "yes":
            type: string
            example: "0.0000000000"
          abstain:
            type: string
            example: "0.0000000000"
          "no":
            type: string
            example: "0.0000000000"
          no_with_veto:
            type: string
            example: "0.0000000000"
      submit_time:
        type: string
      total_deposit:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
      voting_start_time:
        type: string
  Proposer:
    type: object
    properties:
      proposal_id:
        type: string
      proposer:
        type: string
  Deposit:
    type: object
    properties:
      amount:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
      proposal_id:
        type: string
      depositor:
        type: string
        description: bech32 encoded address
        example: cosmos1depk54cuajgkzea6zpgkq36tnjwdzv4afc3d27
  TallyResult:
    type: object
    properties:
      "yes":
        type: string
        example: "0.0000000000"
      abstain:
        type: string
        example: "0.0000000000"
      "no":
        type: string
        example: "0.0000000000"
      no_with_veto:
        type: string
        example: "0.0000000000"
  Vote:
    type: object
    properties:
      voter:
        type: string
      proposal_id:
        type: string
      option:
        type: string
  Validator:
    type: object
    properties:
      operator_address:
        type: string
        description: bech32 encoded address
        example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
      consensus_pubkey:
        type: string
        example: >-
          cosmosvalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
      jailed:
        type: boolean
      status:
        type: integer
      tokens:
        type: string
      delegator_shares:
        type: string
      description:
        type: object
        properties:
          moniker:
            type: string
          identity:
            type: string
          website:
            type: string
          security_contact:
            type: string
          details:
            type: string
      bond_height:
        type: string
        example: "0"
      bond_intra_tx_counter:
        type: integer
        example: 0
      unbonding_height:
        type: string
        example: "0"
      unbonding_time:
        type: string
        example: "1970-01-01T00:00:00Z"
      commission:
        type: object
        properties:
          rate:
            type: string
            example: "0"
          max_rate:
            type: string
            example: "0"
          max_change_rate:
            type: string
            example: "0"
          update_time:
            type: string
            example: "1970-01-01T00:00:00Z"
  Delegation:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      shares:
        type: string
      balance:
        type: object
        properties:
          denom:
            type: string
            example: stake
          amount:
            type: string
            example: "50"
  UnbondingDelegationPair:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      entries:
        type: array
        items:
          type: object
          properties:
            initial_balance:
              type: string
            balance:
              type: string
            creation_height:
              type: string
            min_time:
              type: string
  UnbondingEntries:
    type: object
    properties:
      initial_balance:
        type: string
      balance:
        type: string
      creation_height:
        type: string
      min_time:
        type: string
  UnbondingDelegation:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      initial_balance:
        type: string
      balance:
        type: string
      creation_height:
        type: integer
      min_time:
        type: integer
  Redelegation:
    type: object
    properties:
      delegator_address:
        type: string
      validator_src_address:
        type: string
      validator_dst_address:
        type: string
      entries:
        type: array
        items:
          $ref: "#/definitions/Redelegation"
  RedelegationEntry:
    type: object
    properties:
      creation_height:
        type: integer
      completion_time:
        type: integer
      initial_balance:
        type: string
      balance:
        type: string
      shares_dst:
        type: string
  ValidatorDistInfo:
    type: object
    properties:
      operator_address:
        type: string
        description: bech32 encoded address
        example: cosmosvaloper16xyempempp92x9hyzz9wrgf94r6j9h5f2w4n2l
      self_bond_rewards:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
      val_commission:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
  PublicKey:
    type: object
    properties:
      type:
        type: string
      value:
        type: string
  SigningInfo:
    type: object
    properties:
      start_height:
        type: string
      index_offset:
        type: string
      jailed_until:
        type: string
      missed_blocks_counter:
        type: string
  ParamChange:
    type: object
    properties:
      subspace:
        type: string
        example: staking
      key:
        type: string
        example: MaxValidators
      subkey:
        type: string
        example: ""
      value:
        type: object
  Supply:
    type: object
    properties:
      total:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
              example: stake
            amount:
              type: string
              example: "50"
  cosmos.auth.v1beta1.Params:
    type: object
    properties:
      max_memo_characters:
        type: string
        format: uint64
      tx_sig_limit:
        type: string
        format: uint64
      tx_size_cost_per_byte:
        type: string
        format: uint64
      sig_verify_cost_ed25519:
        type: string
        format: uint64
      sig_verify_cost_secp256k1:
        type: string
        format: uint64
    description: Params defines the parameters for the auth module.
  cosmos.auth.v1beta1.QueryAccountResponse:
    type: object
    properties:
      account:
        description: account defines the account of the corresponding address.
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
    description: >-
      QueryAccountResponse is the response type for the Query/Account RPC
      method.
  cosmos.auth.v1beta1.QueryParamsResponse:
    type: object
    properties:
      params:
        description: params defines the parameters of the module.
        type: object
        properties:
          max_memo_characters:
            type: string
            format: uint64
          tx_sig_limit:
            type: string
            format: uint64
          tx_size_cost_per_byte:
            type: string
            format: uint64
          sig_verify_cost_ed25519:
            type: string
            format: uint64
          sig_verify_cost_secp256k1:
            type: string
            format: uint64
    description: QueryParamsResponse is the response type for the Query/Params RPC method.
  google.protobuf.Any:
    type: object
    properties:
      type_url:
        type: string
        description: >-
          A URL/resource name that uniquely identifies the type of the
          serialized

          protocol buffer message. This string must contain at least

          one "/" character. The last segment of the URL's path must represent

          the fully qualified name of the type (as in

          `path/google.protobuf.Duration`). The name should be in a canonical
          form

          (e.g., leading "." is not accepted).


          In practice, teams usually precompile into the binary all types that
          they

          expect it to use in the context of Any. However, for URLs which use
          the

          scheme `http`, `https`, or no scheme, one can optionally set up a type

          server that maps type URLs to message definitions as follows:


          * If no scheme is provided, `https` is assumed.

          * An HTTP GET on the URL must yield a [google.protobuf.Type][]
            value in binary format, or produce an error.
          * Applications are allowed to cache lookup results based on the
            URL, or have them precompiled into a binary to avoid any
            lookup. Therefore, binary compatibility needs to be preserved
            on changes to types. (Use versioned type names to manage
            breaking changes.)

          Note: this functionality is not currently available in the official

          protobuf release, and it is not used for type URLs beginning with

          type.googleapis.com.


          Schemes other than `http`, `https` (or the empty scheme) might be

          used with implementation specific semantics.
      value:
        type: string
        format: byte
        description: >-
          Must be a valid serialized protocol buffer of the above specified
          type.
    description: >-
      `Any` contains an arbitrary serialized protocol buffer message along with
      a

      URL that describes the type of the serialized message.


      Protobuf library provides support to pack/unpack Any values in the form

      of utility functions or additional generated methods of the Any type.


      Example 1: Pack and unpack a message in C++.

          Foo foo = ...;
          Any any;
          any.PackFrom(foo);
          ...
          if (any.UnpackTo(&foo)) {
            ...
          }

      Example 2: Pack and unpack a message in Java.

          Foo foo = ...;
          Any any = Any.pack(foo);
          ...
          if (any.is(Foo.class)) {
            foo = any.unpack(Foo.class);
          }

       Example 3: Pack and unpack a message in Python.

          foo = Foo(...)
          any = Any()
          any.Pack(foo)
          ...
          if any.Is(Foo.DESCRIPTOR):
            any.Unpack(foo)
            ...

       Example 4: Pack and unpack a message in Go

           foo := &pb.Foo{...}
           any, err := ptypes.MarshalAny(foo)
           ...
           foo := &pb.Foo{}
           if err := ptypes.UnmarshalAny(any, foo); err != nil {
             ...
           }

      The pack methods provided by protobuf library will by default use

      'type.googleapis.com/full.type.name' as the type URL and the unpack

      methods only use the fully qualified type name after the last '/'

      in the type URL, for example "foo.bar.com/x/y.z" will yield type

      name "y.z".



      JSON

      ====

      The JSON representation of an `Any` value uses the regular

      representation of the deserialized, embedded message, with an

      additional field `@type` which contains the type URL. Example:

          package google.profile;
          message Person {
            string first_name = 1;
            string last_name = 2;
          }

          {
            "@type": "type.googleapis.com/google.profile.Person",
            "firstName": <string>,
            "lastName": <string>
          }

      If the embedded message type is well-known and has a custom JSON

      representation, that representation will be embedded adding a field

      `value` which holds the custom JSON in addition to the `@type`

      field. Example (for message [google.protobuf.Duration][]):

          {
            "@type": "type.googleapis.com/google.protobuf.Duration",
            "value": "1.212s"
          }
  grpc.gateway.runtime.Error:
    type: object
    properties:
      error:
        type: string
      code:
        type: integer
        format: int32
      message:
        type: string
      details:
        type: array
        items:
          type: object
          properties:
            type_url:
              type: string
              description: >-
                A URL/resource name that uniquely identifies the type of the
                serialized

                protocol buffer message. This string must contain at least

                one "/" character. The last segment of the URL's path must
                represent

                the fully qualified name of the type (as in

                `path/google.protobuf.Duration`). The name should be in a
                canonical form

                (e.g., leading "." is not accepted).


                In practice, teams usually precompile into the binary all types
                that they

                expect it to use in the context of Any. However, for URLs which
                use the

                scheme `http`, `https`, or no scheme, one can optionally set up
                a type

                server that maps type URLs to message definitions as follows:


                * If no scheme is provided, `https` is assumed.

                * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                  value in binary format, or produce an error.
                * Applications are allowed to cache lookup results based on the
                  URL, or have them precompiled into a binary to avoid any
                  lookup. Therefore, binary compatibility needs to be preserved
                  on changes to types. (Use versioned type names to manage
                  breaking changes.)

                Note: this functionality is not currently available in the
                official

                protobuf release, and it is not used for type URLs beginning
                with

                type.googleapis.com.


                Schemes other than `http`, `https` (or the empty scheme) might
                be

                used with implementation specific semantics.
            value:
              type: string
              format: byte
              description: >-
                Must be a valid serialized protocol buffer of the above
                specified type.
          description: >-
            `Any` contains an arbitrary serialized protocol buffer message along
            with a

            URL that describes the type of the serialized message.


            Protobuf library provides support to pack/unpack Any values in the
            form

            of utility functions or additional generated methods of the Any
            type.


            Example 1: Pack and unpack a message in C++.

                Foo foo = ...;
                Any any;
                any.PackFrom(foo);
                ...
                if (any.UnpackTo(&foo)) {
                  ...
                }

            Example 2: Pack and unpack a message in Java.

                Foo foo = ...;
                Any any = Any.pack(foo);
                ...
                if (any.is(Foo.class)) {
                  foo = any.unpack(Foo.class);
                }

             Example 3: Pack and unpack a message in Python.

                foo = Foo(...)
                any = Any()
                any.Pack(foo)
                ...
                if any.Is(Foo.DESCRIPTOR):
                  any.Unpack(foo)
                  ...

             Example 4: Pack and unpack a message in Go

                 foo := &pb.Foo{...}
                 any, err := ptypes.MarshalAny(foo)
                 ...
                 foo := &pb.Foo{}
                 if err := ptypes.UnmarshalAny(any, foo); err != nil {
                   ...
                 }

            The pack methods provided by protobuf library will by default use

            'type.googleapis.com/full.type.name' as the type URL and the unpack

            methods only use the fully qualified type name after the last '/'

            in the type URL, for example "foo.bar.com/x/y.z" will yield type

            name "y.z".



            JSON

            ====

            The JSON representation of an `Any` value uses the regular

            representation of the deserialized, embedded message, with an

            additional field `@type` which contains the type URL. Example:

                package google.profile;
                message Person {
                  string first_name = 1;
                  string last_name = 2;
                }

                {
                  "@type": "type.googleapis.com/google.profile.Person",
                  "firstName": <string>,
                  "lastName": <string>
                }

            If the embedded message type is well-known and has a custom JSON

            representation, that representation will be embedded adding a field

            `value` which holds the custom JSON in addition to the `@type`

            field. Example (for message [google.protobuf.Duration][]):

                {
                  "@type": "type.googleapis.com/google.protobuf.Duration",
                  "value": "1.212s"
                }
  cosmos.bank.v1beta1.Params:
    type: object
    properties:
      send_enabled:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            enabled:
              type: boolean
              format: boolean
          description: >-
            SendEnabled maps coin denom to a send_enabled status (whether a
            denom is

            sendable).
      default_send_enabled:
        type: boolean
        format: boolean
    description: Params defines the parameters for the bank module.
  cosmos.bank.v1beta1.QueryAllBalancesResponse:
    type: object
    properties:
      balances:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: balances is the balances of all the coins.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: >-
      QueryAllBalancesResponse is the response type for the Query/AllBalances
      RPC

      method.
  cosmos.bank.v1beta1.QueryBalanceResponse:
    type: object
    properties:
      balance:
        description: balance is the balance of the coin.
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
    description: >-
      QueryBalanceResponse is the response type for the Query/Balance RPC
      method.
  cosmos.bank.v1beta1.QueryParamsResponse:
    type: object
    properties:
      params:
        type: object
        properties:
          send_enabled:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                enabled:
                  type: boolean
                  format: boolean
              description: >-
                SendEnabled maps coin denom to a send_enabled status (whether a
                denom is

                sendable).
          default_send_enabled:
            type: boolean
            format: boolean
        description: Params defines the parameters for the bank module.
    description: >-
      QueryParamsResponse defines the response type for querying x/bank
      parameters.
  cosmos.bank.v1beta1.QuerySupplyOfResponse:
    type: object
    properties:
      amount:
        description: amount is the supply of the coin.
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
    description: >-
      QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC
      method.
  cosmos.bank.v1beta1.QueryTotalSupplyResponse:
    type: object
    properties:
      supply:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: supply is the supply of the coins
    title: >-
      QueryTotalSupplyResponse is the response type for the Query/TotalSupply
      RPC

      method
  cosmos.bank.v1beta1.SendEnabled:
    type: object
    properties:
      denom:
        type: string
      enabled:
        type: boolean
        format: boolean
    description: |-
      SendEnabled maps coin denom to a send_enabled status (whether a denom is
      sendable).
  cosmos.base.query.v1beta1.PageRequest:
    type: object
    properties:
      key:
        type: string
        format: byte
        description: |-
          key is a value returned in PageResponse.next_key to begin
          querying the next page most efficiently. Only one of offset or key
          should be set.
      offset:
        type: string
        format: uint64
        description: |-
          offset is a numeric offset that can be used when key is unavailable.
          It is less efficient than using key. Only one of offset or key should
          be set.
      limit:
        type: string
        format: uint64
        description: >-
          limit is the total number of results to be returned in the result
          page.

          If left empty it will default to a value to be set by each app.
      count_total:
        type: boolean
        format: boolean
        description: >-
          count_total is set to true  to indicate that the result set should
          include

          a count of the total number of items available for pagination in UIs.

          count_total is only respected when offset is used. It is ignored when
          key

          is set.
    description: |-
      message SomeRequest {
               Foo some_parameter = 1;
               PageRequest pagination = 2;
       }
    title: |-
      PageRequest is to be embedded in gRPC request messages for efficient
      pagination. Ex:
  cosmos.base.query.v1beta1.PageResponse:
    type: object
    properties:
      next_key:
        type: string
        format: byte
        title: |-
          next_key is the key to be passed to PageRequest.key to
          query the next page most efficiently
      total:
        type: string
        format: uint64
        title: |-
          total is total number of results available if PageRequest.count_total
          was set, its value is undefined otherwise
    description: |-
      PageResponse is to be embedded in gRPC response messages where the
      corresponding request message has used PageRequest.

       message SomeResponse {
               repeated Bar results = 1;
               PageResponse page = 2;
       }
  cosmos.base.v1beta1.Coin:
    type: object
    properties:
      denom:
        type: string
      amount:
        type: string
    description: |-
      Coin defines a token with a denomination and an amount.

      NOTE: The amount field is an Int which implements the custom method
      signatures required by gogoproto.
  cosmos.base.v1beta1.DecCoin:
    type: object
    properties:
      denom:
        type: string
      amount:
        type: string
    description: |-
      DecCoin defines a token with a denomination and a decimal amount.

      NOTE: The amount field is an Dec which implements the custom method
      signatures required by gogoproto.
  cosmos.distribution.v1beta1.DelegationDelegatorReward:
    type: object
    properties:
      validator_address:
        type: string
      reward:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            DecCoin defines a token with a denomination and a decimal amount.

            NOTE: The amount field is an Dec which implements the custom method
            signatures required by gogoproto.
    description: |-
      DelegationDelegatorReward represents the properties
      of a delegator's delegation reward.
  cosmos.distribution.v1beta1.Params:
    type: object
    properties:
      community_tax:
        type: string
      base_proposer_reward:
        type: string
      bonus_proposer_reward:
        type: string
      withdraw_addr_enabled:
        type: boolean
        format: boolean
    description: Params defines the set of params for the distribution module.
  cosmos.distribution.v1beta1.QueryCommunityPoolResponse:
    type: object
    properties:
      pool:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            DecCoin defines a token with a denomination and a decimal amount.

            NOTE: The amount field is an Dec which implements the custom method
            signatures required by gogoproto.
        description: pool defines community pool's coins.
    description: >-
      QueryCommunityPoolResponse is the response type for the
      Query/CommunityPool

      RPC method.
  cosmos.distribution.v1beta1.QueryDelegationRewardsResponse:
    type: object
    properties:
      rewards:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            DecCoin defines a token with a denomination and a decimal amount.

            NOTE: The amount field is an Dec which implements the custom method
            signatures required by gogoproto.
        description: rewards defines the rewards accrued by a delegation.
    description: |-
      QueryDelegationRewardsResponse is the response type for the
      Query/DelegationRewards RPC method.
  cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse:
    type: object
    properties:
      rewards:
        type: array
        items:
          type: object
          properties:
            validator_address:
              type: string
            reward:
              type: array
              items:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  DecCoin defines a token with a denomination and a decimal
                  amount.


                  NOTE: The amount field is an Dec which implements the custom
                  method

                  signatures required by gogoproto.
          description: |-
            DelegationDelegatorReward represents the properties
            of a delegator's delegation reward.
        description: rewards defines all the rewards accrued by a delegator.
      total:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            DecCoin defines a token with a denomination and a decimal amount.

            NOTE: The amount field is an Dec which implements the custom method
            signatures required by gogoproto.
        description: total defines the sum of all the rewards.
    description: |-
      QueryDelegationTotalRewardsResponse is the response type for the
      Query/DelegationTotalRewards RPC method.
  cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse:
    type: object
    properties:
      validators:
        type: array
        items:
          type: string
        description: validators defines the validators a delegator is delegating for.
    description: |-
      QueryDelegatorValidatorsResponse is the response type for the
      Query/DelegatorValidators RPC method.
  cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse:
    type: object
    properties:
      withdraw_address:
        type: string
        description: withdraw_address defines the delegator address to query for.
    description: |-
      QueryDelegatorWithdrawAddressResponse is the response type for the
      Query/DelegatorWithdrawAddress RPC method.
  cosmos.distribution.v1beta1.QueryParamsResponse:
    type: object
    properties:
      params:
        description: params defines the parameters of the module.
        type: object
        properties:
          community_tax:
            type: string
          base_proposer_reward:
            type: string
          bonus_proposer_reward:
            type: string
          withdraw_addr_enabled:
            type: boolean
            format: boolean
    description: QueryParamsResponse is the response type for the Query/Params RPC method.
  cosmos.distribution.v1beta1.QueryValidatorCommissionResponse:
    type: object
    properties:
      commission:
        description: commission defines the commision the validator received.
        type: object
        properties:
          commission:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                DecCoin defines a token with a denomination and a decimal
                amount.


                NOTE: The amount field is an Dec which implements the custom
                method

                signatures required by gogoproto.
    title: |-
      QueryValidatorCommissionResponse is the response type for the
      Query/ValidatorCommission RPC method
  cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse:
    type: object
    properties:
      rewards:
        type: object
        properties:
          rewards:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                DecCoin defines a token with a denomination and a decimal
                amount.


                NOTE: The amount field is an Dec which implements the custom
                method

                signatures required by gogoproto.
        description: >-
          ValidatorOutstandingRewards represents outstanding (un-withdrawn)
          rewards

          for a validator inexpensive to track, allows simple sanity checks.
    description: |-
      QueryValidatorOutstandingRewardsResponse is the response type for the
      Query/ValidatorOutstandingRewards RPC method.
  cosmos.distribution.v1beta1.QueryValidatorSlashesResponse:
    type: object
    properties:
      slashes:
        type: array
        items:
          type: object
          properties:
            validator_period:
              type: string
              format: uint64
            fraction:
              type: string
          description: |-
            ValidatorSlashEvent represents a validator slash event.
            Height is implicit within the store key.
            This is needed to calculate appropriate amount of staking tokens
            for delegations which are withdrawn after a slash has occurred.
        description: slashes defines the slashes the validator received.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: |-
      QueryValidatorSlashesResponse is the response type for the
      Query/ValidatorSlashes RPC method.
  cosmos.distribution.v1beta1.ValidatorAccumulatedCommission:
    type: object
    properties:
      commission:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            DecCoin defines a token with a denomination and a decimal amount.

            NOTE: The amount field is an Dec which implements the custom method
            signatures required by gogoproto.
    description: |-
      ValidatorAccumulatedCommission represents accumulated commission
      for a validator kept as a running counter, can be withdrawn at any time.
  cosmos.distribution.v1beta1.ValidatorOutstandingRewards:
    type: object
    properties:
      rewards:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            DecCoin defines a token with a denomination and a decimal amount.

            NOTE: The amount field is an Dec which implements the custom method
            signatures required by gogoproto.
    description: |-
      ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
      for a validator inexpensive to track, allows simple sanity checks.
  cosmos.distribution.v1beta1.ValidatorSlashEvent:
    type: object
    properties:
      validator_period:
        type: string
        format: uint64
      fraction:
        type: string
    description: |-
      ValidatorSlashEvent represents a validator slash event.
      Height is implicit within the store key.
      This is needed to calculate appropriate amount of staking tokens
      for delegations which are withdrawn after a slash has occurred.
  cosmos.evidence.v1beta1.QueryAllEvidenceResponse:
    type: object
    properties:
      evidence:
        type: array
        items:
          type: object
          properties:
            type_url:
              type: string
              description: >-
                A URL/resource name that uniquely identifies the type of the
                serialized

                protocol buffer message. This string must contain at least

                one "/" character. The last segment of the URL's path must
                represent

                the fully qualified name of the type (as in

                `path/google.protobuf.Duration`). The name should be in a
                canonical form

                (e.g., leading "." is not accepted).


                In practice, teams usually precompile into the binary all types
                that they

                expect it to use in the context of Any. However, for URLs which
                use the

                scheme `http`, `https`, or no scheme, one can optionally set up
                a type

                server that maps type URLs to message definitions as follows:


                * If no scheme is provided, `https` is assumed.

                * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                  value in binary format, or produce an error.
                * Applications are allowed to cache lookup results based on the
                  URL, or have them precompiled into a binary to avoid any
                  lookup. Therefore, binary compatibility needs to be preserved
                  on changes to types. (Use versioned type names to manage
                  breaking changes.)

                Note: this functionality is not currently available in the
                official

                protobuf release, and it is not used for type URLs beginning
                with

                type.googleapis.com.


                Schemes other than `http`, `https` (or the empty scheme) might
                be

                used with implementation specific semantics.
            value:
              type: string
              format: byte
              description: >-
                Must be a valid serialized protocol buffer of the above
                specified type.
          description: >-
            `Any` contains an arbitrary serialized protocol buffer message along
            with a

            URL that describes the type of the serialized message.


            Protobuf library provides support to pack/unpack Any values in the
            form

            of utility functions or additional generated methods of the Any
            type.


            Example 1: Pack and unpack a message in C++.

                Foo foo = ...;
                Any any;
                any.PackFrom(foo);
                ...
                if (any.UnpackTo(&foo)) {
                  ...
                }

            Example 2: Pack and unpack a message in Java.

                Foo foo = ...;
                Any any = Any.pack(foo);
                ...
                if (any.is(Foo.class)) {
                  foo = any.unpack(Foo.class);
                }

             Example 3: Pack and unpack a message in Python.

                foo = Foo(...)
                any = Any()
                any.Pack(foo)
                ...
                if any.Is(Foo.DESCRIPTOR):
                  any.Unpack(foo)
                  ...

             Example 4: Pack and unpack a message in Go

                 foo := &pb.Foo{...}
                 any, err := ptypes.MarshalAny(foo)
                 ...
                 foo := &pb.Foo{}
                 if err := ptypes.UnmarshalAny(any, foo); err != nil {
                   ...
                 }

            The pack methods provided by protobuf library will by default use

            'type.googleapis.com/full.type.name' as the type URL and the unpack

            methods only use the fully qualified type name after the last '/'

            in the type URL, for example "foo.bar.com/x/y.z" will yield type

            name "y.z".



            JSON

            ====

            The JSON representation of an `Any` value uses the regular

            representation of the deserialized, embedded message, with an

            additional field `@type` which contains the type URL. Example:

                package google.profile;
                message Person {
                  string first_name = 1;
                  string last_name = 2;
                }

                {
                  "@type": "type.googleapis.com/google.profile.Person",
                  "firstName": <string>,
                  "lastName": <string>
                }

            If the embedded message type is well-known and has a custom JSON

            representation, that representation will be embedded adding a field

            `value` which holds the custom JSON in addition to the `@type`

            field. Example (for message [google.protobuf.Duration][]):

                {
                  "@type": "type.googleapis.com/google.protobuf.Duration",
                  "value": "1.212s"
                }
        description: evidence returns all evidences.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: >-
      QueryAllEvidenceResponse is the response type for the Query/AllEvidence
      RPC

      method.
  cosmos.evidence.v1beta1.QueryEvidenceResponse:
    type: object
    properties:
      evidence:
        description: evidence returns the requested evidence.
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
    description: >-
      QueryEvidenceResponse is the response type for the Query/Evidence RPC
      method.
  cosmos.gov.v1beta1.Deposit:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
      depositor:
        type: string
      amount:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
    description: |-
      Deposit defines an amount deposited by an account address to an active
      proposal.
  cosmos.gov.v1beta1.DepositParams:
    type: object
    properties:
      min_deposit:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: Minimum deposit for a proposal to enter voting period.
      max_deposit_period:
        type: string
        description: >-
          Maximum period for Atom holders to deposit on a proposal. Initial
          value: 2
           months.
    description: DepositParams defines the params for deposits on governance proposals.
  cosmos.gov.v1beta1.Proposal:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
      content:
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := ptypes.MarshalAny(foo)
               ...
               foo := &pb.Foo{}
               if err := ptypes.UnmarshalAny(any, foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".



          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      status:
        type: string
        enum:
          - PROPOSAL_STATUS_UNSPECIFIED
          - PROPOSAL_STATUS_DEPOSIT_PERIOD
          - PROPOSAL_STATUS_VOTING_PERIOD
          - PROPOSAL_STATUS_PASSED
          - PROPOSAL_STATUS_REJECTED
          - PROPOSAL_STATUS_FAILED
        default: PROPOSAL_STATUS_UNSPECIFIED
        description: |-
          ProposalStatus enumerates the valid statuses of a proposal.

           - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
           - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
          period.
           - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
          period.
           - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
          passed.
           - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
          been rejected.
           - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
          failed.
      final_tally_result:
        type: object
        properties:
          "yes":
            type: string
          abstain:
            type: string
          "no":
            type: string
          no_with_veto:
            type: string
        description: TallyResult defines a standard tally for a governance proposal.
      submit_time:
        type: string
        format: date-time
      deposit_end_time:
        type: string
        format: date-time
      total_deposit:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
      voting_start_time:
        type: string
        format: date-time
      voting_end_time:
        type: string
        format: date-time
    description: Proposal defines the core field members of a governance proposal.
  cosmos.gov.v1beta1.ProposalStatus:
    type: string
    enum:
      - PROPOSAL_STATUS_UNSPECIFIED
      - PROPOSAL_STATUS_DEPOSIT_PERIOD
      - PROPOSAL_STATUS_VOTING_PERIOD
      - PROPOSAL_STATUS_PASSED
      - PROPOSAL_STATUS_REJECTED
      - PROPOSAL_STATUS_FAILED
    default: PROPOSAL_STATUS_UNSPECIFIED
    description: |-
      ProposalStatus enumerates the valid statuses of a proposal.

       - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
       - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
      period.
       - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
      period.
       - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
      passed.
       - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
      been rejected.
       - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
      failed.
  cosmos.gov.v1beta1.QueryDepositResponse:
    type: object
    properties:
      deposit:
        description: deposit defines the requested deposit.
        type: object
        properties:
          proposal_id:
            type: string
            format: uint64
          depositor:
            type: string
          amount:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
    description: >-
      QueryDepositResponse is the response type for the Query/Deposit RPC
      method.
  cosmos.gov.v1beta1.QueryDepositsResponse:
    type: object
    properties:
      deposits:
        type: array
        items:
          type: object
          properties:
            proposal_id:
              type: string
              format: uint64
            depositor:
              type: string
            amount:
              type: array
              items:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
          description: >-
            Deposit defines an amount deposited by an account address to an
            active

            proposal.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: >-
      QueryDepositsResponse is the response type for the Query/Deposits RPC
      method.
  cosmos.gov.v1beta1.QueryParamsResponse:
    type: object
    properties:
      voting_params:
        description: voting_params defines the parameters related to voting.
        type: object
        properties:
          voting_period:
            type: string
            description: Length of the voting period.
      deposit_params:
        description: deposit_params defines the parameters related to deposit.
        type: object
        properties:
          min_deposit:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            description: Minimum deposit for a proposal to enter voting period.
          max_deposit_period:
            type: string
            description: >-
              Maximum period for Atom holders to deposit on a proposal. Initial
              value: 2
               months.
      tally_params:
        description: tally_params defines the parameters related to tally.
        type: object
        properties:
          quorum:
            type: string
            format: byte
            description: >-
              Minimum percentage of total stake needed to vote for a result to
              be
               considered valid.
          threshold:
            type: string
            format: byte
            description: >-
              Minimum proportion of Yes votes for proposal to pass. Default
              value: 0.5.
          veto_threshold:
            type: string
            format: byte
            description: >-
              Minimum value of Veto votes to Total votes ratio for proposal to
              be
               vetoed. Default value: 1/3.
    description: QueryParamsResponse is the response type for the Query/Params RPC method.
  cosmos.gov.v1beta1.QueryProposalResponse:
    type: object
    properties:
      proposal:
        type: object
        properties:
          proposal_id:
            type: string
            format: uint64
          content:
            type: object
            properties:
              type_url:
                type: string
                description: >-
                  A URL/resource name that uniquely identifies the type of the
                  serialized

                  protocol buffer message. This string must contain at least

                  one "/" character. The last segment of the URL's path must
                  represent

                  the fully qualified name of the type (as in

                  `path/google.protobuf.Duration`). The name should be in a
                  canonical form

                  (e.g., leading "." is not accepted).


                  In practice, teams usually precompile into the binary all
                  types that they

                  expect it to use in the context of Any. However, for URLs
                  which use the

                  scheme `http`, `https`, or no scheme, one can optionally set
                  up a type

                  server that maps type URLs to message definitions as follows:


                  * If no scheme is provided, `https` is assumed.

                  * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                    value in binary format, or produce an error.
                  * Applications are allowed to cache lookup results based on
                  the
                    URL, or have them precompiled into a binary to avoid any
                    lookup. Therefore, binary compatibility needs to be preserved
                    on changes to types. (Use versioned type names to manage
                    breaking changes.)

                  Note: this functionality is not currently available in the
                  official

                  protobuf release, and it is not used for type URLs beginning
                  with

                  type.googleapis.com.


                  Schemes other than `http`, `https` (or the empty scheme) might
                  be

                  used with implementation specific semantics.
              value:
                type: string
                format: byte
                description: >-
                  Must be a valid serialized protocol buffer of the above
                  specified type.
            description: >-
              `Any` contains an arbitrary serialized protocol buffer message
              along with a

              URL that describes the type of the serialized message.


              Protobuf library provides support to pack/unpack Any values in the
              form

              of utility functions or additional generated methods of the Any
              type.


              Example 1: Pack and unpack a message in C++.

                  Foo foo = ...;
                  Any any;
                  any.PackFrom(foo);
                  ...
                  if (any.UnpackTo(&foo)) {
                    ...
                  }

              Example 2: Pack and unpack a message in Java.

                  Foo foo = ...;
                  Any any = Any.pack(foo);
                  ...
                  if (any.is(Foo.class)) {
                    foo = any.unpack(Foo.class);
                  }

               Example 3: Pack and unpack a message in Python.

                  foo = Foo(...)
                  any = Any()
                  any.Pack(foo)
                  ...
                  if any.Is(Foo.DESCRIPTOR):
                    any.Unpack(foo)
                    ...

               Example 4: Pack and unpack a message in Go

                   foo := &pb.Foo{...}
                   any, err := ptypes.MarshalAny(foo)
                   ...
                   foo := &pb.Foo{}
                   if err := ptypes.UnmarshalAny(any, foo); err != nil {
                     ...
                   }

              The pack methods provided by protobuf library will by default use

              'type.googleapis.com/full.type.name' as the type URL and the
              unpack

              methods only use the fully qualified type name after the last '/'

              in the type URL, for example "foo.bar.com/x/y.z" will yield type

              name "y.z".



              JSON

              ====

              The JSON representation of an `Any` value uses the regular

              representation of the deserialized, embedded message, with an

              additional field `@type` which contains the type URL. Example:

                  package google.profile;
                  message Person {
                    string first_name = 1;
                    string last_name = 2;
                  }

                  {
                    "@type": "type.googleapis.com/google.profile.Person",
                    "firstName": <string>,
                    "lastName": <string>
                  }

              If the embedded message type is well-known and has a custom JSON

              representation, that representation will be embedded adding a
              field

              `value` which holds the custom JSON in addition to the `@type`

              field. Example (for message [google.protobuf.Duration][]):

                  {
                    "@type": "type.googleapis.com/google.protobuf.Duration",
                    "value": "1.212s"
                  }
          status:
            type: string
            enum:
              - PROPOSAL_STATUS_UNSPECIFIED
              - PROPOSAL_STATUS_DEPOSIT_PERIOD
              - PROPOSAL_STATUS_VOTING_PERIOD
              - PROPOSAL_STATUS_PASSED
              - PROPOSAL_STATUS_REJECTED
              - PROPOSAL_STATUS_FAILED
            default: PROPOSAL_STATUS_UNSPECIFIED
            description: |-
              ProposalStatus enumerates the valid statuses of a proposal.

               - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
               - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
              period.
               - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
              period.
               - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
              passed.
               - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
              been rejected.
               - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
              failed.
          final_tally_result:
            type: object
            properties:
              "yes":
                type: string
              abstain:
                type: string
              "no":
                type: string
              no_with_veto:
                type: string
            description: TallyResult defines a standard tally for a governance proposal.
          submit_time:
            type: string
            format: date-time
          deposit_end_time:
            type: string
            format: date-time
          total_deposit:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
          voting_start_time:
            type: string
            format: date-time
          voting_end_time:
            type: string
            format: date-time
        description: Proposal defines the core field members of a governance proposal.
    description: >-
      QueryProposalResponse is the response type for the Query/Proposal RPC
      method.
  cosmos.gov.v1beta1.QueryProposalsResponse:
    type: object
    properties:
      proposals:
        type: array
        items:
          type: object
          properties:
            proposal_id:
              type: string
              format: uint64
            content:
              type: object
              properties:
                type_url:
                  type: string
                  description: >-
                    A URL/resource name that uniquely identifies the type of the
                    serialized

                    protocol buffer message. This string must contain at least

                    one "/" character. The last segment of the URL's path must
                    represent

                    the fully qualified name of the type (as in

                    `path/google.protobuf.Duration`). The name should be in a
                    canonical form

                    (e.g., leading "." is not accepted).


                    In practice, teams usually precompile into the binary all
                    types that they

                    expect it to use in the context of Any. However, for URLs
                    which use the

                    scheme `http`, `https`, or no scheme, one can optionally set
                    up a type

                    server that maps type URLs to message definitions as
                    follows:


                    * If no scheme is provided, `https` is assumed.

                    * An HTTP GET on the URL must yield a
                    [google.protobuf.Type][]
                      value in binary format, or produce an error.
                    * Applications are allowed to cache lookup results based on
                    the
                      URL, or have them precompiled into a binary to avoid any
                      lookup. Therefore, binary compatibility needs to be preserved
                      on changes to types. (Use versioned type names to manage
                      breaking changes.)

                    Note: this functionality is not currently available in the
                    official

                    protobuf release, and it is not used for type URLs beginning
                    with

                    type.googleapis.com.


                    Schemes other than `http`, `https` (or the empty scheme)
                    might be

                    used with implementation specific semantics.
                value:
                  type: string
                  format: byte
                  description: >-
                    Must be a valid serialized protocol buffer of the above
                    specified type.
              description: >-
                `Any` contains an arbitrary serialized protocol buffer message
                along with a

                URL that describes the type of the serialized message.


                Protobuf library provides support to pack/unpack Any values in
                the form

                of utility functions or additional generated methods of the Any
                type.


                Example 1: Pack and unpack a message in C++.

                    Foo foo = ...;
                    Any any;
                    any.PackFrom(foo);
                    ...
                    if (any.UnpackTo(&foo)) {
                      ...
                    }

                Example 2: Pack and unpack a message in Java.

                    Foo foo = ...;
                    Any any = Any.pack(foo);
                    ...
                    if (any.is(Foo.class)) {
                      foo = any.unpack(Foo.class);
                    }

                 Example 3: Pack and unpack a message in Python.

                    foo = Foo(...)
                    any = Any()
                    any.Pack(foo)
                    ...
                    if any.Is(Foo.DESCRIPTOR):
                      any.Unpack(foo)
                      ...

                 Example 4: Pack and unpack a message in Go

                     foo := &pb.Foo{...}
                     any, err := ptypes.MarshalAny(foo)
                     ...
                     foo := &pb.Foo{}
                     if err := ptypes.UnmarshalAny(any, foo); err != nil {
                       ...
                     }

                The pack methods provided by protobuf library will by default
                use

                'type.googleapis.com/full.type.name' as the type URL and the
                unpack

                methods only use the fully qualified type name after the last
                '/'

                in the type URL, for example "foo.bar.com/x/y.z" will yield type

                name "y.z".



                JSON

                ====

                The JSON representation of an `Any` value uses the regular

                representation of the deserialized, embedded message, with an

                additional field `@type` which contains the type URL. Example:

                    package google.profile;
                    message Person {
                      string first_name = 1;
                      string last_name = 2;
                    }

                    {
                      "@type": "type.googleapis.com/google.profile.Person",
                      "firstName": <string>,
                      "lastName": <string>
                    }

                If the embedded message type is well-known and has a custom JSON

                representation, that representation will be embedded adding a
                field

                `value` which holds the custom JSON in addition to the `@type`

                field. Example (for message [google.protobuf.Duration][]):

                    {
                      "@type": "type.googleapis.com/google.protobuf.Duration",
                      "value": "1.212s"
                    }
            status:
              type: string
              enum:
                - PROPOSAL_STATUS_UNSPECIFIED
                - PROPOSAL_STATUS_DEPOSIT_PERIOD
                - PROPOSAL_STATUS_VOTING_PERIOD
                - PROPOSAL_STATUS_PASSED
                - PROPOSAL_STATUS_REJECTED
                - PROPOSAL_STATUS_FAILED
              default: PROPOSAL_STATUS_UNSPECIFIED
              description: |-
                ProposalStatus enumerates the valid statuses of a proposal.

                 - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.
                 - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
                period.
                 - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
                period.
                 - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
                passed.
                 - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
                been rejected.
                 - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
                failed.
            final_tally_result:
              type: object
              properties:
                "yes":
                  type: string
                abstain:
                  type: string
                "no":
                  type: string
                no_with_veto:
                  type: string
              description: TallyResult defines a standard tally for a governance proposal.
            submit_time:
              type: string
              format: date-time
            deposit_end_time:
              type: string
              format: date-time
            total_deposit:
              type: array
              items:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
            voting_start_time:
              type: string
              format: date-time
            voting_end_time:
              type: string
              format: date-time
          description: Proposal defines the core field members of a governance proposal.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: |-
      QueryProposalsResponse is the response type for the Query/Proposals RPC
      method.
  cosmos.gov.v1beta1.QueryTallyResultResponse:
    type: object
    properties:
      tally:
        description: tally defines the requested tally.
        type: object
        properties:
          "yes":
            type: string
          abstain:
            type: string
          "no":
            type: string
          no_with_veto:
            type: string
    description: >-
      QueryTallyResultResponse is the response type for the Query/Tally RPC
      method.
  cosmos.gov.v1beta1.QueryVoteResponse:
    type: object
    properties:
      vote:
        description: vote defined the queried vote.
        type: object
        properties:
          proposal_id:
            type: string
            format: uint64
          voter:
            type: string
          option:
            type: string
            enum:
              - VOTE_OPTION_UNSPECIFIED
              - VOTE_OPTION_YES
              - VOTE_OPTION_ABSTAIN
              - VOTE_OPTION_NO
              - VOTE_OPTION_NO_WITH_VETO
            default: VOTE_OPTION_UNSPECIFIED
            description: >-
              VoteOption enumerates the valid vote options for a given
              governance proposal.

               - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
               - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
               - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
               - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
               - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
    description: QueryVoteResponse is the response type for the Query/Vote RPC method.
  cosmos.gov.v1beta1.QueryVotesResponse:
    type: object
    properties:
      votes:
        type: array
        items:
          type: object
          properties:
            proposal_id:
              type: string
              format: uint64
            voter:
              type: string
            option:
              type: string
              enum:
                - VOTE_OPTION_UNSPECIFIED
                - VOTE_OPTION_YES
                - VOTE_OPTION_ABSTAIN
                - VOTE_OPTION_NO
                - VOTE_OPTION_NO_WITH_VETO
              default: VOTE_OPTION_UNSPECIFIED
              description: >-
                VoteOption enumerates the valid vote options for a given
                governance proposal.

                 - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
                 - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
                 - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
                 - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
                 - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
          description: |-
            Vote defines a vote on a governance proposal.
            A Vote consists of a proposal ID, the voter, and the vote option.
        description: votes defined the queried votes.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: QueryVotesResponse is the response type for the Query/Votes RPC method.
  cosmos.gov.v1beta1.TallyParams:
    type: object
    properties:
      quorum:
        type: string
        format: byte
        description: |-
          Minimum percentage of total stake needed to vote for a result to be
           considered valid.
      threshold:
        type: string
        format: byte
        description: >-
          Minimum proportion of Yes votes for proposal to pass. Default value:
          0.5.
      veto_threshold:
        type: string
        format: byte
        description: |-
          Minimum value of Veto votes to Total votes ratio for proposal to be
           vetoed. Default value: 1/3.
    description: TallyParams defines the params for tallying votes on governance proposals.
  cosmos.gov.v1beta1.TallyResult:
    type: object
    properties:
      "yes":
        type: string
      abstain:
        type: string
      "no":
        type: string
      no_with_veto:
        type: string
    description: TallyResult defines a standard tally for a governance proposal.
  cosmos.gov.v1beta1.Vote:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
      voter:
        type: string
      option:
        type: string
        enum:
          - VOTE_OPTION_UNSPECIFIED
          - VOTE_OPTION_YES
          - VOTE_OPTION_ABSTAIN
          - VOTE_OPTION_NO
          - VOTE_OPTION_NO_WITH_VETO
        default: VOTE_OPTION_UNSPECIFIED
        description: >-
          VoteOption enumerates the valid vote options for a given governance
          proposal.

           - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
           - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
           - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
           - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
           - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
    description: |-
      Vote defines a vote on a governance proposal.
      A Vote consists of a proposal ID, the voter, and the vote option.
  cosmos.gov.v1beta1.VoteOption:
    type: string
    enum:
      - VOTE_OPTION_UNSPECIFIED
      - VOTE_OPTION_YES
      - VOTE_OPTION_ABSTAIN
      - VOTE_OPTION_NO
      - VOTE_OPTION_NO_WITH_VETO
    default: VOTE_OPTION_UNSPECIFIED
    description: >-
      VoteOption enumerates the valid vote options for a given governance
      proposal.

       - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
       - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
       - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
       - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
       - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
  cosmos.gov.v1beta1.VotingParams:
    type: object
    properties:
      voting_period:
        type: string
        description: Length of the voting period.
    description: VotingParams defines the params for voting on governance proposals.
  cosmos.mint.v1beta1.Params:
    type: object
    properties:
      mint_denom:
        type: string
        title: type of coin to mint
      inflation_rate_change:
        type: string
        title: maximum annual change in inflation rate
      inflation_max:
        type: string
        title: maximum inflation rate
      inflation_min:
        type: string
        title: minimum inflation rate
      goal_bonded:
        type: string
        title: goal of percent bonded atoms
      blocks_per_year:
        type: string
        format: uint64
        title: expected blocks per year
    description: Params holds parameters for the mint module.
  cosmos.mint.v1beta1.QueryAnnualProvisionsResponse:
    type: object
    properties:
      annual_provisions:
        type: string
        format: byte
        description: annual_provisions is the current minting annual provisions value.
    description: |-
      QueryAnnualProvisionsResponse is the response type for the
      Query/AnnualProvisions RPC method.
  cosmos.mint.v1beta1.QueryInflationResponse:
    type: object
    properties:
      inflation:
        type: string
        format: byte
        description: inflation is the current minting inflation value.
    description: |-
      QueryInflationResponse is the response type for the Query/Inflation RPC
      method.
  cosmos.mint.v1beta1.QueryParamsResponse:
    type: object
    properties:
      params:
        description: params defines the parameters of the module.
        type: object
        properties:
          mint_denom:
            type: string
            title: type of coin to mint
          inflation_rate_change:
            type: string
            title: maximum annual change in inflation rate
          inflation_max:
            type: string
            title: maximum inflation rate
          inflation_min:
            type: string
            title: minimum inflation rate
          goal_bonded:
            type: string
            title: goal of percent bonded atoms
          blocks_per_year:
            type: string
            format: uint64
            title: expected blocks per year
    description: QueryParamsResponse is the response type for the Query/Params RPC method.
  cosmos.params.v1beta1.ParamChange:
    type: object
    properties:
      subspace:
        type: string
      key:
        type: string
      value:
        type: string
    description: |-
      ParamChange defines an individual parameter change, for use in
      ParameterChangeProposal.
  cosmos.params.v1beta1.QueryParamsResponse:
    type: object
    properties:
      param:
        description: param defines the queried parameter.
        type: object
        properties:
          subspace:
            type: string
          key:
            type: string
          value:
            type: string
    description: QueryParamsResponse is response type for the Query/Params RPC method.
  cosmos.slashing.v1beta1.Params:
    type: object
    properties:
      signed_blocks_window:
        type: string
        format: int64
      min_signed_per_window:
        type: string
        format: byte
      downtime_jail_duration:
        type: string
      slash_fraction_double_sign:
        type: string
        format: byte
      slash_fraction_downtime:
        type: string
        format: byte
    description: Params represents the parameters used for by the slashing module.
  cosmos.slashing.v1beta1.QueryParamsResponse:
    type: object
    properties:
      params:
        type: object
        properties:
          signed_blocks_window:
            type: string
            format: int64
          min_signed_per_window:
            type: string
            format: byte
          downtime_jail_duration:
            type: string
          slash_fraction_double_sign:
            type: string
            format: byte
          slash_fraction_downtime:
            type: string
            format: byte
        description: Params represents the parameters used for by the slashing module.
    title: QueryParamsResponse is the response type for the Query/Params RPC method
  cosmos.slashing.v1beta1.QuerySigningInfoResponse:
    type: object
    properties:
      val_signing_info:
        title: val_signing_info is the signing info of requested val cons address
        type: object
        properties:
          address:
            type: string
          start_height:
            type: string
            format: int64
            title: height at which validator was first a candidate OR was unjailed
          index_offset:
            type: string
            format: int64
            title: index offset into signed block bit array
          jailed_until:
            type: string
            format: date-time
            title: timestamp validator cannot be unjailed until
          tombstoned:
            type: boolean
            format: boolean
            title: >-
              whether or not a validator has been tombstoned (killed out of
              validator

              set)
          missed_blocks_counter:
            type: string
            format: int64
            title: missed blocks counter (to avoid scanning the array every time)
        description: >-
          ValidatorSigningInfo defines a validator's signing info for monitoring
          their

          liveness activity.
    title: >-
      QuerySigningInfoResponse is the response type for the Query/SigningInfo
      RPC

      method
  cosmos.slashing.v1beta1.QuerySigningInfosResponse:
    type: object
    properties:
      info:
        type: array
        items:
          type: object
          properties:
            address:
              type: string
            start_height:
              type: string
              format: int64
              title: height at which validator was first a candidate OR was unjailed
            index_offset:
              type: string
              format: int64
              title: index offset into signed block bit array
            jailed_until:
              type: string
              format: date-time
              title: timestamp validator cannot be unjailed until
            tombstoned:
              type: boolean
              format: boolean
              title: >-
                whether or not a validator has been tombstoned (killed out of
                validator

                set)
            missed_blocks_counter:
              type: string
              format: int64
              title: missed blocks counter (to avoid scanning the array every time)
          description: >-
            ValidatorSigningInfo defines a validator's signing info for
            monitoring their

            liveness activity.
        title: info is the signing info of all validators
      pagination:
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
        description: |-
          PageResponse is to be embedded in gRPC response messages where the
          corresponding request message has used PageRequest.

           message SomeResponse {
                   repeated Bar results = 1;
                   PageResponse page = 2;
           }
    title: >-
      QuerySigningInfosResponse is the response type for the Query/SigningInfos
      RPC

      method
  cosmos.slashing.v1beta1.ValidatorSigningInfo:
    type: object
    properties:
      address:
        type: string
      start_height:
        type: string
        format: int64
        title: height at which validator was first a candidate OR was unjailed
      index_offset:
        type: string
        format: int64
        title: index offset into signed block bit array
      jailed_until:
        type: string
        format: date-time
        title: timestamp validator cannot be unjailed until
      tombstoned:
        type: boolean
        format: boolean
        title: >-
          whether or not a validator has been tombstoned (killed out of
          validator

          set)
      missed_blocks_counter:
        type: string
        format: int64
        title: missed blocks counter (to avoid scanning the array every time)
    description: >-
      ValidatorSigningInfo defines a validator's signing info for monitoring
      their

      liveness activity.
  cosmos.staking.v1beta1.Commission:
    type: object
    properties:
      commission_rates:
        type: object
        properties:
          rate:
            type: string
          max_rate:
            type: string
          max_change_rate:
            type: string
        description: >-
          CommissionRates defines the initial commission rates to be used for
          creating

          a validator.
      update_time:
        type: string
        format: date-time
    description: Commission defines commission parameters for a given validator.
  cosmos.staking.v1beta1.CommissionRates:
    type: object
    properties:
      rate:
        type: string
      max_rate:
        type: string
      max_change_rate:
        type: string
    description: >-
      CommissionRates defines the initial commission rates to be used for
      creating

      a validator.
  cosmos.staking.v1beta1.Delegation:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      shares:
        type: string
    description: |-
      Delegation represents the bond with tokens held by an account. It is
      owned by one delegator, and is associated with the voting power of one
      validator.
  cosmos.staking.v1beta1.DelegationResponse:
    type: object
    properties:
      delegation:
        type: object
        properties:
          delegator_address:
            type: string
          validator_address:
            type: string
          shares:
            type: string
        description: |-
          Delegation represents the bond with tokens held by an account. It is
          owned by one delegator, and is associated with the voting power of one
          validator.
      balance:
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
        description: |-
          Coin defines a token with a denomination and an amount.

          NOTE: The amount field is an Int which implements the custom method
          signatures required by gogoproto.
    description: |-
      DelegationResponse is equivalent to Delegation except that it contains a
      balance in addition to shares which is more suitable for client responses.
  cosmos.staking.v1beta1.Description:
    type: object
    properties:
      moniker:
        type: string
      identity:
        type: string
      website:
        type: string
      security_contact:
        type: string
      details:
        type: string
    description: Description defines a validator description.
  cosmos.staking.v1beta1.HistoricalInfo:
    type: object
    properties:
      header:
        type: object
        properties:
          version:
            title: basic block info
            type: object
            properties:
              block:
                type: string
                format: uint64
              app:
                type: string
                format: uint64
            description: >-
              Consensus captures the consensus rules for processing a block in
              the blockchain,

              including all blockchain data structures and the rules of the
              application's

              state transition machine.
          chain_id:
            type: string
          height:
            type: string
            format: int64
          time:
            type: string
            format: date-time
          last_block_id:
            title: prev block info
            type: object
            properties:
              hash:
                type: string
                format: byte
              part_set_header:
                type: object
                properties:
                  total:
                    type: integer
                    format: int64
                  hash:
                    type: string
                    format: byte
                title: PartsetHeader
          last_commit_hash:
            type: string
            format: byte
            title: hashes of block data
          data_hash:
            type: string
            format: byte
          validators_hash:
            type: string
            format: byte
            title: hashes from the app output from the prev block
          next_validators_hash:
            type: string
            format: byte
          consensus_hash:
            type: string
            format: byte
          app_hash:
            type: string
            format: byte
          last_results_hash:
            type: string
            format: byte
          evidence_hash:
            type: string
            format: byte
            title: consensus info
          proposer_address:
            type: string
            format: byte
        description: Header defines the structure of a Tendermint block header.
      valset:
        type: array
        items:
          type: object
          properties:
            operator_address:
              type: string
            consensus_pubkey:
              type: string
            jailed:
              type: boolean
              format: boolean
            status:
              type: integer
              format: int32
            tokens:
              type: string
            delegator_shares:
              type: string
            description:
              type: object
              properties:
                moniker:
                  type: string
                identity:
                  type: string
                website:
                  type: string
                security_contact:
                  type: string
                details:
                  type: string
              description: Description defines a validator description.
            unbonding_height:
              type: string
              format: int64
            unbonding_time:
              type: string
              format: date-time
            commission:
              type: object
              properties:
                commission_rates:
                  type: object
                  properties:
                    rate:
                      type: string
                    max_rate:
                      type: string
                    max_change_rate:
                      type: string
                  description: >-
                    CommissionRates defines the initial commission rates to be
                    used for creating

                    a validator.
                update_time:
                  type: string
                  format: date-time
              description: Commission defines commission parameters for a given validator.
            min_self_delegation:
              type: string
          description: >-
            Validator defines a validator, together with the total amount of the

            Validator's bond shares and their exchange rate to coins. Slashing
            results in

            a decrease in the exchange rate, allowing correct calculation of
            future

            undelegations without iterating over delegators. When coins are
            delegated to

            this validator, the validator is credited with a delegation whose
            number of

            bond shares is based on the amount of coins delegated divided by the
            current

            exchange rate. Voting power can be calculated as total bonded shares

            multiplied by exchange rate.
    description: >-
      HistoricalInfo contains header and validator information for a given
      block.

      It is stored as part of staking module's state, which persists the `n`
      most

      recent HistoricalInfo

      (`n` is set by the staking module's `historical_entries` parameter).
  cosmos.staking.v1beta1.Params:
    type: object
    properties:
      unbonding_time:
        type: string
      max_validators:
        type: integer
        format: int64
      max_entries:
        type: integer
        format: int64
      historical_entries:
        type: integer
        format: int64
      bond_denom:
        type: string
    description: Params defines the parameters for the staking module.
  cosmos.staking.v1beta1.Pool:
    type: object
    properties:
      not_bonded_tokens:
        type: string
      bonded_tokens:
        type: string
    description: |-
      Pool is used for tracking bonded and not-bonded token supply of the bond
      denomination.
  cosmos.staking.v1beta1.QueryDelegationResponse:
    type: object
    properties:
      delegation_response:
        description: delegation_responses defines the delegation info of a delegation.
        type: object
        properties:
          delegation:
            type: object
            properties:
              delegator_address:
                type: string
              validator_address:
                type: string
              shares:
                type: string
            description: >-
              Delegation represents the bond with tokens held by an account. It
              is

              owned by one delegator, and is associated with the voting power of
              one

              validator.
          balance:
            type: object
            properties:
              denom:
                type: string
              amount:
                type: string
            description: >-
              Coin defines a token with a denomination and an amount.


              NOTE: The amount field is an Int which implements the custom
              method

              signatures required by gogoproto.
    description: >-
      QueryDelegationResponse is response type for the Query/Delegation RPC
      method.
  cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse:
    type: object
    properties:
      delegation_responses:
        type: array
        items:
          type: object
          properties:
            delegation:
              type: object
              properties:
                delegator_address:
                  type: string
                validator_address:
                  type: string
                shares:
                  type: string
              description: >-
                Delegation represents the bond with tokens held by an account.
                It is

                owned by one delegator, and is associated with the voting power
                of one

                validator.
            balance:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
          description: >-
            DelegationResponse is equivalent to Delegation except that it
            contains a

            balance in addition to shares which is more suitable for client
            responses.
        description: delegation_responses defines all the delegations' info of a delegator.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: |-
      QueryDelegatorDelegationsResponse is response type for the
      Query/DelegatorDelegations RPC method.
  cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse:
    type: object
    properties:
      unbonding_responses:
        type: array
        items:
          type: object
          properties:
            delegator_address:
              type: string
            validator_address:
              type: string
            entries:
              type: array
              items:
                type: object
                properties:
                  creation_height:
                    type: string
                    format: int64
                  completion_time:
                    type: string
                    format: date-time
                  initial_balance:
                    type: string
                  balance:
                    type: string
                description: >-
                  UnbondingDelegationEntry defines an unbonding object with
                  relevant metadata.
          description: >-
            UnbondingDelegation stores all of a single delegator's unbonding
            bonds

            for a single validator in an time-ordered list.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: |-
      QueryUnbondingDelegatorDelegationsResponse is response type for the
      Query/UnbondingDelegatorDelegations RPC method.
  cosmos.staking.v1beta1.QueryDelegatorValidatorResponse:
    type: object
    properties:
      validator:
        description: validator defines the the validator info.
        type: object
        properties:
          operator_address:
            type: string
          consensus_pubkey:
            type: string
          jailed:
            type: boolean
            format: boolean
          status:
            type: integer
            format: int32
          tokens:
            type: string
          delegator_shares:
            type: string
          description:
            type: object
            properties:
              moniker:
                type: string
              identity:
                type: string
              website:
                type: string
              security_contact:
                type: string
              details:
                type: string
            description: Description defines a validator description.
          unbonding_height:
            type: string
            format: int64
          unbonding_time:
            type: string
            format: date-time
          commission:
            type: object
            properties:
              commission_rates:
                type: object
                properties:
                  rate:
                    type: string
                  max_rate:
                    type: string
                  max_change_rate:
                    type: string
                description: >-
                  CommissionRates defines the initial commission rates to be
                  used for creating

                  a validator.
              update_time:
                type: string
                format: date-time
            description: Commission defines commission parameters for a given validator.
          min_self_delegation:
            type: string
    description: |-
      QueryDelegatorValidatorResponse response type for the
      Query/DelegatorValidator RPC method.
  cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse:
    type: object
    properties:
      validators:
        type: array
        items:
          type: object
          properties:
            operator_address:
              type: string
            consensus_pubkey:
              type: string
            jailed:
              type: boolean
              format: boolean
            status:
              type: integer
              format: int32
            tokens:
              type: string
            delegator_shares:
              type: string
            description:
              type: object
              properties:
                moniker:
                  type: string
                identity:
                  type: string
                website:
                  type: string
                security_contact:
                  type: string
                details:
                  type: string
              description: Description defines a validator description.
            unbonding_height:
              type: string
              format: int64
            unbonding_time:
              type: string
              format: date-time
            commission:
              type: object
              properties:
                commission_rates:
                  type: object
                  properties:
                    rate:
                      type: string
                    max_rate:
                      type: string
                    max_change_rate:
                      type: string
                  description: >-
                    CommissionRates defines the initial commission rates to be
                    used for creating

                    a validator.
                update_time:
                  type: string
                  format: date-time
              description: Commission defines commission parameters for a given validator.
            min_self_delegation:
              type: string
          description: >-
            Validator defines a validator, together with the total amount of the

            Validator's bond shares and their exchange rate to coins. Slashing
            results in

            a decrease in the exchange rate, allowing correct calculation of
            future

            undelegations without iterating over delegators. When coins are
            delegated to

            this validator, the validator is credited with a delegation whose
            number of

            bond shares is based on the amount of coins delegated divided by the
            current

            exchange rate. Voting power can be calculated as total bonded shares

            multiplied by exchange rate.
        description: validators defines the the validators' info of a delegator.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: |-
      QueryDelegatorValidatorsResponse is response type for the
      Query/DelegatorValidators RPC method.
  cosmos.staking.v1beta1.QueryHistoricalInfoResponse:
    type: object
    properties:
      hist:
        description: hist defines the historical info at the given height.
        type: object
        properties:
          header:
            type: object
            properties:
              version:
                title: basic block info
                type: object
                properties:
                  block:
                    type: string
                    format: uint64
                  app:
                    type: string
                    format: uint64
                description: >-
                  Consensus captures the consensus rules for processing a block
                  in the blockchain,

                  including all blockchain data structures and the rules of the
                  application's

                  state transition machine.
              chain_id:
                type: string
              height:
                type: string
                format: int64
              time:
                type: string
                format: date-time
              last_block_id:
                title: prev block info
                type: object
                properties:
                  hash:
                    type: string
                    format: byte
                  part_set_header:
                    type: object
                    properties:
                      total:
                        type: integer
                        format: int64
                      hash:
                        type: string
                        format: byte
                    title: PartsetHeader
              last_commit_hash:
                type: string
                format: byte
                title: hashes of block data
              data_hash:
                type: string
                format: byte
              validators_hash:
                type: string
                format: byte
                title: hashes from the app output from the prev block
              next_validators_hash:
                type: string
                format: byte
              consensus_hash:
                type: string
                format: byte
              app_hash:
                type: string
                format: byte
              last_results_hash:
                type: string
                format: byte
              evidence_hash:
                type: string
                format: byte
                title: consensus info
              proposer_address:
                type: string
                format: byte
            description: Header defines the structure of a Tendermint block header.
          valset:
            type: array
            items:
              type: object
              properties:
                operator_address:
                  type: string
                consensus_pubkey:
                  type: string
                jailed:
                  type: boolean
                  format: boolean
                status:
                  type: integer
                  format: int32
                tokens:
                  type: string
                delegator_shares:
                  type: string
                description:
                  type: object
                  properties:
                    moniker:
                      type: string
                    identity:
                      type: string
                    website:
                      type: string
                    security_contact:
                      type: string
                    details:
                      type: string
                  description: Description defines a validator description.
                unbonding_height:
                  type: string
                  format: int64
                unbonding_time:
                  type: string
                  format: date-time
                commission:
                  type: object
                  properties:
                    commission_rates:
                      type: object
                      properties:
                        rate:
                          type: string
                        max_rate:
                          type: string
                        max_change_rate:
                          type: string
                      description: >-
                        CommissionRates defines the initial commission rates to
                        be used for creating

                        a validator.
                    update_time:
                      type: string
                      format: date-time
                  description: >-
                    Commission defines commission parameters for a given
                    validator.
                min_self_delegation:
                  type: string
              description: >-
                Validator defines a validator, together with the total amount of
                the

                Validator's bond shares and their exchange rate to coins.
                Slashing results in

                a decrease in the exchange rate, allowing correct calculation of
                future

                undelegations without iterating over delegators. When coins are
                delegated to

                this validator, the validator is credited with a delegation
                whose number of

                bond shares is based on the amount of coins delegated divided by
                the current

                exchange rate. Voting power can be calculated as total bonded
                shares

                multiplied by exchange rate.
    description: >-
      QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo
      RPC

      method.
  cosmos.staking.v1beta1.QueryParamsResponse:
    type: object
    properties:
      params:
        description: params holds all the parameters of this module.
        type: object
        properties:
          unbonding_time:
            type: string
          max_validators:
            type: integer
            format: int64
          max_entries:
            type: integer
            format: int64
          historical_entries:
            type: integer
            format: int64
          bond_denom:
            type: string
    description: QueryParamsResponse is response type for the Query/Params RPC method.
  cosmos.staking.v1beta1.QueryPoolResponse:
    type: object
    properties:
      pool:
        description: pool defines the pool info.
        type: object
        properties:
          not_bonded_tokens:
            type: string
          bonded_tokens:
            type: string
    description: QueryPoolResponse is response type for the Query/Pool RPC method.
  cosmos.staking.v1beta1.QueryRedelegationsResponse:
    type: object
    properties:
      redelegation_responses:
        type: array
        items:
          type: object
          properties:
            redelegation:
              type: object
              properties:
                delegator_address:
                  type: string
                validator_src_address:
                  type: string
                validator_dst_address:
                  type: string
                entries:
                  type: array
                  items:
                    type: object
                    properties:
                      creation_height:
                        type: string
                        format: int64
                      completion_time:
                        type: string
                        format: date-time
                      initial_balance:
                        type: string
                      shares_dst:
                        type: string
                    description: >-
                      RedelegationEntry defines a redelegation object with
                      relevant metadata.
              description: >-
                Redelegation contains the list of a particular delegator's
                redelegating bonds

                from a particular source validator to a particular destination
                validator.
            entries:
              type: array
              items:
                type: object
                properties:
                  redelegation_entry:
                    type: object
                    properties:
                      creation_height:
                        type: string
                        format: int64
                      completion_time:
                        type: string
                        format: date-time
                      initial_balance:
                        type: string
                      shares_dst:
                        type: string
                    description: >-
                      RedelegationEntry defines a redelegation object with
                      relevant metadata.
                  balance:
                    type: string
                description: >-
                  RedelegationEntryResponse is equivalent to a RedelegationEntry
                  except that it

                  contains a balance in addition to shares which is more
                  suitable for client

                  responses.
          description: >-
            RedelegationResponse is equivalent to a Redelegation except that its
            entries

            contain a balance in addition to shares which is more suitable for
            client

            responses.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: >-
      QueryRedelegationsResponse is response type for the Query/Redelegations
      RPC

      method.
  cosmos.staking.v1beta1.QueryUnbondingDelegationResponse:
    type: object
    properties:
      unbond:
        description: unbond defines the unbonding information of a delegation.
        type: object
        properties:
          delegator_address:
            type: string
          validator_address:
            type: string
          entries:
            type: array
            items:
              type: object
              properties:
                creation_height:
                  type: string
                  format: int64
                completion_time:
                  type: string
                  format: date-time
                initial_balance:
                  type: string
                balance:
                  type: string
              description: >-
                UnbondingDelegationEntry defines an unbonding object with
                relevant metadata.
    description: |-
      QueryDelegationResponse is response type for the Query/UnbondingDelegation
      RPC method.
  cosmos.staking.v1beta1.QueryValidatorDelegationsResponse:
    type: object
    properties:
      delegation_responses:
        type: array
        items:
          type: object
          properties:
            delegation:
              type: object
              properties:
                delegator_address:
                  type: string
                validator_address:
                  type: string
                shares:
                  type: string
              description: >-
                Delegation represents the bond with tokens held by an account.
                It is

                owned by one delegator, and is associated with the voting power
                of one

                validator.
            balance:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
          description: >-
            DelegationResponse is equivalent to Delegation except that it
            contains a

            balance in addition to shares which is more suitable for client
            responses.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    title: |-
      QueryValidatorDelegationsResponse is response type for the
      Query/ValidatorDelegations RPC method
  cosmos.staking.v1beta1.QueryValidatorResponse:
    type: object
    properties:
      validator:
        description: validator defines the the validator info.
        type: object
        properties:
          operator_address:
            type: string
          consensus_pubkey:
            type: string
          jailed:
            type: boolean
            format: boolean
          status:
            type: integer
            format: int32
          tokens:
            type: string
          delegator_shares:
            type: string
          description:
            type: object
            properties:
              moniker:
                type: string
              identity:
                type: string
              website:
                type: string
              security_contact:
                type: string
              details:
                type: string
            description: Description defines a validator description.
          unbonding_height:
            type: string
            format: int64
          unbonding_time:
            type: string
            format: date-time
          commission:
            type: object
            properties:
              commission_rates:
                type: object
                properties:
                  rate:
                    type: string
                  max_rate:
                    type: string
                  max_change_rate:
                    type: string
                description: >-
                  CommissionRates defines the initial commission rates to be
                  used for creating

                  a validator.
              update_time:
                type: string
                format: date-time
            description: Commission defines commission parameters for a given validator.
          min_self_delegation:
            type: string
    title: QueryValidatorResponse is response type for the Query/Validator RPC method
  cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse:
    type: object
    properties:
      unbonding_responses:
        type: array
        items:
          type: object
          properties:
            delegator_address:
              type: string
            validator_address:
              type: string
            entries:
              type: array
              items:
                type: object
                properties:
                  creation_height:
                    type: string
                    format: int64
                  completion_time:
                    type: string
                    format: date-time
                  initial_balance:
                    type: string
                  balance:
                    type: string
                description: >-
                  UnbondingDelegationEntry defines an unbonding object with
                  relevant metadata.
          description: >-
            UnbondingDelegation stores all of a single delegator's unbonding
            bonds

            for a single validator in an time-ordered list.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: |-
      QueryValidatorUnbondingDelegationsResponse is response type for the
      Query/ValidatorUnbondingDelegations RPC method.
  cosmos.staking.v1beta1.QueryValidatorsResponse:
    type: object
    properties:
      validators:
        type: array
        items:
          type: object
          properties:
            operator_address:
              type: string
            consensus_pubkey:
              type: string
            jailed:
              type: boolean
              format: boolean
            status:
              type: integer
              format: int32
            tokens:
              type: string
            delegator_shares:
              type: string
            description:
              type: object
              properties:
                moniker:
                  type: string
                identity:
                  type: string
                website:
                  type: string
                security_contact:
                  type: string
                details:
                  type: string
              description: Description defines a validator description.
            unbonding_height:
              type: string
              format: int64
            unbonding_time:
              type: string
              format: date-time
            commission:
              type: object
              properties:
                commission_rates:
                  type: object
                  properties:
                    rate:
                      type: string
                    max_rate:
                      type: string
                    max_change_rate:
                      type: string
                  description: >-
                    CommissionRates defines the initial commission rates to be
                    used for creating

                    a validator.
                update_time:
                  type: string
                  format: date-time
              description: Commission defines commission parameters for a given validator.
            min_self_delegation:
              type: string
          description: >-
            Validator defines a validator, together with the total amount of the

            Validator's bond shares and their exchange rate to coins. Slashing
            results in

            a decrease in the exchange rate, allowing correct calculation of
            future

            undelegations without iterating over delegators. When coins are
            delegated to

            this validator, the validator is credited with a delegation whose
            number of

            bond shares is based on the amount of coins delegated divided by the
            current

            exchange rate. Voting power can be calculated as total bonded shares

            multiplied by exchange rate.
        description: validators contains all the queried validators.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    title: >-
      QueryValidatorsResponse is response type for the Query/Validators RPC
      method
  cosmos.staking.v1beta1.Redelegation:
    type: object
    properties:
      delegator_address:
        type: string
      validator_src_address:
        type: string
      validator_dst_address:
        type: string
      entries:
        type: array
        items:
          type: object
          properties:
            creation_height:
              type: string
              format: int64
            completion_time:
              type: string
              format: date-time
            initial_balance:
              type: string
            shares_dst:
              type: string
          description: >-
            RedelegationEntry defines a redelegation object with relevant
            metadata.
    description: >-
      Redelegation contains the list of a particular delegator's redelegating
      bonds

      from a particular source validator to a particular destination validator.
  cosmos.staking.v1beta1.RedelegationEntry:
    type: object
    properties:
      creation_height:
        type: string
        format: int64
      completion_time:
        type: string
        format: date-time
      initial_balance:
        type: string
      shares_dst:
        type: string
    description: RedelegationEntry defines a redelegation object with relevant metadata.
  cosmos.staking.v1beta1.RedelegationEntryResponse:
    type: object
    properties:
      redelegation_entry:
        type: object
        properties:
          creation_height:
            type: string
            format: int64
          completion_time:
            type: string
            format: date-time
          initial_balance:
            type: string
          shares_dst:
            type: string
        description: >-
          RedelegationEntry defines a redelegation object with relevant
          metadata.
      balance:
        type: string
    description: >-
      RedelegationEntryResponse is equivalent to a RedelegationEntry except that
      it

      contains a balance in addition to shares which is more suitable for client

      responses.
  cosmos.staking.v1beta1.RedelegationResponse:
    type: object
    properties:
      redelegation:
        type: object
        properties:
          delegator_address:
            type: string
          validator_src_address:
            type: string
          validator_dst_address:
            type: string
          entries:
            type: array
            items:
              type: object
              properties:
                creation_height:
                  type: string
                  format: int64
                completion_time:
                  type: string
                  format: date-time
                initial_balance:
                  type: string
                shares_dst:
                  type: string
              description: >-
                RedelegationEntry defines a redelegation object with relevant
                metadata.
        description: >-
          Redelegation contains the list of a particular delegator's
          redelegating bonds

          from a particular source validator to a particular destination
          validator.
      entries:
        type: array
        items:
          type: object
          properties:
            redelegation_entry:
              type: object
              properties:
                creation_height:
                  type: string
                  format: int64
                completion_time:
                  type: string
                  format: date-time
                initial_balance:
                  type: string
                shares_dst:
                  type: string
              description: >-
                RedelegationEntry defines a redelegation object with relevant
                metadata.
            balance:
              type: string
          description: >-
            RedelegationEntryResponse is equivalent to a RedelegationEntry
            except that it

            contains a balance in addition to shares which is more suitable for
            client

            responses.
    description: >-
      RedelegationResponse is equivalent to a Redelegation except that its
      entries

      contain a balance in addition to shares which is more suitable for client

      responses.
  cosmos.staking.v1beta1.UnbondingDelegation:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      entries:
        type: array
        items:
          type: object
          properties:
            creation_height:
              type: string
              format: int64
            completion_time:
              type: string
              format: date-time
            initial_balance:
              type: string
            balance:
              type: string
          description: >-
            UnbondingDelegationEntry defines an unbonding object with relevant
            metadata.
    description: |-
      UnbondingDelegation stores all of a single delegator's unbonding bonds
      for a single validator in an time-ordered list.
  cosmos.staking.v1beta1.UnbondingDelegationEntry:
    type: object
    properties:
      creation_height:
        type: string
        format: int64
      completion_time:
        type: string
        format: date-time
      initial_balance:
        type: string
      balance:
        type: string
    description: >-
      UnbondingDelegationEntry defines an unbonding object with relevant
      metadata.
  cosmos.staking.v1beta1.Validator:
    type: object
    properties:
      operator_address:
        type: string
      consensus_pubkey:
        type: string
      jailed:
        type: boolean
        format: boolean
      status:
        type: integer
        format: int32
      tokens:
        type: string
      delegator_shares:
        type: string
      description:
        type: object
        properties:
          moniker:
            type: string
          identity:
            type: string
          website:
            type: string
          security_contact:
            type: string
          details:
            type: string
        description: Description defines a validator description.
      unbonding_height:
        type: string
        format: int64
      unbonding_time:
        type: string
        format: date-time
      commission:
        type: object
        properties:
          commission_rates:
            type: object
            properties:
              rate:
                type: string
              max_rate:
                type: string
              max_change_rate:
                type: string
            description: >-
              CommissionRates defines the initial commission rates to be used
              for creating

              a validator.
          update_time:
            type: string
            format: date-time
        description: Commission defines commission parameters for a given validator.
      min_self_delegation:
        type: string
    description: >-
      Validator defines a validator, together with the total amount of the

      Validator's bond shares and their exchange rate to coins. Slashing results
      in

      a decrease in the exchange rate, allowing correct calculation of future

      undelegations without iterating over delegators. When coins are delegated
      to

      this validator, the validator is credited with a delegation whose number
      of

      bond shares is based on the amount of coins delegated divided by the
      current

      exchange rate. Voting power can be calculated as total bonded shares

      multiplied by exchange rate.
  tendermint.types.BlockID:
    type: object
    properties:
      hash:
        type: string
        format: byte
      part_set_header:
        type: object
        properties:
          total:
            type: integer
            format: int64
          hash:
            type: string
            format: byte
        title: PartsetHeader
    title: BlockID
  tendermint.types.Header:
    type: object
    properties:
      version:
        title: basic block info
        type: object
        properties:
          block:
            type: string
            format: uint64
          app:
            type: string
            format: uint64
        description: >-
          Consensus captures the consensus rules for processing a block in the
          blockchain,

          including all blockchain data structures and the rules of the
          application's

          state transition machine.
      chain_id:
        type: string
      height:
        type: string
        format: int64
      time:
        type: string
        format: date-time
      last_block_id:
        title: prev block info
        type: object
        properties:
          hash:
            type: string
            format: byte
          part_set_header:
            type: object
            properties:
              total:
                type: integer
                format: int64
              hash:
                type: string
                format: byte
            title: PartsetHeader
      last_commit_hash:
        type: string
        format: byte
        title: hashes of block data
      data_hash:
        type: string
        format: byte
      validators_hash:
        type: string
        format: byte
        title: hashes from the app output from the prev block
      next_validators_hash:
        type: string
        format: byte
      consensus_hash:
        type: string
        format: byte
      app_hash:
        type: string
        format: byte
      last_results_hash:
        type: string
        format: byte
      evidence_hash:
        type: string
        format: byte
        title: consensus info
      proposer_address:
        type: string
        format: byte
    description: Header defines the structure of a Tendermint block header.
  tendermint.types.PartSetHeader:
    type: object
    properties:
      total:
        type: integer
        format: int64
      hash:
        type: string
        format: byte
    title: PartsetHeader
  tendermint.version.Consensus:
    type: object
    properties:
      block:
        type: string
        format: uint64
      app:
        type: string
        format: uint64
    description: >-
      Consensus captures the consensus rules for processing a block in the
      blockchain,

      including all blockchain data structures and the rules of the
      application's

      state transition machine.
  cosmos.upgrade.v1beta1.Plan:
    type: object
    properties:
      name:
        type: string
        description: >-
          Sets the name for the upgrade. This name will be used by the upgraded

          version of the software to apply any special "on-upgrade" commands
          during

          the first BeginBlock method after the upgrade is applied. It is also
          used

          to detect whether a software version can handle a given upgrade. If no

          upgrade handler with this name has been set in the software, it will
          be

          assumed that the software is out-of-date when the upgrade Time or
          Height is

          reached and the software will exit.
      time:
        type: string
        format: date-time
        description: |-
          The time after which the upgrade must be performed.
          Leave set to its zero value to use a pre-defined Height instead.
      height:
        type: string
        format: int64
        description: |-
          The height at which the upgrade must be performed.
          Only used if Time is not set.
      info:
        type: string
        title: |-
          Any application specific upgrade info to be included on-chain
          such as a git commit that validators could automatically upgrade to
    description: >-
      Plan specifies information about a planned upgrade and when it should
      occur.
  cosmos.upgrade.v1beta1.QueryAppliedPlanResponse:
    type: object
    properties:
      height:
        type: string
        format: int64
        description: height is the block height at which the plan was applied.
    description: >-
      QueryAppliedPlanResponse is the response type for the Query/AppliedPlan
      RPC

      method.
  cosmos.upgrade.v1beta1.QueryCurrentPlanResponse:
    type: object
    properties:
      plan:
        description: plan is the current upgrade plan.
        type: object
        properties:
          name:
            type: string
            description: >-
              Sets the name for the upgrade. This name will be used by the
              upgraded

              version of the software to apply any special "on-upgrade" commands
              during

              the first BeginBlock method after the upgrade is applied. It is
              also used

              to detect whether a software version can handle a given upgrade.
              If no

              upgrade handler with this name has been set in the software, it
              will be

              assumed that the software is out-of-date when the upgrade Time or
              Height is

              reached and the software will exit.
          time:
            type: string
            format: date-time
            description: |-
              The time after which the upgrade must be performed.
              Leave set to its zero value to use a pre-defined Height instead.
          height:
            type: string
            format: int64
            description: |-
              The height at which the upgrade must be performed.
              Only used if Time is not set.
          info:
            type: string
            title: >-
              Any application specific upgrade info to be included on-chain

              such as a git commit that validators could automatically upgrade
              to
    description: >-
      QueryCurrentPlanResponse is the response type for the Query/CurrentPlan
      RPC

      method.
  ibc.channel.Channel:
    type: object
    properties:
      state:
        title: current state of the channel end
        type: string
        enum:
          - STATE_UNINITIALIZED_UNSPECIFIED
          - STATE_INIT
          - STATE_TRYOPEN
          - STATE_OPEN
          - STATE_CLOSED
        default: STATE_UNINITIALIZED_UNSPECIFIED
        description: |-
          State defines if a channel is in one of the following states:
          CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

           - STATE_UNINITIALIZED_UNSPECIFIED: Default State
           - STATE_INIT: A channel has just started the opening handshake.
           - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
           - STATE_OPEN: A channel has completed the handshake. Open channels are
          ready to send and receive packets.
           - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
          packets.
      ordering:
        title: whether the channel is ordered or unordered
        type: string
        enum:
          - ORDER_NONE_UNSPECIFIED
          - ORDER_UNORDERED
          - ORDER_ORDERED
        default: ORDER_NONE_UNSPECIFIED
        description: |-
          - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
           - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
          which they were sent.
           - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
      counterparty:
        title: counterparty channel end
        type: object
        properties:
          port_id:
            type: string
            description: >-
              port on the counterparty chain which owns the other end of the
              channel.
          channel_id:
            type: string
            title: channel end on the counterparty chain
      connection_hops:
        type: array
        items:
          type: string
        title: |-
          list of connection identifiers, in order, along which packets sent on
          this channel will travel
      version:
        type: string
        title: "opaque channel version, which is agreed upon during the handshake"
    description: |-
      Channel defines pipeline for exactly-once packet delivery between specific
      modules on separate blockchains, which has at least one end capable of
      sending packets and one end capable of receiving packets.
  ibc.channel.Counterparty:
    type: object
    properties:
      port_id:
        type: string
        description: >-
          port on the counterparty chain which owns the other end of the
          channel.
      channel_id:
        type: string
        title: channel end on the counterparty chain
    title: Counterparty defines a channel end counterparty
  ibc.channel.IdentifiedChannel:
    type: object
    properties:
      state:
        title: current state of the channel end
        type: string
        enum:
          - STATE_UNINITIALIZED_UNSPECIFIED
          - STATE_INIT
          - STATE_TRYOPEN
          - STATE_OPEN
          - STATE_CLOSED
        default: STATE_UNINITIALIZED_UNSPECIFIED
        description: |-
          State defines if a channel is in one of the following states:
          CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

           - STATE_UNINITIALIZED_UNSPECIFIED: Default State
           - STATE_INIT: A channel has just started the opening handshake.
           - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
           - STATE_OPEN: A channel has completed the handshake. Open channels are
          ready to send and receive packets.
           - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
          packets.
      ordering:
        title: whether the channel is ordered or unordered
        type: string
        enum:
          - ORDER_NONE_UNSPECIFIED
          - ORDER_UNORDERED
          - ORDER_ORDERED
        default: ORDER_NONE_UNSPECIFIED
        description: |-
          - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
           - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
          which they were sent.
           - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
      counterparty:
        title: counterparty channel end
        type: object
        properties:
          port_id:
            type: string
            description: >-
              port on the counterparty chain which owns the other end of the
              channel.
          channel_id:
            type: string
            title: channel end on the counterparty chain
      connection_hops:
        type: array
        items:
          type: string
        title: |-
          list of connection identifiers, in order, along which packets sent on
          this channel will travel
      version:
        type: string
        title: "opaque channel version, which is agreed upon during the handshake"
      port_id:
        type: string
        title: port identifier
      channel_id:
        type: string
        title: channel identifier
    description: |-
      IdentifiedChannel defines a channel with additional port and channel
      identifier fields.
  ibc.channel.Order:
    type: string
    enum:
      - ORDER_NONE_UNSPECIFIED
      - ORDER_UNORDERED
      - ORDER_ORDERED
    default: ORDER_NONE_UNSPECIFIED
    description: |-
      - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
       - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
      which they were sent.
       - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
    title: Order defines if a channel is ORDERED or UNORDERED
  ibc.channel.PacketAckCommitment:
    type: object
    properties:
      port_id:
        type: string
        description: channel port identifier.
      channel_id:
        type: string
        description: channel unique identifier.
      sequence:
        type: string
        format: uint64
        description: packet sequence.
      hash:
        type: string
        format: byte
        description: packet commitment hash.
    description: >-
      PacketAckCommitment defines the genesis type necessary to retrieve and
      store

      acknowlegements.
  ibc.channel.QueryChannelClientStateResponse:
    type: object
    properties:
      identified_client_state:
        title: client state associated with the channel
        type: object
        properties:
          client_id:
            type: string
            title: client identifier
          client_state:
            title: client state
            type: object
            properties:
              type_url:
                type: string
                description: >-
                  A URL/resource name that uniquely identifies the type of the
                  serialized

                  protocol buffer message. This string must contain at least

                  one "/" character. The last segment of the URL's path must
                  represent

                  the fully qualified name of the type (as in

                  `path/google.protobuf.Duration`). The name should be in a
                  canonical form

                  (e.g., leading "." is not accepted).


                  In practice, teams usually precompile into the binary all
                  types that they

                  expect it to use in the context of Any. However, for URLs
                  which use the

                  scheme `http`, `https`, or no scheme, one can optionally set
                  up a type

                  server that maps type URLs to message definitions as follows:


                  * If no scheme is provided, `https` is assumed.

                  * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                    value in binary format, or produce an error.
                  * Applications are allowed to cache lookup results based on
                  the
                    URL, or have them precompiled into a binary to avoid any
                    lookup. Therefore, binary compatibility needs to be preserved
                    on changes to types. (Use versioned type names to manage
                    breaking changes.)

                  Note: this functionality is not currently available in the
                  official

                  protobuf release, and it is not used for type URLs beginning
                  with

                  type.googleapis.com.


                  Schemes other than `http`, `https` (or the empty scheme) might
                  be

                  used with implementation specific semantics.
              value:
                type: string
                format: byte
                description: >-
                  Must be a valid serialized protocol buffer of the above
                  specified type.
            description: >-
              `Any` contains an arbitrary serialized protocol buffer message
              along with a

              URL that describes the type of the serialized message.


              Protobuf library provides support to pack/unpack Any values in the
              form

              of utility functions or additional generated methods of the Any
              type.


              Example 1: Pack and unpack a message in C++.

                  Foo foo = ...;
                  Any any;
                  any.PackFrom(foo);
                  ...
                  if (any.UnpackTo(&foo)) {
                    ...
                  }

              Example 2: Pack and unpack a message in Java.

                  Foo foo = ...;
                  Any any = Any.pack(foo);
                  ...
                  if (any.is(Foo.class)) {
                    foo = any.unpack(Foo.class);
                  }

               Example 3: Pack and unpack a message in Python.

                  foo = Foo(...)
                  any = Any()
                  any.Pack(foo)
                  ...
                  if any.Is(Foo.DESCRIPTOR):
                    any.Unpack(foo)
                    ...

               Example 4: Pack and unpack a message in Go

                   foo := &pb.Foo{...}
                   any, err := ptypes.MarshalAny(foo)
                   ...
                   foo := &pb.Foo{}
                   if err := ptypes.UnmarshalAny(any, foo); err != nil {
                     ...
                   }

              The pack methods provided by protobuf library will by default use

              'type.googleapis.com/full.type.name' as the type URL and the
              unpack

              methods only use the fully qualified type name after the last '/'

              in the type URL, for example "foo.bar.com/x/y.z" will yield type

              name "y.z".



              JSON

              ====

              The JSON representation of an `Any` value uses the regular

              representation of the deserialized, embedded message, with an

              additional field `@type` which contains the type URL. Example:

                  package google.profile;
                  message Person {
                    string first_name = 1;
                    string last_name = 2;
                  }

                  {
                    "@type": "type.googleapis.com/google.profile.Person",
                    "firstName": <string>,
                    "lastName": <string>
                  }

              If the embedded message type is well-known and has a custom JSON

              representation, that representation will be embedded adding a
              field

              `value` which holds the custom JSON in addition to the `@type`

              field. Example (for message [google.protobuf.Duration][]):

                  {
                    "@type": "type.googleapis.com/google.protobuf.Duration",
                    "value": "1.212s"
                  }
        description: |-
          IdentifiedClientState defines a client state with an additional client
          identifier field.
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryChannelClientStateResponse is the Response type for the
      Query/QueryChannelClientState RPC method
  ibc.channel.QueryChannelConsensusStateResponse:
    type: object
    properties:
      consensus_state:
        title: consensus state associated with the channel
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := ptypes.MarshalAny(foo)
               ...
               foo := &pb.Foo{}
               if err := ptypes.UnmarshalAny(any, foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".



          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      client_id:
        type: string
        title: client ID associated with the consensus state
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryChannelClientStateResponse is the Response type for the
      Query/QueryChannelClientState RPC method
  ibc.channel.QueryChannelResponse:
    type: object
    properties:
      channel:
        title: channel associated with the request identifiers
        type: object
        properties:
          state:
            title: current state of the channel end
            type: string
            enum:
              - STATE_UNINITIALIZED_UNSPECIFIED
              - STATE_INIT
              - STATE_TRYOPEN
              - STATE_OPEN
              - STATE_CLOSED
            default: STATE_UNINITIALIZED_UNSPECIFIED
            description: |-
              State defines if a channel is in one of the following states:
              CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

               - STATE_UNINITIALIZED_UNSPECIFIED: Default State
               - STATE_INIT: A channel has just started the opening handshake.
               - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
               - STATE_OPEN: A channel has completed the handshake. Open channels are
              ready to send and receive packets.
               - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
              packets.
          ordering:
            title: whether the channel is ordered or unordered
            type: string
            enum:
              - ORDER_NONE_UNSPECIFIED
              - ORDER_UNORDERED
              - ORDER_ORDERED
            default: ORDER_NONE_UNSPECIFIED
            description: |-
              - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
               - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
              which they were sent.
               - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
          counterparty:
            title: counterparty channel end
            type: object
            properties:
              port_id:
                type: string
                description: >-
                  port on the counterparty chain which owns the other end of the
                  channel.
              channel_id:
                type: string
                title: channel end on the counterparty chain
          connection_hops:
            type: array
            items:
              type: string
            title: >-
              list of connection identifiers, in order, along which packets sent
              on

              this channel will travel
          version:
            type: string
            title: "opaque channel version, which is agreed upon during the handshake"
        description: >-
          Channel defines pipeline for exactly-once packet delivery between
          specific

          modules on separate blockchains, which has at least one end capable of

          sending packets and one end capable of receiving packets.
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    description: >-
      QueryChannelResponse is the response type for the Query/Channel RPC
      method.

      Besides the Channel end, it includes a proof and the height from which the

      proof was retrieved.
  ibc.channel.QueryChannelsResponse:
    type: object
    properties:
      channels:
        type: array
        items:
          type: object
          properties:
            state:
              title: current state of the channel end
              type: string
              enum:
                - STATE_UNINITIALIZED_UNSPECIFIED
                - STATE_INIT
                - STATE_TRYOPEN
                - STATE_OPEN
                - STATE_CLOSED
              default: STATE_UNINITIALIZED_UNSPECIFIED
              description: |-
                State defines if a channel is in one of the following states:
                CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

                 - STATE_UNINITIALIZED_UNSPECIFIED: Default State
                 - STATE_INIT: A channel has just started the opening handshake.
                 - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
                 - STATE_OPEN: A channel has completed the handshake. Open channels are
                ready to send and receive packets.
                 - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
                packets.
            ordering:
              title: whether the channel is ordered or unordered
              type: string
              enum:
                - ORDER_NONE_UNSPECIFIED
                - ORDER_UNORDERED
                - ORDER_ORDERED
              default: ORDER_NONE_UNSPECIFIED
              description: |-
                - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
                 - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
                which they were sent.
                 - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
            counterparty:
              title: counterparty channel end
              type: object
              properties:
                port_id:
                  type: string
                  description: >-
                    port on the counterparty chain which owns the other end of
                    the channel.
                channel_id:
                  type: string
                  title: channel end on the counterparty chain
            connection_hops:
              type: array
              items:
                type: string
              title: >-
                list of connection identifiers, in order, along which packets
                sent on

                this channel will travel
            version:
              type: string
              title: >-
                opaque channel version, which is agreed upon during the
                handshake
            port_id:
              type: string
              title: port identifier
            channel_id:
              type: string
              title: channel identifier
          description: |-
            IdentifiedChannel defines a channel with additional port and channel
            identifier fields.
        description: list of stored channels of the chain.
      pagination:
        title: pagination response
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
        description: |-
          PageResponse is to be embedded in gRPC response messages where the
          corresponding request message has used PageRequest.

           message SomeResponse {
                   repeated Bar results = 1;
                   PageResponse page = 2;
           }
      height:
        title: query block height
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    description: >-
      QueryChannelsResponse is the response type for the Query/Channels RPC
      method.
  ibc.channel.QueryConnectionChannelsResponse:
    type: object
    properties:
      channels:
        type: array
        items:
          type: object
          properties:
            state:
              title: current state of the channel end
              type: string
              enum:
                - STATE_UNINITIALIZED_UNSPECIFIED
                - STATE_INIT
                - STATE_TRYOPEN
                - STATE_OPEN
                - STATE_CLOSED
              default: STATE_UNINITIALIZED_UNSPECIFIED
              description: |-
                State defines if a channel is in one of the following states:
                CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

                 - STATE_UNINITIALIZED_UNSPECIFIED: Default State
                 - STATE_INIT: A channel has just started the opening handshake.
                 - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
                 - STATE_OPEN: A channel has completed the handshake. Open channels are
                ready to send and receive packets.
                 - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
                packets.
            ordering:
              title: whether the channel is ordered or unordered
              type: string
              enum:
                - ORDER_NONE_UNSPECIFIED
                - ORDER_UNORDERED
                - ORDER_ORDERED
              default: ORDER_NONE_UNSPECIFIED
              description: |-
                - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
                 - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
                which they were sent.
                 - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
            counterparty:
              title: counterparty channel end
              type: object
              properties:
                port_id:
                  type: string
                  description: >-
                    port on the counterparty chain which owns the other end of
                    the channel.
                channel_id:
                  type: string
                  title: channel end on the counterparty chain
            connection_hops:
              type: array
              items:
                type: string
              title: >-
                list of connection identifiers, in order, along which packets
                sent on

                this channel will travel
            version:
              type: string
              title: >-
                opaque channel version, which is agreed upon during the
                handshake
            port_id:
              type: string
              title: port identifier
            channel_id:
              type: string
              title: channel identifier
          description: |-
            IdentifiedChannel defines a channel with additional port and channel
            identifier fields.
        description: list of channels associated with a connection.
      pagination:
        title: pagination response
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
        description: |-
          PageResponse is to be embedded in gRPC response messages where the
          corresponding request message has used PageRequest.

           message SomeResponse {
                   repeated Bar results = 1;
                   PageResponse page = 2;
           }
      height:
        title: query block height
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryConnectionChannelsResponse is the Response type for the
      Query/QueryConnectionChannels RPC method
  ibc.channel.QueryNextSequenceReceiveResponse:
    type: object
    properties:
      next_sequence_receive:
        type: string
        format: uint64
        title: next sequence receive number
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QuerySequenceResponse is the request type for the
      Query/QueryNextSequenceReceiveResponse RPC method
  ibc.channel.QueryPacketAcknowledgementResponse:
    type: object
    properties:
      acknowledgement:
        type: string
        format: byte
        title: packet associated with the request fields
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryPacketAcknowledgementResponse defines the client query response for a
      packet which also includes a proof, its path and the height form which the
      proof was retrieved
  ibc.channel.QueryPacketCommitmentResponse:
    type: object
    properties:
      commitment:
        type: string
        format: byte
        title: packet associated with the request fields
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: >-
      QueryPacketCommitmentResponse defines the client query response for a
      packet

      which also includes a proof, its path and the height form which the proof
      was

      retrieved
  ibc.channel.QueryPacketCommitmentsResponse:
    type: object
    properties:
      commitments:
        type: array
        items:
          type: object
          properties:
            port_id:
              type: string
              description: channel port identifier.
            channel_id:
              type: string
              description: channel unique identifier.
            sequence:
              type: string
              format: uint64
              description: packet sequence.
            hash:
              type: string
              format: byte
              description: packet commitment hash.
          description: >-
            PacketAckCommitment defines the genesis type necessary to retrieve
            and store

            acknowlegements.
      pagination:
        title: pagination response
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
        description: |-
          PageResponse is to be embedded in gRPC response messages where the
          corresponding request message has used PageRequest.

           message SomeResponse {
                   repeated Bar results = 1;
                   PageResponse page = 2;
           }
      height:
        title: query block height
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryPacketCommitmentsResponse is the request type for the
      Query/QueryPacketCommitments RPC method
  ibc.channel.QueryUnreceivedPacketsResponse:
    type: object
    properties:
      sequences:
        type: array
        items:
          type: string
          format: uint64
        title: list of unreceived packet sequences
      height:
        title: query block height
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryUnreceivedPacketsResponse is the response type for the
      Query/UnreceivedPacketCommitments RPC method
  ibc.channel.QueryUnrelayedAcksResponse:
    type: object
    properties:
      sequences:
        type: array
        items:
          type: string
          format: uint64
        title: list of unrelayed acknowledgement sequences
      height:
        title: query block height
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryUnrelayedAcksResponse is the response type for the
      Query/UnrelayedAcks RPC method
  ibc.channel.State:
    type: string
    enum:
      - STATE_UNINITIALIZED_UNSPECIFIED
      - STATE_INIT
      - STATE_TRYOPEN
      - STATE_OPEN
      - STATE_CLOSED
    default: STATE_UNINITIALIZED_UNSPECIFIED
    description: |-
      State defines if a channel is in one of the following states:
      CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.

       - STATE_UNINITIALIZED_UNSPECIFIED: Default State
       - STATE_INIT: A channel has just started the opening handshake.
       - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.
       - STATE_OPEN: A channel has completed the handshake. Open channels are
      ready to send and receive packets.
       - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive
      packets.
  ibc.client.Height:
    type: object
    properties:
      version_number:
        type: string
        format: uint64
        title: the version that the client is currently on
      version_height:
        type: string
        format: uint64
        title: the height within the given version
    description: >-
      Normally the VersionHeight is incremented at each height while keeping version

      number the same However some consensus algorithms may choose to reset the

      height in certain conditions e.g. hard forks, state-machine breaking
      changes

      In these cases, the version number is incremented so that height continues
      to

      be monitonically increasing even as the VersionHeight gets reset
    title: >-
      Height is a monotonically increasing data type

      that can be compared against another Height for the purposes of updating
      and

      freezing clients
  ibc.client.IdentifiedClientState:
    type: object
    properties:
      client_id:
        type: string
        title: client identifier
      client_state:
        title: client state
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := ptypes.MarshalAny(foo)
               ...
               foo := &pb.Foo{}
               if err := ptypes.UnmarshalAny(any, foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".



          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
    description: |-
      IdentifiedClientState defines a client state with an additional client
      identifier field.
  ibc.client.ConsensusStateWithHeight:
    type: object
    properties:
      height:
        title: consensus state height
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
      consensus_state:
        title: consensus state
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := ptypes.MarshalAny(foo)
               ...
               foo := &pb.Foo{}
               if err := ptypes.UnmarshalAny(any, foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".



          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
    description: >-
      ConsensusStateWithHeight defines a consensus state with an additional
      height field.
  ibc.client.QueryClientStateResponse:
    type: object
    properties:
      client_state:
        title: client state associated with the request identifier
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := ptypes.MarshalAny(foo)
               ...
               foo := &pb.Foo{}
               if err := ptypes.UnmarshalAny(any, foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".



          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    description: >-
      QueryClientStateResponse is the response type for the Query/ClientState
      RPC

      method. Besides the client state, it includes a proof and the height from

      which the proof was retrieved.
  ibc.client.QueryClientStatesResponse:
    type: object
    properties:
      client_states:
        type: array
        items:
          type: object
          properties:
            client_id:
              type: string
              title: client identifier
            client_state:
              title: client state
              type: object
              properties:
                type_url:
                  type: string
                  description: >-
                    A URL/resource name that uniquely identifies the type of the
                    serialized

                    protocol buffer message. This string must contain at least

                    one "/" character. The last segment of the URL's path must
                    represent

                    the fully qualified name of the type (as in

                    `path/google.protobuf.Duration`). The name should be in a
                    canonical form

                    (e.g., leading "." is not accepted).


                    In practice, teams usually precompile into the binary all
                    types that they

                    expect it to use in the context of Any. However, for URLs
                    which use the

                    scheme `http`, `https`, or no scheme, one can optionally set
                    up a type

                    server that maps type URLs to message definitions as
                    follows:


                    * If no scheme is provided, `https` is assumed.

                    * An HTTP GET on the URL must yield a
                    [google.protobuf.Type][]
                      value in binary format, or produce an error.
                    * Applications are allowed to cache lookup results based on
                    the
                      URL, or have them precompiled into a binary to avoid any
                      lookup. Therefore, binary compatibility needs to be preserved
                      on changes to types. (Use versioned type names to manage
                      breaking changes.)

                    Note: this functionality is not currently available in the
                    official

                    protobuf release, and it is not used for type URLs beginning
                    with

                    type.googleapis.com.


                    Schemes other than `http`, `https` (or the empty scheme)
                    might be

                    used with implementation specific semantics.
                value:
                  type: string
                  format: byte
                  description: >-
                    Must be a valid serialized protocol buffer of the above
                    specified type.
              description: >-
                `Any` contains an arbitrary serialized protocol buffer message
                along with a

                URL that describes the type of the serialized message.


                Protobuf library provides support to pack/unpack Any values in
                the form

                of utility functions or additional generated methods of the Any
                type.


                Example 1: Pack and unpack a message in C++.

                    Foo foo = ...;
                    Any any;
                    any.PackFrom(foo);
                    ...
                    if (any.UnpackTo(&foo)) {
                      ...
                    }

                Example 2: Pack and unpack a message in Java.

                    Foo foo = ...;
                    Any any = Any.pack(foo);
                    ...
                    if (any.is(Foo.class)) {
                      foo = any.unpack(Foo.class);
                    }

                 Example 3: Pack and unpack a message in Python.

                    foo = Foo(...)
                    any = Any()
                    any.Pack(foo)
                    ...
                    if any.Is(Foo.DESCRIPTOR):
                      any.Unpack(foo)
                      ...

                 Example 4: Pack and unpack a message in Go

                     foo := &pb.Foo{...}
                     any, err := ptypes.MarshalAny(foo)
                     ...
                     foo := &pb.Foo{}
                     if err := ptypes.UnmarshalAny(any, foo); err != nil {
                       ...
                     }

                The pack methods provided by protobuf library will by default
                use

                'type.googleapis.com/full.type.name' as the type URL and the
                unpack

                methods only use the fully qualified type name after the last
                '/'

                in the type URL, for example "foo.bar.com/x/y.z" will yield type

                name "y.z".



                JSON

                ====

                The JSON representation of an `Any` value uses the regular

                representation of the deserialized, embedded message, with an

                additional field `@type` which contains the type URL. Example:

                    package google.profile;
                    message Person {
                      string first_name = 1;
                      string last_name = 2;
                    }

                    {
                      "@type": "type.googleapis.com/google.profile.Person",
                      "firstName": <string>,
                      "lastName": <string>
                    }

                If the embedded message type is well-known and has a custom JSON

                representation, that representation will be embedded adding a
                field

                `value` which holds the custom JSON in addition to the `@type`

                field. Example (for message [google.protobuf.Duration][]):

                    {
                      "@type": "type.googleapis.com/google.protobuf.Duration",
                      "value": "1.212s"
                    }
          description: >-
            IdentifiedClientState defines a client state with an additional
            client

            identifier field.
        description: list of stored ClientStates of the chain.
      pagination:
        title: pagination response
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
        description: |-
          PageResponse is to be embedded in gRPC response messages where the
          corresponding request message has used PageRequest.

           message SomeResponse {
                   repeated Bar results = 1;
                   PageResponse page = 2;
           }
    description: >-
      QueryClientStatesResponse is the response type for the Query/ClientStates
      RPC

      method.
  ibc.client.QueryConsensusStateResponse:
    type: object
    properties:
      consensus_state:
        title: >-
          consensus state associated with the client identifier at the given
          height
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := ptypes.MarshalAny(foo)
               ...
               foo := &pb.Foo{}
               if err := ptypes.UnmarshalAny(any, foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".



          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: >-
      QueryConsensusStateResponse is the response type for the
      Query/ConsensusState

      RPC method
  ibc.client.QueryConsensusStatesResponse:
    type: object
    properties:
      consensus_states:
        type: array
        items:
          type: object
          properties:
            height:
              title: consensus state height
              type: object
              properties:
                version_number:
                  type: string
                  format: uint64
                  title: the version that the client is currently on
                version_height:
                  type: string
                  format: uint64
                  title: the height within the given version
              description: >-
                Normally the VersionHeight is incremented at each height while
                keeping version

                number the same However some consensus algorithms may choose to
                reset the

                height in certain conditions e.g. hard forks, state-machine
                breaking changes

                In these cases, the version number is incremented so that height
                continues to

                be monitonically increasing even as the VersionHeight gets reset
            consensus_state:
              title: consensus state
              type: object
              properties:
                type_url:
                  type: string
                  description: >-
                    A URL/resource name that uniquely identifies the type of the
                    serialized

                    protocol buffer message. This string must contain at least

                    one "/" character. The last segment of the URL's path must
                    represent

                    the fully qualified name of the type (as in

                    `path/google.protobuf.Duration`). The name should be in a
                    canonical form

                    (e.g., leading "." is not accepted).


                    In practice, teams usually precompile into the binary all
                    types that they

                    expect it to use in the context of Any. However, for URLs
                    which use the

                    scheme `http`, `https`, or no scheme, one can optionally set
                    up a type

                    server that maps type URLs to message definitions as
                    follows:


                    * If no scheme is provided, `https` is assumed.

                    * An HTTP GET on the URL must yield a
                    [google.protobuf.Type][]
                      value in binary format, or produce an error.
                    * Applications are allowed to cache lookup results based on
                    the
                      URL, or have them precompiled into a binary to avoid any
                      lookup. Therefore, binary compatibility needs to be preserved
                      on changes to types. (Use versioned type names to manage
                      breaking changes.)

                    Note: this functionality is not currently available in the
                    official

                    protobuf release, and it is not used for type URLs beginning
                    with

                    type.googleapis.com.


                    Schemes other than `http`, `https` (or the empty scheme)
                    might be

                    used with implementation specific semantics.
                value:
                  type: string
                  format: byte
                  description: >-
                    Must be a valid serialized protocol buffer of the above
                    specified type.
              description: >-
                `Any` contains an arbitrary serialized protocol buffer message
                along with a

                URL that describes the type of the serialized message.


                Protobuf library provides support to pack/unpack Any values in
                the form

                of utility functions or additional generated methods of the Any
                type.


                Example 1: Pack and unpack a message in C++.

                    Foo foo = ...;
                    Any any;
                    any.PackFrom(foo);
                    ...
                    if (any.UnpackTo(&foo)) {
                      ...
                    }

                Example 2: Pack and unpack a message in Java.

                    Foo foo = ...;
                    Any any = Any.pack(foo);
                    ...
                    if (any.is(Foo.class)) {
                      foo = any.unpack(Foo.class);
                    }

                 Example 3: Pack and unpack a message in Python.

                    foo = Foo(...)
                    any = Any()
                    any.Pack(foo)
                    ...
                    if any.Is(Foo.DESCRIPTOR):
                      any.Unpack(foo)
                      ...

                 Example 4: Pack and unpack a message in Go

                     foo := &pb.Foo{...}
                     any, err := ptypes.MarshalAny(foo)
                     ...
                     foo := &pb.Foo{}
                     if err := ptypes.UnmarshalAny(any, foo); err != nil {
                       ...
                     }

                The pack methods provided by protobuf library will by default
                use

                'type.googleapis.com/full.type.name' as the type URL and the
                unpack

                methods only use the fully qualified type name after the last
                '/'

                in the type URL, for example "foo.bar.com/x/y.z" will yield type

                name "y.z".



                JSON

                ====

                The JSON representation of an `Any` value uses the regular

                representation of the deserialized, embedded message, with an

                additional field `@type` which contains the type URL. Example:

                    package google.profile;
                    message Person {
                      string first_name = 1;
                      string last_name = 2;
                    }

                    {
                      "@type": "type.googleapis.com/google.profile.Person",
                      "firstName": <string>,
                      "lastName": <string>
                    }

                If the embedded message type is well-known and has a custom JSON

                representation, that representation will be embedded adding a
                field

                `value` which holds the custom JSON in addition to the `@type`

                field. Example (for message [google.protobuf.Duration][]):

                    {
                      "@type": "type.googleapis.com/google.protobuf.Duration",
                      "value": "1.212s"
                    }
          description: >-
            ConsensusStateWithHeight defines a consensus state with an
            additional height field.
        title: consensus states associated with the identifier
      pagination:
        title: pagination response
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
        description: |-
          PageResponse is to be embedded in gRPC response messages where the
          corresponding request message has used PageRequest.

           message SomeResponse {
                   repeated Bar results = 1;
                   PageResponse page = 2;
           }
    title: |-
      QueryConsensusStatesResponse is the response type for the
      Query/ConsensusStates RPC method
  ibc.commitment.MerklePrefix:
    type: object
    properties:
      key_prefix:
        type: string
        format: byte
    title: |-
      MerklePrefix is merkle path prefixed to the key.
      The constructed key from the Path and the key will be append(Path.KeyPath,
      append(Path.KeyPrefix, key...))
  ibc.connection.ConnectionEnd:
    type: object
    properties:
      client_id:
        type: string
        description: client associated with this connection.
      versions:
        type: array
        items:
          type: string
        title: >-
          IBC version which can be utilised to determine encodings or protocols
          for

          channels or packets utilising this connection
      state:
        description: current state of the connection end.
        type: string
        enum:
          - STATE_UNINITIALIZED_UNSPECIFIED
          - STATE_INIT
          - STATE_TRYOPEN
          - STATE_OPEN
        default: STATE_UNINITIALIZED_UNSPECIFIED
      counterparty:
        description: counterparty chain associated with this connection.
        type: object
        properties:
          client_id:
            type: string
            description: >-
              identifies the client on the counterparty chain associated with a
              given

              connection.
          connection_id:
            type: string
            description: >-
              identifies the connection end on the counterparty chain associated
              with a

              given connection.
          prefix:
            title: commitment merkle prefix of the counterparty chain
            type: object
            properties:
              key_prefix:
                type: string
                format: byte
    description: >-
      ConnectionEnd defines a stateful object on a chain connected to another

      separate one. NOTE: there must only be 2 defined ConnectionEnds to
      establish

      a connection between two chains.
  ibc.connection.Counterparty:
    type: object
    properties:
      client_id:
        type: string
        description: >-
          identifies the client on the counterparty chain associated with a
          given

          connection.
      connection_id:
        type: string
        description: >-
          identifies the connection end on the counterparty chain associated
          with a

          given connection.
      prefix:
        title: commitment merkle prefix of the counterparty chain
        type: object
        properties:
          key_prefix:
            type: string
            format: byte
    description: >-
      Counterparty defines the counterparty chain associated with a connection
      end.
  ibc.connection.IdentifiedConnection:
    type: object
    properties:
      id:
        type: string
        description: connection identifier.
      client_id:
        type: string
        description: client associated with this connection.
      versions:
        type: array
        items:
          type: string
        title: >-
          IBC version which can be utilised to determine encodings or protocols
          for

          channels or packets utilising this connection
      state:
        description: current state of the connection end.
        type: string
        enum:
          - STATE_UNINITIALIZED_UNSPECIFIED
          - STATE_INIT
          - STATE_TRYOPEN
          - STATE_OPEN
        default: STATE_UNINITIALIZED_UNSPECIFIED
      counterparty:
        description: counterparty chain associated with this connection.
        type: object
        properties:
          client_id:
            type: string
            description: >-
              identifies the client on the counterparty chain associated with a
              given

              connection.
          connection_id:
            type: string
            description: >-
              identifies the connection end on the counterparty chain associated
              with a

              given connection.
          prefix:
            title: commitment merkle prefix of the counterparty chain
            type: object
            properties:
              key_prefix:
                type: string
                format: byte
    description: |-
      IdentifiedConnection defines a connection with additional connection
      identifier field.
  ibc.connection.QueryClientConnectionsResponse:
    type: object
    properties:
      connection_paths:
        type: array
        items:
          type: string
        description: slice of all the connection paths associated with a client.
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was generated
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryClientConnectionsResponse is the response type for the
      Query/ClientConnections RPC method
  ibc.connection.QueryConnectionClientStateResponse:
    type: object
    properties:
      identified_client_state:
        title: client state associated with the channel
        type: object
        properties:
          client_id:
            type: string
            title: client identifier
          client_state:
            title: client state
            type: object
            properties:
              type_url:
                type: string
                description: >-
                  A URL/resource name that uniquely identifies the type of the
                  serialized

                  protocol buffer message. This string must contain at least

                  one "/" character. The last segment of the URL's path must
                  represent

                  the fully qualified name of the type (as in

                  `path/google.protobuf.Duration`). The name should be in a
                  canonical form

                  (e.g., leading "." is not accepted).


                  In practice, teams usually precompile into the binary all
                  types that they

                  expect it to use in the context of Any. However, for URLs
                  which use the

                  scheme `http`, `https`, or no scheme, one can optionally set
                  up a type

                  server that maps type URLs to message definitions as follows:


                  * If no scheme is provided, `https` is assumed.

                  * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                    value in binary format, or produce an error.
                  * Applications are allowed to cache lookup results based on
                  the
                    URL, or have them precompiled into a binary to avoid any
                    lookup. Therefore, binary compatibility needs to be preserved
                    on changes to types. (Use versioned type names to manage
                    breaking changes.)

                  Note: this functionality is not currently available in the
                  official

                  protobuf release, and it is not used for type URLs beginning
                  with

                  type.googleapis.com.


                  Schemes other than `http`, `https` (or the empty scheme) might
                  be

                  used with implementation specific semantics.
              value:
                type: string
                format: byte
                description: >-
                  Must be a valid serialized protocol buffer of the above
                  specified type.
            description: >-
              `Any` contains an arbitrary serialized protocol buffer message
              along with a

              URL that describes the type of the serialized message.


              Protobuf library provides support to pack/unpack Any values in the
              form

              of utility functions or additional generated methods of the Any
              type.


              Example 1: Pack and unpack a message in C++.

                  Foo foo = ...;
                  Any any;
                  any.PackFrom(foo);
                  ...
                  if (any.UnpackTo(&foo)) {
                    ...
                  }

              Example 2: Pack and unpack a message in Java.

                  Foo foo = ...;
                  Any any = Any.pack(foo);
                  ...
                  if (any.is(Foo.class)) {
                    foo = any.unpack(Foo.class);
                  }

               Example 3: Pack and unpack a message in Python.

                  foo = Foo(...)
                  any = Any()
                  any.Pack(foo)
                  ...
                  if any.Is(Foo.DESCRIPTOR):
                    any.Unpack(foo)
                    ...

               Example 4: Pack and unpack a message in Go

                   foo := &pb.Foo{...}
                   any, err := ptypes.MarshalAny(foo)
                   ...
                   foo := &pb.Foo{}
                   if err := ptypes.UnmarshalAny(any, foo); err != nil {
                     ...
                   }

              The pack methods provided by protobuf library will by default use

              'type.googleapis.com/full.type.name' as the type URL and the
              unpack

              methods only use the fully qualified type name after the last '/'

              in the type URL, for example "foo.bar.com/x/y.z" will yield type

              name "y.z".



              JSON

              ====

              The JSON representation of an `Any` value uses the regular

              representation of the deserialized, embedded message, with an

              additional field `@type` which contains the type URL. Example:

                  package google.profile;
                  message Person {
                    string first_name = 1;
                    string last_name = 2;
                  }

                  {
                    "@type": "type.googleapis.com/google.profile.Person",
                    "firstName": <string>,
                    "lastName": <string>
                  }

              If the embedded message type is well-known and has a custom JSON

              representation, that representation will be embedded adding a
              field

              `value` which holds the custom JSON in addition to the `@type`

              field. Example (for message [google.protobuf.Duration][]):

                  {
                    "@type": "type.googleapis.com/google.protobuf.Duration",
                    "value": "1.212s"
                  }
        description: |-
          IdentifiedClientState defines a client state with an additional client
          identifier field.
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryConnectionClientStateResponse is the response type for the
      Query/ConnectionClientState RPC method
  ibc.connection.QueryConnectionConsensusStateResponse:
    type: object
    properties:
      consensus_state:
        title: consensus state associated with the channel
        type: object
        properties:
          type_url:
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
          value:
            type: string
            format: byte
            description: >-
              Must be a valid serialized protocol buffer of the above specified
              type.
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := ptypes.MarshalAny(foo)
               ...
               foo := &pb.Foo{}
               if err := ptypes.UnmarshalAny(any, foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".



          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      client_id:
        type: string
        title: client ID associated with the consensus state
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    title: |-
      QueryConnectionConsensusStateResponse is the response type for the
      Query/ConnectionConsensusState RPC method
  ibc.connection.QueryConnectionResponse:
    type: object
    properties:
      connection:
        title: connection associated with the request identifier
        type: object
        properties:
          client_id:
            type: string
            description: client associated with this connection.
          versions:
            type: array
            items:
              type: string
            title: >-
              IBC version which can be utilised to determine encodings or
              protocols for

              channels or packets utilising this connection
          state:
            description: current state of the connection end.
            type: string
            enum:
              - STATE_UNINITIALIZED_UNSPECIFIED
              - STATE_INIT
              - STATE_TRYOPEN
              - STATE_OPEN
            default: STATE_UNINITIALIZED_UNSPECIFIED
          counterparty:
            description: counterparty chain associated with this connection.
            type: object
            properties:
              client_id:
                type: string
                description: >-
                  identifies the client on the counterparty chain associated
                  with a given

                  connection.
              connection_id:
                type: string
                description: >-
                  identifies the connection end on the counterparty chain
                  associated with a

                  given connection.
              prefix:
                title: commitment merkle prefix of the counterparty chain
                type: object
                properties:
                  key_prefix:
                    type: string
                    format: byte
        description: >-
          ConnectionEnd defines a stateful object on a chain connected to
          another

          separate one. NOTE: there must only be 2 defined ConnectionEnds to
          establish

          a connection between two chains.
      proof:
        type: string
        format: byte
        title: merkle proof of existence
      proof_path:
        type: string
        title: merkle proof path
      proof_height:
        title: height at which the proof was retrieved
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    description: >-
      QueryConnectionResponse is the response type for the Query/Connection RPC

      method. Besides the connection end, it includes a proof and the height
      from

      which the proof was retrieved.
  ibc.connection.QueryConnectionsResponse:
    type: object
    properties:
      connections:
        type: array
        items:
          type: object
          properties:
            id:
              type: string
              description: connection identifier.
            client_id:
              type: string
              description: client associated with this connection.
            versions:
              type: array
              items:
                type: string
              title: >-
                IBC version which can be utilised to determine encodings or
                protocols for

                channels or packets utilising this connection
            state:
              description: current state of the connection end.
              type: string
              enum:
                - STATE_UNINITIALIZED_UNSPECIFIED
                - STATE_INIT
                - STATE_TRYOPEN
                - STATE_OPEN
              default: STATE_UNINITIALIZED_UNSPECIFIED
            counterparty:
              description: counterparty chain associated with this connection.
              type: object
              properties:
                client_id:
                  type: string
                  description: >-
                    identifies the client on the counterparty chain associated
                    with a given

                    connection.
                connection_id:
                  type: string
                  description: >-
                    identifies the connection end on the counterparty chain
                    associated with a

                    given connection.
                prefix:
                  title: commitment merkle prefix of the counterparty chain
                  type: object
                  properties:
                    key_prefix:
                      type: string
                      format: byte
          description: |-
            IdentifiedConnection defines a connection with additional connection
            identifier field.
        description: list of stored connections of the chain.
      pagination:
        title: pagination response
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
        description: |-
          PageResponse is to be embedded in gRPC response messages where the
          corresponding request message has used PageRequest.

           message SomeResponse {
                   repeated Bar results = 1;
                   PageResponse page = 2;
           }
      height:
        title: query block height
        type: object
        properties:
          version_number:
            type: string
            format: uint64
            title: the version that the client is currently on
          version_height:
            type: string
            format: uint64
            title: the height within the given version
        description: >-
          Normally the VersionHeight is incremented at each height while keeping
          version

          number the same However some consensus algorithms may choose to reset
          the

          height in certain conditions e.g. hard forks, state-machine breaking
          changes

          In these cases, the version number is incremented so that height
          continues to

          be monitonically increasing even as the VersionHeight gets reset
    description: >-
      QueryConnectionsResponse is the response type for the Query/Connections
      RPC

      method.
  ibc.connection.State:
    type: string
    enum:
      - STATE_UNINITIALIZED_UNSPECIFIED
      - STATE_INIT
      - STATE_TRYOPEN
      - STATE_OPEN
    default: STATE_UNINITIALIZED_UNSPECIFIED
    description: |-
      State defines if a connection is in one of the following states:
      INIT, TRYOPEN, OPEN or UNINITIALIZED.

       - STATE_UNINITIALIZED_UNSPECIFIED: Default State
       - STATE_INIT: A connection end has just started the opening handshake.
       - STATE_TRYOPEN: A connection end has acknowledged the handshake step on the counterparty
      chain.
       - STATE_OPEN: A connection end has completed the handshake.
  ibc.transfer.DenomTrace:
    type: object
    properties:
      path:
        type: string
        description: >-
          path defines the chain of port/channel identifiers used for tracing
          the

          source of the fungible token.
      base_denom:
        type: string
        description: base denomination of the relayed fungible token.
    description: >-
      DenomTrace contains the base denomination for ICS20 fungible tokens and
      the

      source tracing information path.
  ibc.transfer.Params:
    type: object
    properties:
      send_enabled:
        type: boolean
        format: boolean
        description: >-
          send_enabled enables or disables all cross-chain token transfers from
          this

          chain.
      receive_enabled:
        type: boolean
        format: boolean
        description: >-
          receive_enabled enables or disables all cross-chain token transfers to
          this

          chain.
    description: >-
      Params defines the set of IBC transfer parameters.

      NOTE: To prevent a single token from being transferred, set the

      TransfersEnabled parameter to true and then set the bank module's
      SendEnabled

      parameter for the denomination to false.
  ibc.transfer.QueryDenomTraceResponse:
    type: object
    properties:
      denom_trace:
        description: denom_trace returns the requested denomination trace information.
        type: object
        properties:
          path:
            type: string
            description: >-
              path defines the chain of port/channel identifiers used for
              tracing the

              source of the fungible token.
          base_denom:
            type: string
            description: base denomination of the relayed fungible token.
    description: |-
      QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC
      method.
  ibc.transfer.QueryDenomTracesResponse:
    type: object
    properties:
      denom_traces:
        type: array
        items:
          type: object
          properties:
            path:
              type: string
              description: >-
                path defines the chain of port/channel identifiers used for
                tracing the

                source of the fungible token.
            base_denom:
              type: string
              description: base denomination of the relayed fungible token.
          description: >-
            DenomTrace contains the base denomination for ICS20 fungible tokens
            and the

            source tracing information path.
        description: denom_traces returns all denominations trace information.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            title: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: >-
      QueryConnectionsResponse is the response type for the Query/DenomTraces
      RPC

      method.
  ibc.transfer.QueryParamsResponse:
    type: object
    properties:
      params:
        description: params defines the parameters of the module.
        type: object
        properties:
          send_enabled:
            type: boolean
            format: boolean
            description: >-
              send_enabled enables or disables all cross-chain token transfers
              from this

              chain.
          receive_enabled:
            type: boolean
            format: boolean
            description: >-
              receive_enabled enables or disables all cross-chain token
              transfers to this

              chain.
    description: QueryParamsResponse is the response type for the Query/Params RPC method.
